3434
3535import socket , re , os , time , importlib
3636import warnings
37- import coverage
3837
3938from django .conf import settings
4039from django .template import TemplateDoesNotExist
@@ -187,9 +186,6 @@ def save_test_results(failures, test_labels):
187186
188187
189188class IetfTestRunner (DiscoverRunner ):
190- def test_code_coverage (self ):
191- pass
192-
193189 def run_tests (self , test_labels , extra_tests = None , ** kwargs ):
194190 # Tests that involve switching back and forth between the real
195191 # database and the test database are way too dangerous to run
@@ -207,20 +203,11 @@ def run_tests(self, test_labels, extra_tests=None, **kwargs):
207203 old_destroy = connection .creation .__class__ .destroy_test_db
208204 connection .creation .__class__ .destroy_test_db = safe_destroy_0_1
209205
210- do_template_coverage = not test_labels
211- do_url_coverage = not test_labels
212- do_code_coverage = True
213-
214- if do_template_coverage :
206+ check_coverage = not test_labels
207+
208+ if check_coverage :
215209 settings .TEMPLATE_LOADERS = ('ietf.utils.test_runner.template_coverage_loader' ,) + settings .TEMPLATE_LOADERS
216- if do_url_coverage :
217210 settings .MIDDLEWARE_CLASSES = ('ietf.utils.test_runner.RecordUrlsMiddleware' ,) + settings .MIDDLEWARE_CLASSES
218- if do_code_coverage :
219- import ietf .settings as config
220- sources = [ os .path .dirname (config .__file__ ), ]
221- code_coverage = coverage .coverage (source = sources , cover_pylib = False ,
222- omit = ['^0*' ])
223- code_coverage .start ()
224211
225212 if not test_labels : # we only want to run our own tests
226213 test_labels = [app for app in settings .INSTALLED_APPS if app .startswith ("ietf" )]
@@ -243,20 +230,10 @@ def run_tests(self, test_labels, extra_tests=None, **kwargs):
243230 finally :
244231 smtpd_driver .stop ()
245232
246- if do_template_coverage and not failures :
233+ if check_coverage and not failures :
247234 check_template_coverage (self .verbosity )
248- if do_url_coverage and not failures :
249235 check_url_coverage (self .verbosity )
250- if do_code_coverage and not failures :
251- code_coverage .stop ()
252- code_coverage .save ()
253- code_coverage_pct = code_coverage .report (file = "coverage.txt" )
254- print ("Code coverage: %6.3f%%. Details written to coverage.txt" % code_coverage_pct )
255- # with open("sysinfo.txt", "w") as file:
256- # import pprint
257- # pprint.pprint(code_coverage.sysinfo(), file)
258- # print("Sysinfo written to sysinfo.txt")
259- if (do_template_coverage or do_url_coverage or do_code_coverage ) and not failures :
236+
260237 print "0 test failures - coverage shown above"
261238
262239 save_test_results (failures , test_labels )
0 commit comments