Index: /trunk/ProjectFortress/src/com/sun/fortress/tests/unit_tests/FileTests.java
===================================================================
--- /trunk/ProjectFortress/src/com/sun/fortress/tests/unit_tests/FileTests.java (revision 3886)
+++ /trunk/ProjectFortress/src/com/sun/fortress/tests/unit_tests/FileTests.java (revision 3898)
@@ -61,5 +61,5 @@
         else return dir + "/" + file;
     }
-    
+
     public static class BaseTest extends TestCase {
         /**
@@ -457,5 +457,5 @@
 
         static boolean whinedAboutTimingIssues = false;
-        
+
         public void testFile() throws Throwable {
             String scriptName = ProjectProperties.FORTRESS_AUTOHOME
@@ -485,7 +485,7 @@
                 env.put("FORTRESS_HOME", ProjectProperties.FORTRESS_AUTOHOME);
             }
-            
+
             long start_time = System.currentTimeMillis();
-            
+
             Process p = pb.start();
             InputStream err = p.getErrorStream();
@@ -503,7 +503,7 @@
             f_err.join();
             int exitValue = p.waitFor();
-            
+
             long stop_time = System.currentTimeMillis();
-            
+
             String s_out = cached_out.toString();
             String s_err = cached_err.toString();
@@ -543,5 +543,5 @@
                        // do nothing
                     } else {
-                     
+
 
                         int timeLimit = tprops.getInt(whoami, -1);
@@ -567,5 +567,5 @@
                 }
             }
-            
+
             // OY, pass/fail dsylexia here.
 
@@ -662,15 +662,11 @@
     }
 
-    public static class CompileTest extends SourceFileTest {
-
+    public static class CommandTest extends SourceFileTest {
+        private final String command;
         private final StringMap props;
-//        public CompileTest(StringMap props, String path, String d, String s,
-//                boolean unexpected_only, boolean knownFailure) {
-//            super(path, d, s, unexpected_only, knownFailure, s.startsWith("XXX") );
-//            this.props = props;
-//        }
-        public CompileTest(StringMap props, String path, String d, String s,
+        public CommandTest(String command, StringMap props, String path, String d, String s,
                            boolean unexpected_only, boolean knownFailure, boolean shouldFail) {
             super(path, d, s, unexpected_only, knownFailure, shouldFail );
+            this.command = command;
             this.props = props;
         }
@@ -679,5 +675,5 @@
         protected int justTheTest()
                 throws FileNotFoundException, IOException, Throwable {
-            String[] tokens = new String [] {"compile", join(dir, makeTestFileName(name))};
+            String[] tokens = new String [] {command, join(dir, makeTestFileName(name))};
             int rc = com.sun.fortress.Shell.subMain(tokens);
             return rc;
@@ -688,72 +684,9 @@
         public String tag() {
             // TODO Auto-generated method stub
-            return "compile";
+            return command;
         }
 
         public  String testFailed(String out, String err, String exc) {
-            return generalTestFailed("compile_", props, out, err, exc);
-        }
-
-    }
-
-    public static class DesugarTest extends SourceFileTest {
-
-        private final StringMap props;
-        public DesugarTest(StringMap props, String path, String d, String s,
-                           boolean unexpected_only, boolean knownFailure, boolean shouldFail) {
-            super(path, d, s, unexpected_only, knownFailure, shouldFail );
-            this.props = props;
-
-        }
-
-        @Override
-        protected int justTheTest()
-            throws FileNotFoundException, IOException, Throwable {
-            // might need to strip the .fss off f "f".
-            String[] tokens = new String [] {"desugar", join(dir, makeTestFileName(name))};
-            int rc = com.sun.fortress.Shell.subMain(tokens);
-            return rc;
-        }
-
-        @Override
-        public String tag() {
-            // TODO Auto-generated method stub
-            return "desugar";
-        }
-
-        public  String testFailed(String out, String err, String exc) {
-            return generalTestFailed("desugar_", props, out, err, exc);
-        }
-
-    }
-
-    public static class LinkTest extends SourceFileTest {
-
-        private final StringMap props;
-       public LinkTest(StringMap props, String path, String d, String s,
-                boolean unexpected_only, boolean knownFailure, boolean shouldFail) {
-            super(path, d, s, unexpected_only, knownFailure, shouldFail );
-            this.props = props;
-
-        }
-
-        @Override
-        protected int justTheTest()
-                throws FileNotFoundException, IOException, Throwable {
-            // might need to strip the .fss off f "f".
-            String[] tokens = new String [] {"link", join(dir, makeTestFileName(name))};
-            int rc = com.sun.fortress.Shell.subMain(tokens);
-            return rc;
-        }
-
-        @Override
-        public String tag() {
-            // TODO Auto-generated method stub
-            return "link";
-        }
-
-        public  String testFailed(String out, String err, String exc) {
-            return generalTestFailed("link_", props, out, err, exc);
-
+            return generalTestFailed(command + "_", props, out, err, exc);
         }
 
@@ -940,7 +873,5 @@
         };
 
-        List<Test> compileTests = new ArrayList<Test>();
-        List<Test> desugarTests = new ArrayList<Test>();
-        List<Test> linkTests = new ArrayList<Test>();
+        List<Test> commandTests = new ArrayList<Test>();
         List<Test> runTests = new ArrayList<Test>();
 
@@ -955,6 +886,6 @@
                       directoryAsFile(dir_name_slashes_normalized).getCanonicalPath();
               }
-            
-            
+
+
               if (i <= 0) {
                   System.out.println("Early testing exit after " + testCount + " tests");
@@ -992,6 +923,5 @@
                                   standardCompilerTests(props, dir_name_canonical, dir_name_slashes_normalized, token,
                                                         expect_failure, shouldFail, failsOnly,
-                                                        compileTests, desugarTests,
-                                                        linkTests, runTests);
+                                                        commandTests, runTests);
                           }
                       }
@@ -999,6 +929,5 @@
                               standardCompilerTests(props, dir_name_canonical, dir_name_slashes_normalized, testname,
                                                     expect_failure, shouldFail, failsOnly,
-                                                    compileTests, desugarTests,
-                                                    linkTests, runTests);
+                                                    commandTests, runTests);
                       }
                   } else {
@@ -1015,11 +944,5 @@
         // Do all the larger tests
         if (i > 0) {
-            for (Test test: compileTests)
-                suite.addTest(test);
-
-            for (Test test: desugarTests)
-                suite.addTest(test);
-
-            for (Test test: linkTests)
+            for (Test test: commandTests)
                 suite.addTest(test);
 
@@ -1038,7 +961,5 @@
      * @param shouldFail Test passes, if it fails (e.g., is an error printed?)
      * @param failsOnly
-     * @param compileTests
-     * @param desugarTests
-     * @param linkTests
+     * @param commandTests
      * @param runTests
      * @throws IOException
@@ -1049,24 +970,41 @@
                                               boolean shouldFail,
                                               boolean failsOnly,
-                                              List<Test> compileTests,
-                                              List<Test> desugarTests,
-                                              List<Test> linkTests,
+                                              List<Test> commandTests,
                                               List<Test> runTests) throws IOException {
+        String[] commands = new String [] {"compile", "desugar", "link", "run", "api",
+                                           "parse", "disambiguate", "grammar", "typecheck",
+                                           "unparse", "compare", "build",
+                                           "fss", "fsi"};
+
         if (props.get("compile") != null)
-            compileTests.add(new CompileTest(props, canonicalDirName,
+            commandTests.add(new CommandTest("compile", props, canonicalDirName,
                                              dirname, testname, failsOnly,
                                              expect_not_passing, shouldFail));
         if (props.get("desugar") != null)
-            desugarTests.add(new DesugarTest(props, canonicalDirName,
+            commandTests.add(new CommandTest("desugar", props, canonicalDirName,
                                              dirname, testname, failsOnly,
                                              expect_not_passing, shouldFail));
         if (props.get("link") != null)
-            linkTests.add(new LinkTest(props, canonicalDirName,
-                                       dirname, testname, failsOnly,
-                                       expect_not_passing, shouldFail));
+            commandTests.add(new CommandTest("link", props, canonicalDirName,
+                                          dirname, testname, failsOnly,
+                                          expect_not_passing, shouldFail));
+
+        if (props.get("api") != null)
+            runTests.add(new CommandTest("api", props, canonicalDirName,
+                                      dirname, testname, failsOnly,
+                                      expect_not_passing, shouldFail));
+
         if (props.get("run") != null)
             runTests.add(new TestTest(props, canonicalDirName,
                                       dirname, testname, failsOnly,
                                       expect_not_passing, shouldFail));
+
+        boolean found = false;
+        for ( String c : new ArrayList<String>(java.util.Arrays.asList(commands)) ) {
+            if (props.get(c) != null) found = true;
+        }
+
+        if (! found)
+            System.out.println("Not supported " + dirname + "/" + testname);
     }
 
Index: /trunk/ProjectFortress/not_working_static_tests/DXXVoidTest.fss
===================================================================
--- /trunk/ProjectFortress/not_working_static_tests/DXXVoidTest.fss (revision 2111)
+++ /trunk/ProjectFortress/not_working_static_tests/DXXVoidTest.fss (revision 3898)
@@ -1,4 +1,4 @@
 (*******************************************************************************
-    Copyright 2008 Sun Microsystems, Inc.,
+    Copyright 2009 Sun Microsystems, Inc.,
     4150 Network Circle, Santa Clara, California 95054, U.S.A.
     All rights reserved.
Index: /trunk/ProjectFortress/not_working_static_tests/DXXGeneralizedIf.fss
===================================================================
--- /trunk/ProjectFortress/not_working_static_tests/DXXGeneralizedIf.fss (revision 3258)
+++ /trunk/ProjectFortress/not_working_static_tests/DXXGeneralizedIf.fss (revision 3898)
@@ -1,4 +1,4 @@
 (*******************************************************************************
-    Copyright 2008 Sun Microsystems, Inc.,
+    Copyright 2009 Sun Microsystems, Inc.,
     4150 Network Circle, Santa Clara, California 95054, U.S.A.
     All rights reserved.
Index: /trunk/ProjectFortress/compiler_tests/api.test
===================================================================
--- /trunk/ProjectFortress/compiler_tests/api.test (revision 3898)
+++ /trunk/ProjectFortress/compiler_tests/api.test (revision 3898)
@@ -0,0 +1,18 @@
+#    Copyright 2009 Sun Microsystems, Inc.,
+#    4150 Network Circle, Santa Clara, California 95054, U.S.A.
+#    All rights reserved.
+#
+#    U.S. Government Rights - Commercial software.
+#    Government users are subject to the Sun Microsystems, Inc. standard
+#    license agreement and applicable provisions of the FAR and its supplements.
+#
+#    Use is subject to license terms.
+#
+#    This distribution may include materials developed by third parties.
+#
+#    Sun, Sun Microsystems, the Sun logo and Java are trademarks or registered
+#    trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
+
+tests=Compiled5.as
+STATIC_TESTS_DIR=${FORTRESS_AUTOHOME}/ProjectFortress/compiler_tests
+api
Index: /trunk/ProjectFortress/compiler_tests/Compiled5.as.fss
===================================================================
--- /trunk/ProjectFortress/compiler_tests/Compiled5.as.fss (revision 3898)
+++ /trunk/ProjectFortress/compiler_tests/Compiled5.as.fss (revision 3898)
@@ -0,0 +1,24 @@
+(*******************************************************************************
+    Copyright 2009 Sun Microsystems, Inc.,
+    4150 Network Circle, Santa Clara, California 95054, U.S.A.
+    All rights reserved.
+
+    U.S. Government Rights - Commercial software.
+    Government users are subject to the Sun Microsystems, Inc. standard
+    license agreement and applicable provisions of the FAR and its supplements.
+
+    Use is subject to license terms.
+
+    This distribution may include materials developed by third parties.
+
+    Sun, Sun Microsystems, the Sun logo and Java are trademarks or registered
+    trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
+ ******************************************************************************)
+
+export Executable
+
+trait Widget
+  opr [k:ZZ32]:ZZ32 = (k+1)
+end
+
+run():() = ()
Index: /trunk/bin/copyrightCheck.pl
===================================================================
--- /trunk/bin/copyrightCheck.pl (revision 3887)
+++ /trunk/bin/copyrightCheck.pl (revision 3898)
@@ -39,5 +39,5 @@
 my $copyright = "Copyright $checkDate "; # The message to look for.
 my $maxlines = 10; 	 # The message must appear within this many lines of the top of the file.
-my $ignoreThese = 'ant|fortress-keywords|UserDictionary|README.txt|README$|\.fsg$|\.NW$|fortress.vim|\.ods|\.jar$|\.timing$|\.war$|\.zip$|\.tgz$|\/\.|^\.|^Sandbox';
+my $ignoreThese = 'ant|fortress-keywords|UserDictionary|README.txt|README$|\.fsg$|\.NW$|fortress.vim|\.ods|\.jar$|\.tic$|\.timing$|\.war$|\.zip$|\.tgz$|\/\.|^\.|^Sandbox';
 my $tempFile = '/tmp/svnInfo.xml';
 
Index: /trunk/bin/fortick
===================================================================
--- /trunk/bin/fortick (revision 3897)
+++ /trunk/bin/fortick (revision 3898)
@@ -2,5 +2,5 @@
 
 ################################################################################
-#    Copyright 2008 Sun Microsystems, Inc.,
+#    Copyright 2009 Sun Microsystems, Inc.,
 #    4150 Network Circle, Santa Clara, California 95054, U.S.A.
 #    All rights reserved.
