def testFailureFailureMatching(self): """Tests when there are failure results for failure expectations.""" foo_result = data_types.Result('foo/test', ['win10'], 'Failure', 'pixel_tests', 'build_id') expectation_map = self.GetEmptyMapForGenericFailureExpectation() unmatched_results = expectations.AddResultListToMap( expectation_map, 'builder', [foo_result]) self.assertEqual(unmatched_results, []) expected_expectation_map = self.GetFailedMapForExpectation( self.GetGenericFailureExpectation()) self.assertEqual(expectation_map, expected_expectation_map)
def testRetryOnlyFailMatching(self): """Tests when the only tests are retry expectations that fail and match.""" foo_result = data_types.Result('foo/test', ['win10'], 'Failure', 'pixel_tests', 'build_id') expectation_map = self.GetEmptyMapForGenericRetryExpectation() unmatched_results = expectations.AddResultListToMap( expectation_map, 'builder', [foo_result]) self.assertEqual(unmatched_results, []) expected_expectation_map = self.GetFailedMapForExpectation( self.GetGenericRetryExpectation()) self.assertEqual(expectation_map, expected_expectation_map)
def testRetryFailThenPassMatching(self): """Tests when there are pass and fail results for retry expectations.""" foo_fail_result = data_types.Result('foo/test', ['win10'], 'Failure', 'pixel_tests', 'build_id') foo_pass_result = data_types.Result('foo/test', ['win10'], 'Pass', 'pixel_tests', 'build_id') expectation_map = self.GetEmptyMapForGenericRetryExpectation() unmatched_results = expectations.AddResultListToMap( expectation_map, 'builder', [foo_fail_result, foo_pass_result]) self.assertEqual(unmatched_results, []) expected_expectation_map = self.GetFailedMapForExpectation( self.GetGenericRetryExpectation()) self.assertEqual(expectation_map, expected_expectation_map)
def _QueryAddCombined(self, inputs): """Combines the query and add steps for use in a process pool. Args: inputs: An iterable of inputs for QueryBuilder() and expectations.AddResultListToMap(). Should be in the order: builder builder_type expectation_map Returns: The output of expectations.AddResultListToMap(). """ builder, builder_type, expectation_map = inputs results = self.QueryBuilder(builder, builder_type) prefixed_builder_name = '%s:%s' % (builder_type, builder) unmatched_results = expectations.AddResultListToMap( expectation_map, prefixed_builder_name, results) return unmatched_results, prefixed_builder_name, expectation_map
def testMismatches(self): """Tests that unmatched results get returned.""" foo_match_result = data_types.Result('foo/test', ['win10'], 'Pass', 'pixel_tests', 'build_id') foo_mismatch_result = data_types.Result('foo/not_a_test', ['win10'], 'Failure', 'pixel_tests', 'build_id') bar_result = data_types.Result('bar/test', ['win10'], 'Pass', 'pixel_tests', 'build_id') expectation_map = self.GetEmptyMapForGenericFailureExpectation() unmatched_results = expectations.AddResultListToMap( expectation_map, 'builder', [foo_match_result, foo_mismatch_result, bar_result]) self.assertEqual(len(set(unmatched_results)), 2) self.assertEqual(set(unmatched_results), set([foo_mismatch_result, bar_result])) expected_expectation_map = self.GetPassedMapForExpectation( self.GetGenericFailureExpectation()) self.assertEqual(expectation_map, expected_expectation_map)