def main(): cmd_opts, args = get_opts_remote() clear_old_results() print '--------------------------------------------------------------' runtests.runtests( args, test_dir=cmd_opts.dir_name, collect_only=cmd_opts.collect_only, report_format=cmd_opts.report_format, browser_type=cmd_opts.browser_type, browser_version=cmd_opts.browser_version, browser_platform=cmd_opts.browser_platform, session_name=cmd_opts.session_name, webdriver_remote_url=cmd_opts.webdriver_remote_url, javascript_disabled=cmd_opts.javascript_disabled, shared_directory=cmd_opts.shared_modules, screenshots_on=cmd_opts.screenshots_on, failfast=cmd_opts.failfast, debug=cmd_opts.debug, extended=cmd_opts.extended_tracebacks, saucelabs_enabled=cmd_opts.saucelabs_enabled, custom_options=cmd_opts.custom ) print '--------------------------------------------------------------'
def main(): cmd_opts, args = get_opts_remote() clear_old_results() print "--------------------------------------------------------------" runtests.runtests( args, test_dir=cmd_opts.dir_name, file_match=cmd_opts.file_match, report_format=cmd_opts.report_format, browser_type=cmd_opts.browser_type, browser_version=cmd_opts.browser_version, browser_platform=cmd_opts.browser_platform, session_name=cmd_opts.session_name, webdriver_remote_url=cmd_opts.webdriver_remote_url, javascript_disabled=cmd_opts.javascript_disabled, shared_directory=cmd_opts.shared_modules, screenshots_on=cmd_opts.screenshots_on, failfast=cmd_opts.failfast, debug=cmd_opts.debug, extended=cmd_opts.extended_tracebacks, ) print "--------------------------------------------------------------"
def test_fail(self): tests.write_tree_from_desc('''dir: t file: t/__init__.py from sst import loaders discover = loaders.discoverRegularTests file: t/test_fail1.py import unittest class TestFail1(unittest.TestCase): def test_fail_1(self): self.assertTrue(False) file: t/test_fail2.py import unittest class TestFail2(unittest.TestCase): def test_fail_2(self): self.assertTrue(False) ''') out = StringIO() runtests.runtests( ['^t'], 'no results directory used', out, concurrency_num=2, browser_factory=browsers.FirefoxFactory(), ) output = out.getvalue() self.assertIn('Ran 2 tests', output) self.assertEqual(output.count('Traceback (most recent call last):'), 2) self.assertIn('FAILED (failures=2)', output)
def main(): cmd_opts, args = command.get_opts_remote() command.clear_old_results() print '--------------------------------------------------------------' browser_factory = runtests.RemoteBrowserFactory( { "browserName": cmd_opts.browser_type.lower(), "platform": cmd_opts.browser_platform.upper(), "version": cmd_opts.browser_version, "javascriptEnabled": not cmd_opts.javascript_disabled, "name": cmd_opts.session_name}, cmd_opts.webdriver_remote_url) runtests.runtests( args, test_dir=cmd_opts.dir_name, count_only=cmd_opts.count_only, report_format=cmd_opts.report_format, browser_factory=browser_factory, shared_directory=cmd_opts.shared_modules, screenshots_on=cmd_opts.screenshots_on, failfast=cmd_opts.failfast, debug=cmd_opts.debug, extended=cmd_opts.extended_tracebacks, # FIXME: not tested -- vila 2013-05-23 excludes=cmd_opts.excludes ) print '--------------------------------------------------------------'
def main(): cmd_opts, args = command.get_opts_remote() results_directory = os.path.abspath('results') command.reset_directory(results_directory) browser_factory = browsers.RemoteBrowserFactory( { "browserName": cmd_opts.browser_type.lower(), "platform": cmd_opts.browser_platform.upper(), "version": cmd_opts.browser_version, "name": cmd_opts.session_name}, cmd_opts.webdriver_remote_url) runtests.runtests( args, results_directory, sys.stdout, test_dir=cmd_opts.dir_name, count_only=cmd_opts.count_only, report_format=cmd_opts.report_format, browser_factory=browser_factory, shared_directory=cmd_opts.shared_directory, screenshots_on=cmd_opts.screenshots_on, failfast=cmd_opts.failfast, debug=cmd_opts.debug, extended=cmd_opts.extended_tracebacks, # FIXME: not tested -- vila 2013-05-23 excludes=cmd_opts.excludes )
def main(): cmd_opts, args = command.get_opts_remote() results_directory = os.path.abspath('results') command.reset_directory(results_directory, cmd_opts.skip_clean_results) browser_factory = browsers.RemoteBrowserFactory( cmd_opts.webdriver_remote_url, { "browserName": cmd_opts.browser_type.lower(), "platform": cmd_opts.browser_platform.upper(), "version": cmd_opts.browser_version, "name": cmd_opts.session_name }, ) runtests.runtests( args, results_directory, sys.stdout, test_dir=cmd_opts.dir_name, collect_only=cmd_opts.collect_only, report_format=cmd_opts.report_format, browser_factory=browser_factory, shared_directory=cmd_opts.shared_directory, screenshots_on=cmd_opts.screenshots_on, failfast=cmd_opts.failfast, debug=cmd_opts.debug, extended=cmd_opts.extended_tracebacks, # FIXME: not tested -- vila 2013-05-23 excludes=cmd_opts.excludes, xml_results_filename=cmd_opts.xml_results_filename )
def test_pass(self): tests.write_tree_from_desc('''dir: t file: t/__init__.py from sst import loaders discover = loaders.discoverRegularTests file: t/test_conc1.py import unittest class Test1(unittest.TestCase): def test_pass_1(self): self.assertTrue(True) file: t/test_conc2.py import unittest class Test2(unittest.TestCase): def test_pass_2(self): self.assertTrue(True) ''') out = StringIO() runtests.runtests( ['^t'], 'no results directory used', out, concurrency_num=2, browser_factory=browsers.FirefoxFactory(), ) output = out.getvalue() self.assertIn('Ran 2 tests', output) self.assertIn('OK', output) self.assertNotIn('FAIL', output)
def run_tests(self, test_dir, shared_dir=None): out = StringIO() runtests.runtests(None, 'no results directory used', out, test_dir=test_dir, shared_directory=shared_dir, collect_only=True) return out.getvalue().splitlines()
def run_tests(self, tests, **kwargs): out = StringIO() runtests.runtests(tests, 'no results directory used', out, test_dir='t', collect_only=True, **kwargs) lines = out.getvalue().splitlines() return lines
def main(): cmd_opts, args = command.get_opts_run() out = sys.stdout cleaner = command.Cleaner(out) if cmd_opts.xserver_headless: from sst.xvfbdisplay import Xvfb out.write('starting virtual display...') display = Xvfb(width=1024, height=768) display.start() cleaner.add('stopping virtual display...\n', display.stop) with cleaner: results_directory = os.path.abspath('results') command.reset_directory(results_directory) factory = browsers.browser_factories.get(cmd_opts.browser_type) failures = runtests.runtests( args, results_directory, out, test_dir=cmd_opts.dir_name, collect_only=cmd_opts.collect_only, report_format=cmd_opts.report_format, browser_factory=factory(), shared_directory=cmd_opts.shared_directory, screenshots_on=cmd_opts.screenshots_on, concurrency_num=cmd_opts.concurrency, failfast=cmd_opts.failfast, debug=cmd_opts.debug, extended=cmd_opts.extended_tracebacks, excludes=cmd_opts.excludes) return failures
def run_tests(self, args, **kwargs): out = StringIO() failures = runtests.runtests( args, '/tmp', out, browser_factory=browsers.FirefoxFactory(), **kwargs) return failures
def main(): cmd_opts, args = command.get_opts_run() out = sys.stdout cleaner = command.Cleaner(out) if cmd_opts.xserver_headless: from sst.xvfbdisplay import Xvfb out.write('starting virtual display...') display = Xvfb(width=1024, height=768) display.start() cleaner.add('stopping virtual display...\n', display.stop) with cleaner: results_directory = os.path.abspath('results') command.reset_directory(results_directory, cmd_opts.skip_clean_results) factory = browsers.browser_factories.get(cmd_opts.browser_type) failures = runtests.runtests( args, results_directory, out, test_dir=cmd_opts.dir_name, collect_only=cmd_opts.collect_only, report_format=cmd_opts.report_format, browser_factory=factory(), shared_directory=cmd_opts.shared_directory, screenshots_on=cmd_opts.screenshots_on, concurrency_num=cmd_opts.concurrency, failfast=cmd_opts.failfast, debug=cmd_opts.debug, extended=cmd_opts.extended_tracebacks, excludes=cmd_opts.excludes, xml_results_filename=cmd_opts.xml_results_filename ) return failures
def run_tests(self, args): out = StringIO() failures = runtests.runtests(args, 'no results directory used', out, browser_factory=browsers.FirefoxFactory()) return bool(failures)
def run_tests(self, args): self.out = StringIO() self.patch(sys, 'stdout', self.out) failures = runtests.runtests(args) exit_code = 0 if failures: exit_code = 1 return exit_code
def run_tests(self, *args, **kwargs): # FIXME: runtests use print, it should accept a stream instead. We also # should be able to better focus the test filtering but that requires # refactoring runtests. -- vila 2013-05-07 self.out = StringIO() self.patch(sys, 'stdout', self.out) runtests.runtests(*args, test_dir='t', collect_only=True, **kwargs) lines = self.out.getvalue().splitlines() self.assertEqual('', lines[0]) # We don't care about the number of tests, that will be checked later # by the caller self.assertTrue(lines[1].endswith('test cases loaded')) self.assertEqual('', lines[2]) self.assertEqual('-' * 62, lines[3]) self.assertEqual('Collect-Only Enabled, Not Running Tests...', lines[4]) self.assertEqual('', lines[5]) self.assertEqual('Tests Collected:', lines[6]) self.assertEqual('----------------', lines[7]) return lines[8:]
def main(): cmd_opts, args = command.get_opts_run() out = sys.stdout cleaner = command.Cleaner(out) run_django(sst.DEVSERVER_PORT) cleaner.add('killing django...\n', kill_django, sst.DEVSERVER_PORT) if cmd_opts.xserver_headless: from sst.xvfbdisplay import Xvfb out.write('starting virtual display...\n') display = Xvfb(width=1024, height=768) display.start() cleaner.add('stopping virtual display...\n', display.stop) with cleaner: results_directory = os.path.abspath('results') command.reset_directory(results_directory) os.chdir(os.path.dirname(package_dir)) test_dir = os.path.join( '.', 'sst', ) shared_directory = os.path.join('.', 'sst', 'selftests', 'shared') factory = browsers.browser_factories.get(cmd_opts.browser_type) failures = runtests.runtests(args, results_directory, out, test_dir=test_dir, collect_only=cmd_opts.collect_only, report_format=cmd_opts.report_format, browser_factory=factory(), shared_directory=shared_directory, screenshots_on=cmd_opts.screenshots_on, concurrency_num=cmd_opts.concurrency, failfast=cmd_opts.failfast, debug=cmd_opts.debug, extended=cmd_opts.extended_tracebacks, excludes=cmd_opts.excludes) return failures
def main(): cmd_opts, args = command.get_opts_run() out = sys.stdout cleaner = command.Cleaner(out) run_django(sst.DEVSERVER_PORT) cleaner.add('killing django...\n', kill_django, sst.DEVSERVER_PORT) if cmd_opts.xserver_headless: from sst.xvfbdisplay import Xvfb out.write('starting virtual display...\n') display = Xvfb(width=1024, height=768) display.start() cleaner.add('stopping virtual display...\n', display.stop) with cleaner: results_directory = os.path.abspath('results') command.reset_directory(results_directory) os.chdir(os.path.dirname(package_dir)) test_dir = os.path.join('.', 'sst',) shared_directory = os.path.join('.', 'sst', 'selftests', 'shared') factory = browsers.browser_factories.get(cmd_opts.browser_type) failures = runtests.runtests( args, results_directory, out, test_dir=test_dir, collect_only=cmd_opts.collect_only, report_format=cmd_opts.report_format, browser_factory=factory(), shared_directory=shared_directory, screenshots_on=cmd_opts.screenshots_on, concurrency_num=cmd_opts.concurrency, failfast=cmd_opts.failfast, debug=cmd_opts.debug, extended=cmd_opts.extended_tracebacks, excludes=cmd_opts.excludes ) return failures
def main(): cmd_opts, args = command.get_opts_run() print '--------------------------------------------------------------' print 'starting SST...' cleanups = [] if cmd_opts.run_tests: cmd_opts.dir_name = 'selftests' if not tests.check_devserver_port_used(sst.DEVSERVER_PORT): run_django(sst.DEVSERVER_PORT) cleanups.append(('\nkilling django...', kill_django, sst.DEVSERVER_PORT)) else: print 'Error: port is in use.' print 'can not launch devserver for internal tests.' sys.exit(1) if cmd_opts.xserver_headless: from sst.xvfbdisplay import Xvfb print '\nstarting virtual display...' display = Xvfb(width=1024, height=768) display.start() cleanups.append(('\nstopping virtual display...', display.stop)) if not cmd_opts.quiet: print '' print ' date time: %s' \ % datetime.datetime.now().strftime("%Y-%m-%d %H:%M") print ' test directory: %r' % cmd_opts.dir_name print ' report format: %r' % cmd_opts.report_format print ' browser type: %r' % cmd_opts.browser_type print ' shared directory: %r' % cmd_opts.shared_modules print ' screenshots on error: %r' % cmd_opts.screenshots_on print ' failfast: %r' % cmd_opts.failfast print ' debug: %r' % cmd_opts.debug print ' headless xserver: %r' % cmd_opts.xserver_headless print '' try: command.clear_old_results() factory = browsers.browser_factories.get(cmd_opts.browser_type) failures = runtests.runtests( args, test_dir=cmd_opts.dir_name, collect_only=cmd_opts.collect_only, report_format=cmd_opts.report_format, browser_factory=factory(cmd_opts.javascript_disabled), shared_directory=cmd_opts.shared_modules, screenshots_on=cmd_opts.screenshots_on, failfast=cmd_opts.failfast, debug=cmd_opts.debug, extended=cmd_opts.extended_tracebacks, excludes=cmd_opts.excludes ) finally: print '--------------------------------------------------------------' for cleanup in cleanups: # run cleanups, displaying but not propagating exceptions desc = cleanup[0] cmd = cleanup[1] args = cleanup[2:] print desc try: cmd(*args) except Exception: print traceback.format_exc() return failures
def main(): cmd_opts, args = get_opts_run() print '--------------------------------------------------------------' print 'starting SST...' cleanups = [] if cmd_opts.browsermob and cmd_opts.run_tests: print 'Warning: can not record local traffic from django testproject' if cmd_opts.browsermob: browsermob_process = run_browsermob_server(cmd_opts.browsermob) def browsermob_cleanup(): browsermob_process.kill() browsermob_process.wait() cleanups.append(('\nkilling browsermob proxy...', browsermob_cleanup)) if cmd_opts.run_tests: cmd_opts.dir_name = 'selftests' run_django() cleanups.append(('\nkilling django...', kill_django)) if cmd_opts.xserver_headless: from sst.xvfbdisplay import Xvfb print '\nstarting virtual display...' display = Xvfb(width=1024, height=768) display.start() cleanups.append(('\nstopping virtual display...', display.stop)) if not cmd_opts.quiet: print '' print ' date time: %s' \ % datetime.datetime.now().strftime("%Y-%m-%d %H:%M") print ' test directory: %r' % cmd_opts.dir_name print ' report format: %r' % cmd_opts.report_format print ' browser type: %r' % cmd_opts.browser_type print ' javascript disabled: %r' % cmd_opts.javascript_disabled print ' browswermob proxy launcher: %r' % cmd_opts.browsermob print ' shared directory: %r' % cmd_opts.shared_modules print ' screenshots on error: %r' % cmd_opts.screenshots_on print ' failfast: %r' % cmd_opts.failfast print ' debug: %r' % cmd_opts.debug print ' headless xserver: %r' % cmd_opts.xserver_headless print ' custom options: %r' % cmd_opts.custom print '' try: clear_old_results() runtests.runtests( args, test_dir=cmd_opts.dir_name, collect_only=cmd_opts.collect_only, report_format=cmd_opts.report_format, browser_type=cmd_opts.browser_type, javascript_disabled=cmd_opts.javascript_disabled, browsermob_enabled=bool(cmd_opts.browsermob), shared_directory=cmd_opts.shared_modules, screenshots_on=cmd_opts.screenshots_on, failfast=cmd_opts.failfast, debug=cmd_opts.debug, extended=cmd_opts.extended_tracebacks, saucelabs_enabled=cmd_opts.saucelabs_enabled, custom_options=cmd_opts.custom ) finally: print '--------------------------------------------------------------' for desc, cmd in cleanups: # Run cleanups, displaying but not propagating exceptions try: print desc cmd() except Exception: print traceback.format_exc()