|
44 | 44 | import warnings |
45 | 45 | import datetime |
46 | 46 | import codecs |
| 47 | +import gzip |
| 48 | + |
47 | 49 | from coverage.report import Reporter |
48 | 50 | from coverage.results import Numbers |
49 | 51 | from coverage.misc import NotPython |
@@ -285,7 +287,7 @@ def code_coverage_test(self): |
285 | 287 | checker.stop() |
286 | 288 | # Save to the .coverage file |
287 | 289 | checker.save() |
288 | | - # Apply the confirured and requested omit and include data |
| 290 | + # Apply the configured and requested omit and include data |
289 | 291 | checker.config.from_args(ignore_errors=None, omit=settings.TEST_CODE_COVERAGE_EXCLUDE, |
290 | 292 | include=include, file=None) |
291 | 293 | # Maybe output a html report |
@@ -324,8 +326,12 @@ def setup_test_environment(self, **kwargs): |
324 | 326 | ietf.utils.mail.SMTP_ADDR['port'] = 2025 |
325 | 327 | # |
326 | 328 | if self.check_coverage: |
327 | | - with codecs.open(self.coverage_file, encoding='utf-8') as file: |
328 | | - self.coverage_master = json.load(file) |
| 329 | + if self.coverage_file.endswith('.gz'): |
| 330 | + with gzip.open(self.coverage_file, "rb") as file: |
| 331 | + self.coverage_master = json.load(file) |
| 332 | + else: |
| 333 | + with codecs.open(self.coverage_file, encoding='utf-8') as file: |
| 334 | + self.coverage_master = json.load(file) |
329 | 335 | self.coverage_data = { |
330 | 336 | "time": datetime.datetime.now(pytz.utc).strftime("%Y-%m-%dT%H:%M:%SZ"), |
331 | 337 | "template": { |
@@ -381,16 +387,20 @@ def teardown_test_environment(self, **kwargs): |
381 | 387 | self.smtpd_driver.stop() |
382 | 388 | if self.check_coverage: |
383 | 389 | latest_coverage_file = os.path.join(self.root_dir, settings.TEST_COVERAGE_LATEST_FILE) |
| 390 | + coverage_latest = {} |
| 391 | + coverage_latest["version"] = "latest" |
| 392 | + coverage_latest["latest"] = self.coverage_data |
384 | 393 | with codecs.open(latest_coverage_file, "w", encoding='utf-8') as file: |
385 | | - coverage_latest = {} |
386 | | - coverage_latest["version"] = "latest" |
387 | | - coverage_latest["latest"] = self.coverage_data |
388 | 394 | json.dump(coverage_latest, file, indent=2, sort_keys=True) |
389 | 395 | if self.save_version_coverage: |
390 | | - with codecs.open(self.coverage_file, "w", encoding="utf-8") as file: |
391 | | - self.coverage_master["version"] = self.save_version_coverage |
392 | | - self.coverage_master[self.save_version_coverage] = self.coverage_data |
393 | | - json.dump(self.coverage_master, file, indent=2, sort_keys=True) |
| 396 | + self.coverage_master["version"] = self.save_version_coverage |
| 397 | + self.coverage_master[self.save_version_coverage] = self.coverage_data |
| 398 | + if self.coverage_file.endswith('.gz'): |
| 399 | + with gzip.open(self.coverage_file, "wb") as file: |
| 400 | + json.dump(self.coverage_master, file, indent=2, sort_keys=True) |
| 401 | + else: |
| 402 | + with codecs.open(self.coverage_file, "w", encoding="utf-8") as file: |
| 403 | + json.dump(self.coverage_master, file, indent=2, sort_keys=True) |
394 | 404 | super(IetfTestRunner, self).teardown_test_environment(**kwargs) |
395 | 405 |
|
396 | 406 | def get_test_paths(self, test_labels): |
|
0 commit comments