OSDN Git Service

make DalvikRunner ignore .#Foo.java files
authorBrian Carlstrom <bdc@google.com>
Tue, 16 Mar 2010 16:46:48 +0000 (09:46 -0700)
committerBrian Carlstrom <bdc@google.com>
Tue, 16 Mar 2010 17:37:25 +0000 (10:37 -0700)
Emacs makes hidden bogus symlinks for open modified files such as
".#Foo.java -> user@host.pid:rand" which I'm guessing are to identify
the owning user/host/process. Unfortunately, DalvikRunner was picking
these up as source and trying to compile them.

This change makes NamingPatternCodeFinder ignore these. In order to
avoid duplicating this in all the subclasses, the subclasses now call
super.matches as a first pass. Now subclasses only apply any
additional filtering they want. MainFinder.matches was deleted since
it wasn't adding any new restrictions.

We arguably could add a better starting filter perhaps, but skipping
dot files seems a reasonable first stem.

Change-Id: Ic9f5ec0bb629d5e1bc25a5b80a6619a64285d2b0

libcore/tools/runner/java/dalvik/runner/CaliperFinder.java
libcore/tools/runner/java/dalvik/runner/JUnitFinder.java
libcore/tools/runner/java/dalvik/runner/MainFinder.java
libcore/tools/runner/java/dalvik/runner/NamingPatternCodeFinder.java

index 3609471..1facf88 100644 (file)
@@ -25,7 +25,7 @@ import java.io.File;
 class CaliperFinder extends NamingPatternCodeFinder {
 
     @Override protected boolean matches(File file) {
-        return file.getName().endsWith("Benchmark.java");
+        return super.matches(file) && file.getName().endsWith("Benchmark.java");
     }
 
     @Override protected String testName(File file) {
index 131a8cf..ba80ac1 100644 (file)
@@ -24,7 +24,7 @@ import java.io.File;
 class JUnitFinder extends NamingPatternCodeFinder {
 
     @Override protected boolean matches(File file) {
-        return file.getName().endsWith("Test.java");
+        return super.matches(file) && file.getName().endsWith("Test.java");
     }
 
     // TODO: try to get names for each method?
index 282969f..0923f53 100644 (file)
@@ -23,10 +23,6 @@ import java.io.File;
  */
 class MainFinder extends NamingPatternCodeFinder {
 
-    @Override protected boolean matches(File file) {
-        return file.getName().endsWith(".java");
-    }
-
     @Override protected String testName(File file) {
         return "main";
     }
index 19c9df2..ae8309f 100644 (file)
@@ -44,7 +44,8 @@ abstract class NamingPatternCodeFinder implements CodeFinder {
      * Returns true if {@code file} contains a test class of this type.
      */
     protected boolean matches(File file) {
-        return file.getName().endsWith(".java");
+        return (!file.getName().startsWith(".")
+                && file.getName().endsWith(".java"));
     }
 
     protected abstract String testName(File file);