def GetTestRunFilterArg(args, test_run): """ Merges json file filters with cmdline filters using test_filter.InitializeFilterFromArgs """ # Convert cmdline filters to test-filter style filter_string = test_filter.InitializeFilterFromArgs(args) # Only add inclusion filters if there's not already one specified, since # they would conflict, see test_filter.ConflictingPositiveFiltersException. if not test_filter.HasPositivePatterns(filter_string): includes = test_run.get("includes", []) filter_string = test_filter.AppendPatternsToFilter( filter_string, positive_patterns=[i["match"] for i in includes]) excludes = test_run.get("excludes", []) filter_string = test_filter.AppendPatternsToFilter( filter_string, negative_patterns=[e["match"] for e in excludes]) if args.skip_expected_failures: filter_string = test_filter.AppendPatternsToFilter( filter_string, negative_patterns=GetExpectedFailures()) if filter_string: return [TEST_FILTER_OPT + '=' + filter_string] else: return []
def testRepeatedAppendToFilter(self): expected = 'positive1:positive2:positive3-negative1:negative2:negative3' filter_string = test_filter.AppendPatternsToFilter( 'positive1-negative1', ['positive2'], ['negative2']) actual = test_filter.AppendPatternsToFilter(filter_string, ['positive3'], ['negative3']) self.assertEqual(actual, expected)
def testAppendBothToFilter(self): expected = 'positive1:positive2-negative1:negative2' actual = test_filter.AppendPatternsToFilter( 'positive1-negative1', positive_patterns=['positive2'], negative_patterns=['negative2']) self.assertEqual(actual, expected)
def testAppendHashSeparatedPatternsToFilter(self): expected = 'positive.test1:positive.test2-negative.test1:negative.test2' actual = test_filter.AppendPatternsToFilter( 'positive#test1-negative#test1', ['positive#test2'], ['negative#test2']) self.assertEqual(actual, expected)
def testAppendMultipleToFilter(self): expected = 'positive1:positive2:positive3-negative1:negative2:negative3' actual = test_filter.AppendPatternsToFilter('positive1-negative1', ['positive2', 'positive3'], ['negative2', 'negative3']) self.assertEqual(actual, expected)
def testAppendPositiveToFilter(self): expected = 'positive1:positive2-negative1' actual = test_filter.AppendPatternsToFilter('positive1-negative1', ['positive2']) self.assertEqual(actual, expected)
def testAppendToNegativeOnlyFilter(self): expected = 'positive-negative1:negative2' actual = test_filter.AppendPatternsToFilter('-negative1', ['positive'], ['negative2']) self.assertEqual(actual, expected)
def testAppendToEmptyFilter(self): expected = 'positive-negative' actual = test_filter.AppendPatternsToFilter('', ['positive'], ['negative']) self.assertEqual(actual, expected)
def testAppendOnlyNegativeToEmptyFilter(self): expected = '-negative' actual = test_filter.AppendPatternsToFilter( '', negative_patterns=['negative']) self.assertEqual(actual, expected)
def testAllEmpty(self): expected = '' actual = test_filter.AppendPatternsToFilter('', [], []) self.assertEqual(actual, expected)
def testAppendOnlyPositiveToEmptyFilter(self): expected = 'positive' actual = test_filter.AppendPatternsToFilter('', ['positive']) self.assertEquals(actual, expected)