def get_result(self, test_name, result_type=ResultType.Pass, run_time=0): failures = [] if result_type == ResultType.Timeout: failures = [test_failures.FailureTimeout()] elif result_type == ResultType.Crash: failures = [test_failures.FailureCrash()] return test_results.TestResult(test_name, failures=failures, test_run_time=run_time)
def get_result(test_name, result_type=test_expectations.PASS, run_time=0): failures = [] dummy_1, dummy_2 = DriverOutput(None, None, None, None), DriverOutput(None, None, None, None) if result_type == test_expectations.TIMEOUT: failures = [test_failures.FailureTimeout(dummy_1)] elif result_type == test_expectations.CRASH: failures = [test_failures.FailureCrash(dummy_1)] elif result_type == test_expectations.FAIL: failures = [test_failures.TestFailure(dummy_1, dummy_2)] return test_results.TestResult(test_name, failures=failures, test_run_time=run_time)
def get_result(self, test_name, result_type=test_expectations.PASS, run_time=0): failures = [] if result_type == test_expectations.TIMEOUT: failures = [test_failures.FailureTimeout()] elif result_type == test_expectations.CRASH: failures = [test_failures.FailureCrash()] return test_results.TestResult(test_name, failures=failures, test_run_time=run_time)
def get_result(test_name, result_type=ResultType.Pass, run_time=0): failures = [] dummy_1, dummy_2 = DriverOutput(None, None, None, None), DriverOutput( None, None, None, None) if result_type == ResultType.Timeout: failures = [test_failures.FailureTimeout(dummy_1)] elif result_type == ResultType.Crash: failures = [test_failures.FailureCrash(dummy_1)] elif result_type == ResultType.Failure: failures = [test_failures.TestFailure(dummy_1, dummy_2)] return test_results.TestResult(test_name, failures=failures, test_run_time=run_time)
def get_result(test_name, result_type=test_expectations.PASS, run_time=0): failures = [] if result_type == test_expectations.TIMEOUT: failures = [test_failures.FailureTimeout()] elif result_type == test_expectations.AUDIO: failures = [test_failures.FailureAudioMismatch()] elif result_type == test_expectations.TEXT: failures = [test_failures.FailureTextMismatch()] elif result_type == test_expectations.IMAGE: failures = [test_failures.FailureImageHashMismatch()] elif result_type == test_expectations.CRASH: failures = [test_failures.FailureCrash()] elif result_type == test_expectations.LEAK: failures = [test_failures.FailureLeak()] return test_results.TestResult(test_name, failures=failures, test_run_time=run_time)
def _handle_error(self, driver_output, reference_filename=None): """Returns test failures if some unusual errors happen in driver's run. Args: driver_output: The output from the driver. reference_filename: The full path to the reference file which produced the driver_output. This arg is optional and should be used only in reftests until we have a better way to know which html file is used for producing the driver_output. """ failures = [] if driver_output.timeout: failures.append( test_failures.FailureTimeout(driver_output, bool(reference_filename))) if reference_filename: testname = self._port.relative_test_filename(reference_filename) else: testname = self._test_name if driver_output.crash: failures.append( test_failures.FailureCrash( driver_output, is_reftest=bool(reference_filename), process_name=driver_output.crashed_process_name, pid=driver_output.crashed_pid, has_log=self._port.output_contains_sanitizer_messages( driver_output.crash_log))) if driver_output.error: _log.debug('%s %s crashed, (stderr lines):', self._worker_name, testname) else: _log.debug('%s %s crashed, (no stderr)', self._worker_name, testname) elif driver_output.leak: failures.append( test_failures.FailureLeak(driver_output, bool(reference_filename))) _log.debug('%s %s leaked', self._worker_name, testname) elif driver_output.error: _log.debug('%s %s output stderr lines:', self._worker_name, testname) for line in driver_output.error.splitlines(): _log.debug(' %s', line) return failures
def get_result(test_name, result_type=test_expectations.PASS, run_time=0): failures = [] dummy_1, dummy_2 = DriverOutput(None, None, None, None), DriverOutput( None, None, None, None) if result_type == test_expectations.TIMEOUT: failures = [test_failures.FailureTimeout(dummy_1)] elif result_type == test_expectations.AUDIO: failures = [test_failures.FailureAudioMismatch(dummy_1, dummy_2)] elif result_type == test_expectations.TEXT: failures = [test_failures.FailureTextMismatch(dummy_1, dummy_2)] elif result_type == test_expectations.IMAGE: failures = [test_failures.FailureImageHashMismatch(dummy_1, dummy_2)] elif result_type == test_expectations.CRASH: failures = [test_failures.FailureCrash(dummy_1)] elif result_type == test_expectations.LEAK: failures = [test_failures.FailureLeak(dummy_1)] return test_results.TestResult(test_name, failures=failures, test_run_time=run_time)
def test_results_multiple(self): driver_output = DriverOutput(None, None, None, None) failure_crash = [ test_failures.FailureCrash(driver_output, None), test_failures.TestFailure(driver_output, None) ] failure_timeout = [ test_failures.FailureTimeout(driver_output, None), test_failures.TestFailure(driver_output, None) ] failure_early_exit = [ test_failures.FailureEarlyExit(driver_output, None), test_failures.TestFailure(driver_output, None) ] # Should not raise an exception for CRASH and FAIL. TestResult('foo', failures=failure_crash) # Should not raise an exception for TIMEOUT and FAIL. TestResult('foo', failures=failure_timeout) with self.assertRaises(AssertionError): TestResult('foo', failures=failure_early_exit)
def test_results_has_stderr(self): driver_output = DriverOutput(None, None, None, None, error='error') failures = [test_failures.FailureCrash(driver_output, None)] result = TestResult('foo', failures=failures) self.assertTrue(result.has_stderr)