(self)
| 2495 | 'resources: all,tzdata') |
| 2496 | |
| 2497 | def test_match_test(self): |
| 2498 | class Test: |
| 2499 | def __init__(self, test_id): |
| 2500 | self.test_id = test_id |
| 2501 | |
| 2502 | def id(self): |
| 2503 | return self.test_id |
| 2504 | |
| 2505 | # Restore patterns once the test completes |
| 2506 | patterns = get_match_tests() |
| 2507 | self.addCleanup(set_match_tests, patterns) |
| 2508 | |
| 2509 | test_access = Test('test.test_os.FileTests.test_access') |
| 2510 | test_chdir = Test('test.test_os.Win32ErrorTests.test_chdir') |
| 2511 | test_copy = Test('test.test_shutil.TestCopy.test_copy') |
| 2512 | |
| 2513 | # Test acceptance |
| 2514 | with support.swap_attr(support, '_test_matchers', ()): |
| 2515 | # match all |
| 2516 | set_match_tests([]) |
| 2517 | self.assertTrue(match_test(test_access)) |
| 2518 | self.assertTrue(match_test(test_chdir)) |
| 2519 | |
| 2520 | # match all using None |
| 2521 | set_match_tests(None) |
| 2522 | self.assertTrue(match_test(test_access)) |
| 2523 | self.assertTrue(match_test(test_chdir)) |
| 2524 | |
| 2525 | # match the full test identifier |
| 2526 | set_match_tests([(test_access.id(), True)]) |
| 2527 | self.assertTrue(match_test(test_access)) |
| 2528 | self.assertFalse(match_test(test_chdir)) |
| 2529 | |
| 2530 | # match the module name |
| 2531 | set_match_tests([('test_os', True)]) |
| 2532 | self.assertTrue(match_test(test_access)) |
| 2533 | self.assertTrue(match_test(test_chdir)) |
| 2534 | self.assertFalse(match_test(test_copy)) |
| 2535 | |
| 2536 | # Test '*' pattern |
| 2537 | set_match_tests([('test_*', True)]) |
| 2538 | self.assertTrue(match_test(test_access)) |
| 2539 | self.assertTrue(match_test(test_chdir)) |
| 2540 | |
| 2541 | # Test case sensitivity |
| 2542 | set_match_tests([('filetests', True)]) |
| 2543 | self.assertFalse(match_test(test_access)) |
| 2544 | set_match_tests([('FileTests', True)]) |
| 2545 | self.assertTrue(match_test(test_access)) |
| 2546 | |
| 2547 | # Test pattern containing '.' and a '*' metacharacter |
| 2548 | set_match_tests([('*test_os.*.test_*', True)]) |
| 2549 | self.assertTrue(match_test(test_access)) |
| 2550 | self.assertTrue(match_test(test_chdir)) |
| 2551 | self.assertFalse(match_test(test_copy)) |
| 2552 | |
| 2553 | # Multiple patterns |
| 2554 | set_match_tests([(test_access.id(), True), (test_chdir.id(), True)]) |
nothing calls this directly
no test coverage detected