summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--testing/python/fixtures.py15
-rw-r--r--testing/test_runner.py7
2 files changed, 15 insertions, 7 deletions
diff --git a/testing/python/fixtures.py b/testing/python/fixtures.py
index d12973396..3d78ebf58 100644
--- a/testing/python/fixtures.py
+++ b/testing/python/fixtures.py
@@ -130,7 +130,8 @@ class TestFillFixtures:
pytester.copy_example()
item = pytester.getitem(Path("test_funcarg_basic.py"))
assert isinstance(item, Function)
- item._request._fillfixtures()
+ # Execute's item's setup, which fills fixtures.
+ item.session._setupstate.prepare(item)
del item.funcargs["request"]
assert len(get_public_names(item.funcargs)) == 2
assert item.funcargs["some"] == "test_func"
@@ -809,18 +810,25 @@ class TestRequestBasic:
item = pytester.getitem(
"""
import pytest
- values = [2]
+
@pytest.fixture
- def something(request): return 1
+ def something(request):
+ return 1
+
+ values = [2]
@pytest.fixture
def other(request):
return values.pop()
+
def test_func(something): pass
"""
)
assert isinstance(item, Function)
req = item._request
+ # Execute item's setup.
+ item.session._setupstate.prepare(item)
+
with pytest.raises(pytest.FixtureLookupError):
req.getfixturevalue("notexists")
val = req.getfixturevalue("something")
@@ -831,7 +839,6 @@ class TestRequestBasic:
assert val2 == 2
val2 = req.getfixturevalue("other") # see about caching
assert val2 == 2
- item._request._fillfixtures()
assert item.funcargs["something"] == 1
assert len(get_public_names(item.funcargs)) == 2
assert "request" in item.funcargs
diff --git a/testing/test_runner.py b/testing/test_runner.py
index f1038ce96..0e90ea9cc 100644
--- a/testing/test_runner.py
+++ b/testing/test_runner.py
@@ -104,13 +104,14 @@ class TestSetupState:
module_teardown.append("fin_module")
item = pytester.getitem("def test_func(): pass")
+ mod = item.listchain()[-2]
ss = item.session._setupstate
- ss.addfinalizer(fin_module, item.listchain()[-2])
- ss.addfinalizer(fin_func, item)
ss.prepare(item)
+ ss.addfinalizer(fin_module, mod)
+ ss.addfinalizer(fin_func, item)
with pytest.raises(Exception, match="oops1"):
ss.teardown_exact(None)
- assert module_teardown
+ assert module_teardown == ["fin_module"]
class BaseFunctionalTests: