small fixes
[swftools.git] / lib / as3 / test
index de4a2e2..e30b451 100755 (executable)
@@ -28,6 +28,11 @@ import marshal
 import select
 from optparse import OptionParser
 
+CMD_ARGS=[]
+#CMD = "./parser"
+CMD="as3compile"
+CMD_ARGS=["-o","abc.swf"]
+
 def check(s):
     row = None
     ok = 0
@@ -42,7 +47,10 @@ def check(s):
             if "/" not in line:
                 return 0
             i = line.index('/')
-            nr,len = int(line[3:i]),int(line[i+1:])
+            try:
+                nr,len = int(line[3:i]),int(line[i+1:])
+            except ValueError:
+                return 0
             if nr<1 or nr>len:
                 return 0
             if not row:
@@ -98,12 +106,12 @@ class Cache:
         try:
             self.milestone = marshal.load(open(self.filename_milestone, "rb"))
         except IOError:
-            self.milstone = {}
+            self.milestone = {}
 
     def parse_args(self):
         parser = OptionParser()
         parser.add_option("-d", "--diff", dest="diff", help="Only run tests that failed the last time",action="store_true")
-        parser.add_option("-a", "--all", dest="all", help="Run all tests (also tests expected fail)",action="store_true")
+        parser.add_option("-a", "--all", dest="all", help="Run all tests (also tests expected to fail)",action="store_true")
         parser.add_option("-t", "--tag", dest="tag", help="Mark the current pass/fail statistic as milestone",action="store_true")
         (options, args) = parser.parse_args()
 
@@ -145,9 +153,9 @@ class Cache:
     def skip_file(self, nr, filename):
         if self.checknum>=0 and nr!=self.checknum:
             return 1
-        if not self.all and self.milestone[filename]!="ok":
+        if not self.all and self.milestone.get(filename,"new")!="ok":
             return 1
-        if self.diff and self.filename2status[filename]=="ok":
+        if self.diff and self.filename2status(filename,"new")=="ok":
             return 1
         return 0
 
@@ -168,7 +176,7 @@ class TestBase:
     def compile(self):
         try: os.unlink("abc.swf");
         except: pass
-        ret,output = runcmd("./parser",[self.file],wait=cache.runtime)
+        ret,output = runcmd(CMD,CMD_ARGS+[self.file],wait=cache.runtime)
         self.compile_error = 0
         self.compile_output = output
         self.exit_status = 0