mirror of https://github.com/pallets/flask.git
remove tests about deprecated pkgutil.get_loader
This commit is contained in:
parent
2732c4db66
commit
41ec5760a2
|
@ -1,5 +1,4 @@
|
||||||
import os
|
import os
|
||||||
import pkgutil
|
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
@ -96,37 +95,6 @@ def leak_detector():
|
||||||
assert leaks == []
|
assert leaks == []
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(params=(True, False))
|
|
||||||
def limit_loader(request, monkeypatch):
|
|
||||||
"""Patch pkgutil.get_loader to give loader without get_filename or archive.
|
|
||||||
|
|
||||||
This provides for tests where a system has custom loaders, e.g. Google App
|
|
||||||
Engine's HardenedModulesHook, which have neither the `get_filename` method
|
|
||||||
nor the `archive` attribute.
|
|
||||||
|
|
||||||
This fixture will run the testcase twice, once with and once without the
|
|
||||||
limitation/mock.
|
|
||||||
"""
|
|
||||||
if not request.param:
|
|
||||||
return
|
|
||||||
|
|
||||||
class LimitedLoader:
|
|
||||||
def __init__(self, loader):
|
|
||||||
self.loader = loader
|
|
||||||
|
|
||||||
def __getattr__(self, name):
|
|
||||||
if name in {"archive", "get_filename"}:
|
|
||||||
raise AttributeError(f"Mocking a loader which does not have {name!r}.")
|
|
||||||
return getattr(self.loader, name)
|
|
||||||
|
|
||||||
old_get_loader = pkgutil.get_loader
|
|
||||||
|
|
||||||
def get_loader(*args, **kwargs):
|
|
||||||
return LimitedLoader(old_get_loader(*args, **kwargs))
|
|
||||||
|
|
||||||
monkeypatch.setattr(pkgutil, "get_loader", get_loader)
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def modules_tmp_path(tmp_path, monkeypatch):
|
def modules_tmp_path(tmp_path, monkeypatch):
|
||||||
"""A temporary directory added to sys.path."""
|
"""A temporary directory added to sys.path."""
|
||||||
|
|
|
@ -63,7 +63,7 @@ def test_uninstalled_namespace_paths(tmp_path, monkeypatch, purge_module):
|
||||||
|
|
||||||
|
|
||||||
def test_installed_module_paths(
|
def test_installed_module_paths(
|
||||||
modules_tmp_path, modules_tmp_path_prefix, purge_module, site_packages, limit_loader
|
modules_tmp_path, modules_tmp_path_prefix, purge_module, site_packages
|
||||||
):
|
):
|
||||||
(site_packages / "site_app.py").write_text(
|
(site_packages / "site_app.py").write_text(
|
||||||
"import flask\napp = flask.Flask(__name__)\n"
|
"import flask\napp = flask.Flask(__name__)\n"
|
||||||
|
@ -78,7 +78,7 @@ def test_installed_module_paths(
|
||||||
|
|
||||||
|
|
||||||
def test_installed_package_paths(
|
def test_installed_package_paths(
|
||||||
limit_loader, modules_tmp_path, modules_tmp_path_prefix, purge_module, monkeypatch
|
modules_tmp_path, modules_tmp_path_prefix, purge_module, monkeypatch
|
||||||
):
|
):
|
||||||
installed_path = modules_tmp_path / "path"
|
installed_path = modules_tmp_path / "path"
|
||||||
installed_path.mkdir()
|
installed_path.mkdir()
|
||||||
|
@ -97,7 +97,7 @@ def test_installed_package_paths(
|
||||||
|
|
||||||
|
|
||||||
def test_prefix_package_paths(
|
def test_prefix_package_paths(
|
||||||
limit_loader, modules_tmp_path, modules_tmp_path_prefix, purge_module, site_packages
|
modules_tmp_path, modules_tmp_path_prefix, purge_module, site_packages
|
||||||
):
|
):
|
||||||
app = site_packages / "site_package"
|
app = site_packages / "site_package"
|
||||||
app.mkdir()
|
app.mkdir()
|
||||||
|
|
Loading…
Reference in New Issue