|
70 | 70 | old_destroy = None |
71 | 71 | old_create = None |
72 | 72 |
|
| 73 | +template_coverage_collection = None |
| 74 | +url_coverage_collection = None |
| 75 | + |
| 76 | + |
73 | 77 | def safe_create_1(self, verbosity, *args, **kwargs): |
74 | 78 | global test_database_name, old_create |
75 | 79 | print " Creating test database..." |
@@ -103,13 +107,16 @@ def safe_destroy_0_1(*args, **kwargs): |
103 | 107 | return old_destroy(*args, **kwargs) |
104 | 108 |
|
105 | 109 | def template_coverage_loader(template_name, dirs): |
106 | | - loaded_templates.add(str(template_name)) |
| 110 | + if template_coverage_collection == True: |
| 111 | + loaded_templates.add(str(template_name)) |
107 | 112 | raise TemplateDoesNotExist |
108 | 113 | template_coverage_loader.is_usable = True |
109 | 114 |
|
110 | 115 | class RecordUrlsMiddleware(object): |
111 | 116 | def process_request(self, request): |
112 | | - visited_urls.add(request.path) |
| 117 | + global url_coverage_collection |
| 118 | + if url_coverage_collection == True: |
| 119 | + visited_urls.add(request.path) |
113 | 120 |
|
114 | 121 | def get_url_patterns(module, apps=None): |
115 | 122 | def include(name): |
@@ -175,6 +182,18 @@ def save_test_results(failures, test_labels): |
175 | 182 | tfile.close() |
176 | 183 |
|
177 | 184 |
|
| 185 | +def set_coverage_checking(flag=True): |
| 186 | + global template_coverage_collection |
| 187 | + global url_coverage_collection |
| 188 | + if flag: |
| 189 | + settings.TEST_CODE_COVERAGE_CHECKER.collector.resume() |
| 190 | + template_coverage_collection = True |
| 191 | + url_coverage_collection = True |
| 192 | + else: |
| 193 | + settings.TEST_CODE_COVERAGE_CHECKER.collector.pause() |
| 194 | + template_coverage_collection = False |
| 195 | + url_coverage_collection = False |
| 196 | + |
178 | 197 | class CoverageReporter(Reporter): |
179 | 198 | def report(self): |
180 | 199 | self.find_file_reporters(None) |
@@ -325,6 +344,9 @@ def __init__(self, skip_coverage=False, save_version_coverage=None, **kwargs): |
325 | 344 | super(IetfTestRunner, self).__init__(**kwargs) |
326 | 345 |
|
327 | 346 | def setup_test_environment(self, **kwargs): |
| 347 | + global template_coverage_collection |
| 348 | + global url_coverage_collection |
| 349 | + |
328 | 350 | ietf.utils.mail.test_mode = True |
329 | 351 | ietf.utils.mail.SMTP_ADDR['ip4'] = '127.0.0.1' |
330 | 352 | ietf.utils.mail.SMTP_ADDR['port'] = 2025 |
@@ -359,7 +381,10 @@ def setup_test_environment(self, **kwargs): |
359 | 381 | } |
360 | 382 |
|
361 | 383 | settings.TEMPLATE_LOADERS = ('ietf.utils.test_runner.template_coverage_loader',) + settings.TEMPLATE_LOADERS |
| 384 | + template_coverage_collection = True |
| 385 | + |
362 | 386 | settings.MIDDLEWARE_CLASSES = ('ietf.utils.test_runner.RecordUrlsMiddleware',) + settings.MIDDLEWARE_CLASSES |
| 387 | + url_coverage_collection = True |
363 | 388 |
|
364 | 389 | self.code_coverage_checker = settings.TEST_CODE_COVERAGE_CHECKER |
365 | 390 | if not self.code_coverage_checker._started: |
|
0 commit comments