+ def r(self,s,l):
+ if(len(s)>=l):
+ return s
+ return (" "*(l-len(s))) + s
+ def l(self,s,l):
+ if(len(s)>=l):
+ return s
+ return s + (" "*(l-len(s)))
+
+class Test(TestBase):
+ def __init__(self, nr, file):
+ TestBase.__init__(self, nr, file, run=1)
+ self.compile()
+ if not self.compile_error:
+ self.run()
+
+class ErrTest(TestBase):
+ def __init__(self, nr, file):
+ TestBase.__init__(self, nr, file, run=0)
+ self.compile()
+ self.compile_error = not self.compile_error
+
+class Suite:
+ def __init__(self, dir):
+ self.dir = dir
+ self.errtest = "err" in dir
+ def run(self, nr):
+ print "-"*40,"tests \""+self.dir+"\"","-"*40
+ for file in sorted(os.listdir(self.dir)):
+ if not file.endswith(".as"):
+ continue
+ nr = nr + 1
+ file = os.path.join(self.dir, file)
+ if checknum>=0 and nr!=checknum:
+ continue
+ if self.errtest:
+ test = ErrTest(nr,file)
+ else:
+ test = Test(nr,file)
+ if checknum!=nr:
+ test.doprint()
+ else:
+ test.doprintlong()
+ return nr
+