aboutsummaryrefslogtreecommitdiffstats
path: root/examples/runtests.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/runtests.py')
-rw-r--r--examples/runtests.py21
1 files changed, 19 insertions, 2 deletions
diff --git a/examples/runtests.py b/examples/runtests.py
index fd79bc64..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.
@@ -19,8 +33,11 @@ def main():
failures = TestRunner(None)
else:
test_runner = TestRunner()
- failures = test_runner.run_tests(None)
+ 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__':