summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2016-11-09 12:47:07 -0500
committerNed Batchelder <ned@nedbatchelder.com>2016-11-09 12:47:07 -0500
commite45b0a61da93eaf6d16f4229f2ce060264594cd3 (patch)
tree1ca1092ca5e34bdb325d3f9d3be33e9ec9823b0d
parentc5ed1e9e27565cb52ee94227122d337237ff34be (diff)
downloadpython-coveragepy-e45b0a61da93eaf6d16f4229f2ce060264594cd3.tar.gz
When importing newly made files, we have to invalidate import caches
-rw-r--r--coverage/backward.py6
-rw-r--r--tests/coveragetest.py3
2 files changed, 9 insertions, 0 deletions
diff --git a/coverage/backward.py b/coverage/backward.py
index c7b607a..8d2218d 100644
--- a/coverage/backward.py
+++ b/coverage/backward.py
@@ -144,6 +144,12 @@ except AttributeError:
PYC_MAGIC_NUMBER = imp.get_magic()
+def invalidate_import_caches():
+ """Invalidate any import caches that may or may not exist."""
+ if importlib and hasattr(importlib, "invalidate_caches"):
+ importlib.invalidate_caches()
+
+
def import_local_file(modname, modfile=None):
"""Import a local file as a module.
diff --git a/tests/coveragetest.py b/tests/coveragetest.py
index 9410e07..dacb9b6 100644
--- a/tests/coveragetest.py
+++ b/tests/coveragetest.py
@@ -21,6 +21,7 @@ from unittest_mixins import (
import coverage
from coverage.backunittest import TestCase
from coverage.backward import StringIO, import_local_file, string_class, shlex_quote
+from coverage.backward import invalidate_import_caches
from coverage.cmdline import CoverageScript
from coverage.debug import _TEST_NAME_FILE, DebugControl
@@ -77,6 +78,8 @@ class CoverageTest(
if os.path.exists("__pycache__"):
shutil.rmtree("__pycache__")
+ invalidate_import_caches()
+
def import_local_file(self, modname, modfile=None):
"""Import a local file as a module.