]), ]), # Case 7, same as case 6, different syntax (((filtering.Pattern('*:*:test_one') & filtering.Tags('baz')) | (filtering.Pattern.any('*:Alpha:*', '*:Beta:*') & filtering.Tags({'color': 'red'}))), [ ('XXX', [ ('Alpha', ['test_three']), ('Beta', ['test_two']), ]), ('YYY', [ ('Gamma', ['test_one']), ]), ]), # Case 8, inverse filter via Not (filtering.Not(filtering.Pattern('*:*:test_one')), [('XXX', [ ('Alpha', ['test_two', 'test_three']), ('Beta', ['test_two', 'test_three']), ]), ('YYY', (('Gamma', ['test_two', 'test_three']), ))]), # Case 9, Same as case 8, different syntax (~filtering.Pattern('*:*:test_one'), [('XXX', [ ('Alpha', ['test_two', 'test_three']), ('Beta', ['test_two', 'test_three']), ]), ('YYY', (('Gamma', ['test_two', 'test_three']), ))]), )) def test_programmatic_filtering(filter_obj, report_ctx): multitest_x = MultiTest(name='XXX', suites=[Alpha(), Beta()]) multitest_y = MultiTest(name='YYY', suites=[Gamma()]) plan = Testplan(name='plan', parse_cmdline=False, test_filter=filter_obj) plan.add(multitest_x)
def test_not(self): assert ~AlphaFilter() == filtering.Not(AlphaFilter()) assert AlphaFilter() == ~~AlphaFilter()
( ( (filtering.Pattern("*:*:test_one") & filtering.Tags("baz")) | ( filtering.Pattern.any("*:Alpha:*", "*:Beta:*") & filtering.Tags({"color": "red"}) ) ), [ ("XXX", [("Alpha", ["test_three"]), ("Beta", ["test_two"])]), ("YYY", [("Gamma", ["test_one"])]), ], ), # Case 8, inverse filter via Not ( filtering.Not(filtering.Pattern("*:*:test_one")), [ ( "XXX", [ ("Alpha", ["test_two", "test_three"]), ("Beta", ["test_two", "test_three"]), ], ), ("YYY", (("Gamma", ["test_two", "test_three"]),)), ], ), # Case 9, Same as case 8, different syntax ( ~filtering.Pattern("*:*:test_one"), [