diff options
| author | markotibold | 2011-04-27 15:07:25 +0200 |
|---|---|---|
| committer | markotibold | 2011-04-27 15:07:25 +0200 |
| commit | 116a9ee82486fb31a9132db837569460fe1eb5da (patch) | |
| tree | 85432ddc59664164a3cc1b4fd8911c12b17a51b8 /examples/runtests.py | |
| parent | 391560e69c5e37edac2e3c470253e7dce3c62511 (diff) | |
| download | django-rest-framework-116a9ee82486fb31a9132db837569460fe1eb5da.tar.bz2 | |
Stole some code from djangorestframework/runtests/runcoverage.py so that coverage is also implemented for the examples. Because Jenkins looks for a coverage.xml file for all defeined projects in tox.ini we need it to pass the tests.
Diffstat (limited to 'examples/runtests.py')
| -rw-r--r-- | examples/runtests.py | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/examples/runtests.py b/examples/runtests.py index b420968f..fdd35839 100644 --- a/examples/runtests.py +++ b/examples/runtests.py @@ -4,10 +4,24 @@ os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' from django.conf import settings from django.test.utils import get_runner +from coverage import coverage def main(): + """Run the tests for the examples and generate a coverage report.""" + + # Discover the list of all modules that we should test coverage for + project_dir = os.path.dirname(__file__) + cov_files = [] + for (path, dirs, files) in os.walk(project_dir): + # Drop tests and runtests directories from the test coverage report + if os.path.basename(path) == 'tests' or os.path.basename(path) == 'runtests': + continue + cov_files.extend([os.path.join(path, file) for file in files if file.endswith('.py')]) TestRunner = get_runner(settings) - + + cov = coverage() + cov.erase() + cov.start() if hasattr(TestRunner, 'func_name'): # Pre 1.2 test runners were just functions, # and did not support the 'failfast' option. @@ -21,6 +35,9 @@ def main(): test_runner = TestRunner() failures = test_runner.run_tests(['blogpost', 'pygments_api']) + cov.stop() + cov.report(cov_files) + cov.xml_report(cov_files) sys.exit(failures) if __name__ == '__main__': |
