def test_run_single_platform_failure(self): """Tests the main run method in a case where one test fails on one platform.""" host = self.mock_host() # Fill in an initial value for TestExpectations expectations_path = host.port_factory.get( ).path_to_generic_test_expectations_file() host.filesystem.write_text_file(expectations_path, MARKER_COMMENT + '\n') # Set up fake try job results. updater = WPTExpectationsUpdater(host) updater.git_cl = MockGitCL( updater.host, { Build('MOCK Try Mac10.10', 333): TryJobStatus('COMPLETED', 'FAILURE'), Build('MOCK Try Mac10.11', 111): TryJobStatus('COMPLETED', 'SUCCESS'), Build('MOCK Try Trusty', 222): TryJobStatus('COMPLETED', 'SUCCESS'), Build('MOCK Try Precise', 333): TryJobStatus('COMPLETED', 'SUCCESS'), Build('MOCK Try Win10', 444): TryJobStatus('COMPLETED', 'SUCCESS'), Build('MOCK Try Win7', 555): TryJobStatus('COMPLETED', 'SUCCESS'), }) # Set up failing results for one try bot. It shouldn't matter what # results are for the other builders since we shouldn't need to even # fetch results, since the try job status already tells us that all # of the tests passed. host.buildbot.set_results( Build('MOCK Try Mac10.10', 333), LayoutTestResults({ 'tests': { 'external': { 'wpt': { 'test': { 'path.html': { 'expected': 'PASS', 'actual': 'TIMEOUT', 'is_unexpected': True, } } } } } })) self.assertEqual(0, updater.run(args=[])) # Results are only fetched for failing builds. self.assertEqual(host.buildbot.fetched_builds, [Build('MOCK Try Mac10.10', 333)]) self.assertEqual( host.filesystem.read_text_file(expectations_path), '# ====== New tests from wpt-importer added here ======\n' 'crbug.com/626703 [ Mac10.10 ] external/wpt/test/path.html [ Timeout ]\n' )
def test_run_no_try_results(self): updater = WPTExpectationsUpdater(self.mock_host()) updater.git_cl = MockGitCL(updater.host, {}) with self.assertRaises(ScriptError) as e: updater.run(args=[]) self.assertEqual(e.exception.message, 'No try job information was collected.')
def test_run_no_try_results(self): updater = WPTExpectationsUpdater(self.mock_host()) updater.git_cl = MockGitCL(updater.host, {}) self.assertEqual(1, updater.run(args=[])) self.assertLog(['ERROR: No try job information was collected.\n'])
def test_run_no_issue_number(self): updater = WPTExpectationsUpdater(self.mock_host()) updater.git_cl = MockGitCL(updater.host, issue_number='None') with self.assertRaises(ScriptError) as e: updater.run(args=[]) self.assertEqual(e.exception.message, 'No issue on current branch.')
def test_run_no_issue_number(self): updater = WPTExpectationsUpdater(self.mock_host()) updater.git_cl = MockGitCL(updater.host, issue_number='None') self.assertEqual(1, updater.run(args=[])) self.assertLog(['ERROR: No issue on current branch.\n'])