devtools/cwwindmill.py
branchstable
changeset 6322 711e7e8c69e3
parent 6036 fe17d4bac785
child 6341 ad5e08981153
equal deleted inserted replaced
6321:a8a33679f4dd 6322:711e7e8c69e3
    29 import unittest
    29 import unittest
    30 
    30 
    31 # imported by default to simplify further import statements
    31 # imported by default to simplify further import statements
    32 from logilab.common.testlib import unittest_main
    32 from logilab.common.testlib import unittest_main
    33 
    33 
       
    34 import windmill
    34 from windmill.dep import functest
    35 from windmill.dep import functest
    35 
    36 
    36 from cubicweb.devtools.httptest import CubicWebServerTC
    37 from cubicweb.devtools.httptest import CubicWebServerTC
    37 
    38 
    38 
    39 
    44 unittestreporter = UnitTestReporter()
    45 unittestreporter = UnitTestReporter()
    45 functest.reports.register_reporter(unittestreporter)
    46 functest.reports.register_reporter(unittestreporter)
    46 
    47 
    47 class WindmillUnitTestCase(unittest.TestCase):
    48 class WindmillUnitTestCase(unittest.TestCase):
    48     def setUp(self):
    49     def setUp(self):
    49         import windmill
       
    50         windmill.stdout, windmill.stdin = sys.stdout, sys.stdin
    50         windmill.stdout, windmill.stdin = sys.stdout, sys.stdin
    51         from windmill.bin.admin_lib import configure_global_settings, setup
    51         from windmill.bin.admin_lib import configure_global_settings, setup
    52         configure_global_settings()
    52         configure_global_settings()
    53         windmill.settings['TEST_URL'] = self.test_url
    53         windmill.settings['TEST_URL'] = self.test_url
    54         if hasattr(self,"windmill_settings"):
    54         if hasattr(self,"windmill_settings"):
    88         CubicWebServerTC.tearDown(self)
    88         CubicWebServerTC.tearDown(self)
    89 
    89 
    90     def testWindmill(self):
    90     def testWindmill(self):
    91         if self.edit_test:
    91         if self.edit_test:
    92             # see windmill.bin.admin_options.Firebug
    92             # see windmill.bin.admin_options.Firebug
    93             import windmill
       
    94             windmill.settings['INSTALL_FIREBUG'] = 'firebug'
    93             windmill.settings['INSTALL_FIREBUG'] = 'firebug'
    95             windmill.settings['MOZILLA_PLUGINS'].append('/usr/share/mozilla-extensions/')
    94             windmill.settings.setdefault('MOZILLA_PLUGINS', []).extend(
    96             windmill.settings['MOZILLA_PLUGINS'].append('/usr/share/xul-ext/')
    95                 '/usr/share/mozilla-extensions/',
    97 
    96                 '/usr/share/xul-ext/')
    98         self.windmill_shell_objects['start_' + self.browser]()
    97         controller = self.windmill_shell_objects['start_' + self.browser]()
    99         self.windmill_shell_objects['do_test'](self.test_dir,
    98         self.windmill_shell_objects['do_test'](self.test_dir,
   100                                                load=self.edit_test,
    99                                                load=self.edit_test,
   101                                                threaded=False)
   100                                                threaded=False)
   102         # set a breakpoint to be able to debug windmill test
   101         # set a breakpoint to be able to debug windmill test
   103         if self.edit_test:
   102         if self.edit_test:
   104             import pdb; pdb.set_trace()
   103             import pdb; pdb.set_trace()
   105             return
   104             return
   106 
   105 
       
   106         # reporter
   107         for test in unittestreporter.test_list:
   107         for test in unittestreporter.test_list:
   108             msg = ""
   108             msg = ""
   109             self._testMethodDoc = getattr(test, "__doc__", None)
   109             self._testMethodDoc = getattr(test, "__doc__", None)
   110             self._testMethodName = test.__name__
   110             self._testMethodName = test.__name__
   111             # try to display a better message in case of failure
   111             # try to display a better message in case of failure