summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 c7b607a9..8d2218d2 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 9410e071..dacb9b63 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.