def run(port, options, args, regular_output=sys.stderr, buildbot_output=sys.stdout): try: warnings = _set_up_derived_options(port, options) printer = printing.Printer(port, options, regular_output, buildbot_output, logger=logging.getLogger()) for warning in warnings: _log.warning(warning) if options.lint_test_files: return lint(port, options) # We wrap any parts of the run that are slow or likely to raise exceptions # in a try/finally to ensure that we clean up the logging configuration. unexpected_result_count = -1 manager = Manager(port, options, printer) printer.print_config(port.results_directory()) unexpected_result_count = manager.run(args) _log.debug("Testing completed, Exit status: %d" % unexpected_result_count) except Exception: exception_type, exception_value, exception_traceback = sys.exc_info() if exception_type not in (KeyboardInterrupt, TestRunInterruptedException, WorkerException): print >> sys.stderr, '\n%s raised: %s' % (exception_type.__name__, exception_value) stack_utils.log_traceback(_log.error, exception_traceback) raise finally: printer.cleanup() return unexpected_result_count
def run(port, options, args, regular_output=sys.stderr, buildbot_output=sys.stdout): try: warnings = _set_up_derived_options(port, options) printer = printing.Printer(port, options, regular_output, buildbot_output, logger=logging.getLogger()) for warning in warnings: _log.warning(warning) if options.lint_test_files: return lint(port, options) # We wrap any parts of the run that are slow or likely to raise exceptions # in a try/finally to ensure that we clean up the logging configuration. unexpected_result_count = -1 manager = Manager(port, options, printer) printer.print_config() unexpected_result_count = manager.run(args) _log.debug("Testing completed, Exit status: %d" % unexpected_result_count) except Exception: exception_type, exception_value, exception_traceback = sys.exc_info() if exception_type not in (KeyboardInterrupt, TestRunInterruptedException, WorkerException): print >> sys.stderr, '\n%s raised: %s' % (exception_type.__name__, exception_value) stack_utils.log_traceback(_log.error, exception_traceback) raise finally: printer.cleanup() return unexpected_result_count
def run(port, options, args, regular_output=sys.stderr, buildbot_output=sys.stdout): """Run the tests. Args: port: Port object for port-specific behavior options: a dictionary of command line options args: a list of sub directories or files to test regular_output: a stream-like object that we can send logging/debug output to buildbot_output: a stream-like object that we can write all output that is intended to be parsed by the buildbot to Returns: the number of unexpected results that occurred, or -1 if there is an error. """ warnings = _set_up_derived_options(port, options) printer = printing.Printer(port, options, regular_output, buildbot_output, configure_logging=True) for w in warnings: _log.warning(w) if options.help_printing: printer.help_printing() printer.cleanup() return 0 # We wrap any parts of the run that are slow or likely to raise exceptions # in a try/finally to ensure that we clean up the logging configuration. num_unexpected_results = -1 try: manager = Manager(port, options, printer) manager.print_config() printer.print_update("Collecting tests ...") try: manager.collect_tests(args) except IOError, e: if e.errno == errno.ENOENT: return -1 raise if options.lint_test_files: return manager.lint() printer.print_update("Checking build ...") if not port.check_build(manager.needs_servers()): _log.error("Build check failed") return -1 printer.print_update("Parsing expectations ...") manager.parse_expectations() result_summary = manager.set_up_run() if result_summary: num_unexpected_results = manager.run(result_summary) manager.clean_up_run() _log.debug("Testing completed, Exit status: %d" % num_unexpected_results)
def run(port, options, args, regular_output=sys.stderr, buildbot_output=sys.stdout): warnings = _set_up_derived_options(port, options) printer = printing.Printer(port, options, regular_output, buildbot_output, configure_logging=True) for warning in warnings: _log.warning(warning) if options.help_printing: printer.help_printing() printer.cleanup() return 0 if options.lint_test_files: return lint(port, options, test_expectations.TestExpectations) # We wrap any parts of the run that are slow or likely to raise exceptions # in a try/finally to ensure that we clean up the logging configuration. unexpected_result_count = -1 try: manager = Manager(port, options, printer) manager.print_config() printer.print_update("Collecting tests ...") try: manager.collect_tests(args) except IOError, e: if e.errno == errno.ENOENT: return -1 raise printer.print_update("Checking build ...") if not port.check_build(manager.needs_servers()): _log.error("Build check failed") return -1 printer.print_update("Parsing expectations ...") manager.parse_expectations() result_summary = manager.set_up_run() if result_summary: unexpected_result_count = manager.run(result_summary) manager.clean_up_run() _log.debug("Testing completed, Exit status: %d" % unexpected_result_count)
def run(port, options, args, logging_stream): try: printer = printing.Printer(port, options, logging_stream, logger=logging.getLogger()) _set_up_derived_options(port, options) manager = Manager(port, options, printer) printer.print_config(port.results_directory()) run_details = manager.run(args) _log.debug("Testing completed, Exit status: %d" % run_details.exit_code) return run_details finally: printer.cleanup()
def run(port, options, args, logging_stream): logger = logging.getLogger() logger.setLevel(logging.DEBUG if options.debug_rwt_logging else logging.INFO) try: printer = printing.Printer(port, options, logging_stream, logger=logger) _set_up_derived_options(port, options) manager = Manager(port, options, printer) printer.print_config(port.results_directory()) run_details = manager.run(args) _log.debug("Testing completed, Exit status: %d" % run_details.exit_code) return run_details finally: printer.cleanup()
def run(port, options, args, regular_output=sys.stderr, buildbot_output=sys.stdout): try: printer = printing.Printer(port, options, regular_output, buildbot_output, logger=logging.getLogger()) _set_up_derived_options(port, options) if options.lint_test_files: return lint(port, options) manager = Manager(port, options, printer) printer.print_config(port.results_directory()) unexpected_result_count = manager.run(args) _log.debug("Testing completed, Exit status: %d" % unexpected_result_count) return unexpected_result_count finally: printer.cleanup()
def _run_tests(port, options, args, printer): _set_up_derived_options(port, options, args) manager = Manager(port, options, printer) printer.print_config(port.results_directory()) return manager.run(args)