import pyjd # this is dummy in pyjs.
from pyjamas.ui.RootPanel import RootPanel
from pyjamas.Timer import Timer
from __pyjamas__ import doc
from UnitTest import IN_BROWSER,IN_JS,IN_BROWSER
from LabelTest import LabelTest
from DOMTest import DOMTest
from EventTest import EventTest
import write
import sys
class RunTests:
def __init__(self, test_gen):
self.current_test = None
self.test_gen = test_gen
self.testlist = {}
self.test_idx = 0
Timer(100, self)
def add(self, test):
self.testlist[len(self.testlist)] = test
def onTimer(self, tid):
self.start_test()
def start_test(self):
print self.test_idx
if self.test_idx >= len(self.testlist):
print "num tests outstanding", self.current_test.__class__.__name__, self.current_test.tests_outstanding
if self.current_test.tests_outstanding > 0:
Timer(100, self)
return
write.display_log_output()
return
idx = self.test_idx
self.test_idx += 1
test_kls = self.testlist[idx]
t = test_kls(self.test_gen)
self.current_test = t
t.start_next_test = getattr(self, "start_test")
t.run()
def main(test_gen_out):
pyjd.setup("public/uitest.html")
t = RunTests(test_gen_out)
t.add(LabelTest)
t.add(EventTest)
t.add(DOMTest)
pyjd.run()
if __name__ == '__main__':
# set the test output folder using e.g. hulahop, create
# the output to be used by tests.
test_gen_output_folder = None
if hasattr(sys, 'argv'):
if len(sys.argv) == 2:
test_gen_output_folder = sys.argv[1]
main(test_gen_output_folder )
|