def test_get_tests_to_rebaseline_returns_updated_dict(self):
     host = self.mock_host()
     results = {
         'external/wpt/test/path.html': {
             'one':
             SimpleTestResult(expected='PASS', actual='TEXT', bug='bug'),
             'two':
             SimpleTestResult(expected='PASS', actual='TIMEOUT', bug='bug'),
         },
     }
     results_copy = copy.deepcopy(results)
     updater = WPTExpectationsUpdater(host)
     tests_to_rebaseline, modified_test_results = updater.get_tests_to_rebaseline(
         results)
     self.assertEqual(tests_to_rebaseline, ['external/wpt/test/path.html'])
     # The record for the builder with a timeout is kept, but not with a text mismatch,
     # since that should be covered by downloading a new baseline.
     self.assertEqual(
         modified_test_results, {
             'external/wpt/test/path.html': {
                 'two':
                 SimpleTestResult(
                     expected='PASS', actual='TIMEOUT', bug='bug'),
             },
         })
     # The original dict isn't modified.
     self.assertEqual(results, results_copy)
예제 #2
0
 def test_new_manual_tests_get_skip_expectation(self):
     host = self.mock_host()
     updater = WPTExpectationsUpdater(host)
     results = {
         'external/wpt/x-manual.html': {
             (
                 'test-linux-precise',
                 'test-linux-trusty',
                 'test-mac-mac10.10',
                 'test-mac-mac10.11',
                 'test-win-win7',
                 'test-win-win10',
             ):
             SimpleTestResult(expected='PASS',
                              actual='MISSING',
                              bug='crbug.com/test')
         }
     }
     tests_to_rebaseline, _ = updater.get_tests_to_rebaseline(results)
     self.assertEqual(tests_to_rebaseline, [])
     self.assertEqual(
         updater.create_line_dict(results), {
             'external/wpt/x-manual.html':
             ['crbug.com/test external/wpt/x-manual.html [ Skip ]']
         })
 def test_get_tests_to_rebaseline_handles_retries(self):
     host = self.mock_host()
     results = {
         'external/wpt/test/foo.html': {
             'bot':
             SimpleTestResult(expected='PASS',
                              actual='TEXT TEXT',
                              bug='bug'),
         },
         'external/wpt/test/bar.html': {
             'bot':
             SimpleTestResult(expected='PASS',
                              actual='TIMEOUT TIMEOUT',
                              bug='bug'),
         },
     }
     updater = WPTExpectationsUpdater(host)
     tests_to_rebaseline, modified_test_results = updater.get_tests_to_rebaseline(
         results)
     self.assertEqual(tests_to_rebaseline, ['external/wpt/test/foo.html'])
     self.assertEqual(
         modified_test_results, {
             'external/wpt/test/foo.html': {},
             'external/wpt/test/bar.html': {
                 'bot':
                 SimpleTestResult(
                     expected='PASS', actual='TIMEOUT TIMEOUT', bug='bug'),
             },
         })
예제 #4
0
 def test_get_test_to_rebaseline_does_not_return_ref_tests(self):
     host = self.mock_host()
     updater = WPTExpectationsUpdater(host)
     two = {
         'external/wpt/reftest.html': {
             'one': SimpleTestResult(expected='FAIL', actual='PASS', bug='crbug.com/test'),
             'two': SimpleTestResult(expected='FAIL', actual='TIMEOUT', bug='crbug.com/test'),
             'three': SimpleTestResult(expected='FAIL', actual='PASS', bug='crbug.com/test'),
         }
     }
     tests_to_rebaseline, _ = updater.get_tests_to_rebaseline(two)
     self.assertEqual(tests_to_rebaseline, [])
예제 #5
0
 def test_get_test_to_rebaseline_returns_only_tests_with_failures(self):
     host = self.mock_host()
     updater = WPTExpectationsUpdater(host)
     two = {
         'external/wpt/test/path.html': {
             'one': SimpleTestResult(expected='FAIL', actual='PASS', bug='bug'),
             'two': SimpleTestResult(expected='FAIL', actual='TIMEOUT', bug='bug'),
             'three': SimpleTestResult(expected='FAIL', actual='PASS', bug='bug'),
         }
     }
     tests_to_rebaseline, _ = updater.get_tests_to_rebaseline(two)
     # external/wpt/test/zzzz.html is another possible candidate, but it
     # is not listed in the results dict, so it shall not be rebaselined.
     self.assertEqual(tests_to_rebaseline, ['external/wpt/test/path.html'])