Exemple #1
0
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 []
Exemple #2
0
 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)
Exemple #3
0
 def testAppendBothToFilter(self):
     expected = 'positive1:positive2-negative1:negative2'
     actual = test_filter.AppendPatternsToFilter(
         'positive1-negative1',
         positive_patterns=['positive2'],
         negative_patterns=['negative2'])
     self.assertEqual(actual, expected)
Exemple #4
0
 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)
Exemple #5
0
 def testAppendMultipleToFilter(self):
     expected = 'positive1:positive2:positive3-negative1:negative2:negative3'
     actual = test_filter.AppendPatternsToFilter('positive1-negative1',
                                                 ['positive2', 'positive3'],
                                                 ['negative2', 'negative3'])
     self.assertEqual(actual, expected)
Exemple #6
0
 def testAppendPositiveToFilter(self):
     expected = 'positive1:positive2-negative1'
     actual = test_filter.AppendPatternsToFilter('positive1-negative1',
                                                 ['positive2'])
     self.assertEqual(actual, expected)
Exemple #7
0
 def testAppendToNegativeOnlyFilter(self):
     expected = 'positive-negative1:negative2'
     actual = test_filter.AppendPatternsToFilter('-negative1', ['positive'],
                                                 ['negative2'])
     self.assertEqual(actual, expected)
Exemple #8
0
 def testAppendToEmptyFilter(self):
     expected = 'positive-negative'
     actual = test_filter.AppendPatternsToFilter('', ['positive'],
                                                 ['negative'])
     self.assertEqual(actual, expected)
Exemple #9
0
 def testAppendOnlyNegativeToEmptyFilter(self):
     expected = '-negative'
     actual = test_filter.AppendPatternsToFilter(
         '', negative_patterns=['negative'])
     self.assertEqual(actual, expected)
Exemple #10
0
 def testAllEmpty(self):
     expected = ''
     actual = test_filter.AppendPatternsToFilter('', [], [])
     self.assertEqual(actual, expected)
Exemple #11
0
 def testAppendOnlyPositiveToEmptyFilter(self):
     expected = 'positive'
     actual = test_filter.AppendPatternsToFilter('', ['positive'])
     self.assertEquals(actual, expected)