| #!/usr/bin/env python | |
| # Copyright 2015 The Chromium Authors. All rights reserved. | |
| # Use of this source code is governed by a BSD-style license that can be | |
| # found in the LICENSE file. | |
| # pylint: disable=protected-access | |
| import logging | |
| import sys | |
| import unittest | |
| import unittest_util | |
| class FilterTestNamesTest(unittest.TestCase): | |
| possible_list = ["Foo.One", | |
| "Foo.Two", | |
| "Foo.Three", | |
| "Bar.One", | |
| "Bar.Two", | |
| "Bar.Three", | |
| "Quux.One", | |
| "Quux.Two", | |
| "Quux.Three"] | |
| def testMatchAll(self): | |
| x = unittest_util.FilterTestNames(self.possible_list, "*") | |
| self.assertEquals(x, self.possible_list) | |
| def testMatchPartial(self): | |
| x = unittest_util.FilterTestNames(self.possible_list, "Foo.*") | |
| self.assertEquals(x, ["Foo.One", "Foo.Two", "Foo.Three"]) | |
| def testMatchFull(self): | |
| x = unittest_util.FilterTestNames(self.possible_list, "Foo.Two") | |
| self.assertEquals(x, ["Foo.Two"]) | |
| def testMatchTwo(self): | |
| x = unittest_util.FilterTestNames(self.possible_list, "Bar.*:Foo.*") | |
| self.assertEquals(x, ["Bar.One", | |
| "Bar.Two", | |
| "Bar.Three", | |
| "Foo.One", | |
| "Foo.Two", | |
| "Foo.Three"]) | |
| def testMatchWithNegative(self): | |
| x = unittest_util.FilterTestNames(self.possible_list, "Bar.*:Foo.*-*.Three") | |
| self.assertEquals(x, ["Bar.One", | |
| "Bar.Two", | |
| "Foo.One", | |
| "Foo.Two"]) | |
| def testMatchOverlapping(self): | |
| x = unittest_util.FilterTestNames(self.possible_list, "Bar.*:*.Two") | |
| self.assertEquals(x, ["Bar.One", | |
| "Bar.Two", | |
| "Bar.Three", | |
| "Foo.Two", | |
| "Quux.Two"]) | |
| if __name__ == '__main__': | |
| logging.getLogger().setLevel(logging.DEBUG) | |
| unittest.main(verbosity=2) |