| import re |
| |
| |
| class KnownIssuesFinder(object): |
| |
| def __init__(self): |
| self.count = 0 |
| self._pattern = re.compile('# *KNOWN-ISSUE') |
| |
| def find_known_issues(self, package): |
| for file in self._find_test_module_files(package): |
| self._count_known_issues(file) |
| |
| def _find_test_module_files(self, package): |
| for name in dir(package): |
| if name.startswith('test'): |
| module = getattr(package, name) |
| yield module.__file__ |
| |
| def _count_known_issues(self, file): |
| if file.endswith('.pyc') or file.endswith('.pyo'): |
| file = file[0:-1] |
| for line in open(file): |
| if self._pattern.search(line) is not None: |
| self.count += 1 |