15 return report_element(bad_object, 'error', error_name, args) |
15 return report_element(bad_object, 'error', error_name, args) |
16 |
16 |
17 def notice(bad_object, error_name, **args): |
17 def notice(bad_object, error_name, **args): |
18 return report_element(bad_object, 'notice', error_name, args) |
18 return report_element(bad_object, 'notice', error_name, args) |
19 |
19 |
|
20 def name_of_package(package): |
|
21 if isinstance(package, tuple): |
|
22 return package[1] |
|
23 else: |
|
24 return package.name |
|
25 |
20 def test_discovery(): |
26 def test_discovery(): |
21 ''' |
27 ''' |
22 Finds all test modules and yields their names. |
28 Finds all test modules and yields their names. |
23 ''' |
29 ''' |
24 from pkgutil import walk_packages |
30 from pkgutil import walk_packages |
25 import tests |
31 import tests |
26 yield from sorted( |
32 yield from sorted( |
27 'tests.' + result.name |
33 'tests.' + name_of_package(result) |
28 for result in walk_packages(tests.__path__) |
34 for result in walk_packages(tests.__path__) |
29 ) |
35 ) |
30 |
36 |
31 def do_manifest_integrity_checks(test_suite, module): |
37 def do_manifest_integrity_checks(test_suite, module): |
32 ''' |
38 ''' |