summaryrefslogtreecommitdiff
path: root/tests/utils_tests
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2021-09-16 20:20:54 +0200
committerGitHub <noreply@github.com>2021-09-16 20:20:54 +0200
commitf1bcaa9be8227dce89a320ce1ca37e1df7c80d03 (patch)
tree763cbb3f4dd31971f7bfe0d218266821168c007b /tests/utils_tests
parent306607d5b99b6eca6ae2c1e726d8eb32b9b2ca1b (diff)
downloaddjango-f1bcaa9be8227dce89a320ce1ca37e1df7c80d03.tar.gz
Refs #32074 -- Fixed find_module()/find_loader() warnings on Python 3.10+.
Diffstat (limited to 'tests/utils_tests')
-rw-r--r--tests/utils_tests/test_module_loading.py43
1 files changed, 25 insertions, 18 deletions
diff --git a/tests/utils_tests/test_module_loading.py b/tests/utils_tests/test_module_loading.py
index ac54fd6b8e..773c0a2735 100644
--- a/tests/utils_tests/test_module_loading.py
+++ b/tests/utils_tests/test_module_loading.py
@@ -9,6 +9,7 @@ from django.test.utils import extend_sys_path
from django.utils.module_loading import (
autodiscover_modules, import_string, module_has_submodule,
)
+from django.utils.version import PY310
class DefaultLoader(unittest.TestCase):
@@ -184,32 +185,38 @@ class AutodiscoverModulesTestCase(SimpleTestCase):
self.assertEqual(site._registry, {'lorem': 'ipsum'})
-class TestFinder:
- def __init__(self, *args, **kwargs):
- self.importer = zipimporter(*args, **kwargs)
+if PY310:
+ class TestFinder:
+ def __init__(self, *args, **kwargs):
+ self.importer = zipimporter(*args, **kwargs)
- def find_module(self, path):
- importer = self.importer.find_module(path)
- if importer is None:
- return
- return TestLoader(importer)
+ def find_spec(self, path, target=None):
+ return self.importer.find_spec(path, target)
+else:
+ class TestFinder:
+ def __init__(self, *args, **kwargs):
+ self.importer = zipimporter(*args, **kwargs)
+ def find_module(self, path):
+ importer = self.importer.find_module(path)
+ if importer is None:
+ return
+ return TestLoader(importer)
-class TestLoader:
- def __init__(self, importer):
- self.importer = importer
+ class TestLoader:
+ def __init__(self, importer):
+ self.importer = importer
- def load_module(self, name):
- mod = self.importer.load_module(name)
- mod.__loader__ = self
- return mod
+ def load_module(self, name):
+ mod = self.importer.load_module(name)
+ mod.__loader__ = self
+ return mod
class CustomLoader(EggLoader):
"""The Custom Loader test is exactly the same as the EggLoader, but
- it uses a custom defined Loader and Finder that is intentionally
- split into two classes. Although the EggLoader combines both functions
- into one class, this isn't required.
+ it uses a custom defined Loader class. Although the EggLoader combines both
+ functions into one class, this isn't required.
"""
def setUp(self):
super().setUp()