summaryrefslogtreecommitdiff
path: root/testing
diff options
context:
space:
mode:
authorBruno Oliveira <nicoddemus@gmail.com>2020-01-20 13:49:00 -0300
committerGitHub <noreply@github.com>2020-01-20 13:49:00 -0300
commitcdaa9c06e141052ba723e701e6029e76fdd523b0 (patch)
treeaf96270e77dcdd33d02612af6d92d949408a4d6a /testing
parentf9bed82c4d792fe7a430843bb00fd3562734ef6c (diff)
parent0dc82e85014e113211f29815c82c9120179d1c50 (diff)
downloadpytest-cdaa9c06e141052ba723e701e6029e76fdd523b0.tar.gz
Revert "fixtures register finalizers with all fixtures before t… (#6496)
Revert "fixtures register finalizers with all fixtures before them in the stack"
Diffstat (limited to 'testing')
-rw-r--r--testing/python/fixtures.py132
1 files changed, 0 insertions, 132 deletions
diff --git a/testing/python/fixtures.py b/testing/python/fixtures.py
index 6b8565237..26374bc34 100644
--- a/testing/python/fixtures.py
+++ b/testing/python/fixtures.py
@@ -1716,138 +1716,6 @@ class TestAutouseDiscovery:
reprec.assertoutcome(passed=3)
-class TestMultiLevelAutouseAndParameterization:
- def test_setup_and_teardown_order(self, testdir):
- """Tests that parameterized fixtures effect subsequent fixtures. (#6436)
-
- If a fixture uses a parameterized fixture, or, for any other reason, is executed
- after the parameterized fixture in the fixture stack, then it should be affected
- by the parameterization, and as a result, should be torn down before the
- parameterized fixture, every time the parameterized fixture is torn down. This
- should be the case even if autouse is involved and/or the linear order of
- fixture execution isn't deterministic. In other words, before any fixture can be
- torn down, every fixture that was executed after it must also be torn down.
- """
- testdir.makepyfile(
- test_auto="""
- import pytest
- def f(param):
- return param
- @pytest.fixture(scope="session", autouse=True)
- def s_fix(request):
- yield
- @pytest.fixture(scope="package", params=["p1", "p2"], ids=f, autouse=True)
- def p_fix(request):
- yield
- @pytest.fixture(scope="module", params=["m1", "m2"], ids=f, autouse=True)
- def m_fix(request):
- yield
- @pytest.fixture(scope="class", autouse=True)
- def another_c_fix(m_fix):
- yield
- @pytest.fixture(scope="class")
- def c_fix():
- yield
- @pytest.fixture(scope="function", params=["f1", "f2"], ids=f, autouse=True)
- def f_fix(request):
- yield
- class TestFixtures:
- def test_a(self, c_fix):
- pass
- def test_b(self, c_fix):
- pass
- """
- )
- result = testdir.runpytest("--setup-plan")
- test_fixtures_used = (
- "(fixtures used: another_c_fix, c_fix, f_fix, m_fix, p_fix, request, s_fix)"
- )
- result.stdout.fnmatch_lines(
- """
- SETUP S s_fix
- SETUP P p_fix[p1]
- SETUP M m_fix[m1]
- SETUP C another_c_fix (fixtures used: m_fix)
- SETUP C c_fix
- SETUP F f_fix[f1]
- test_auto.py::TestFixtures::test_a[p1-m1-f1] {0}
- TEARDOWN F f_fix[f1]
- SETUP F f_fix[f2]
- test_auto.py::TestFixtures::test_a[p1-m1-f2] {0}
- TEARDOWN F f_fix[f2]
- SETUP F f_fix[f1]
- test_auto.py::TestFixtures::test_b[p1-m1-f1] {0}
- TEARDOWN F f_fix[f1]
- SETUP F f_fix[f2]
- test_auto.py::TestFixtures::test_b[p1-m1-f2] {0}
- TEARDOWN F f_fix[f2]
- TEARDOWN C c_fix
- TEARDOWN C another_c_fix
- TEARDOWN M m_fix[m1]
- SETUP M m_fix[m2]
- SETUP C another_c_fix (fixtures used: m_fix)
- SETUP C c_fix
- SETUP F f_fix[f1]
- test_auto.py::TestFixtures::test_a[p1-m2-f1] {0}
- TEARDOWN F f_fix[f1]
- SETUP F f_fix[f2]
- test_auto.py::TestFixtures::test_a[p1-m2-f2] {0}
- TEARDOWN F f_fix[f2]
- SETUP F f_fix[f1]
- test_auto.py::TestFixtures::test_b[p1-m2-f1] {0}
- TEARDOWN F f_fix[f1]
- SETUP F f_fix[f2]
- test_auto.py::TestFixtures::test_b[p1-m2-f2] {0}
- TEARDOWN F f_fix[f2]
- TEARDOWN C c_fix
- TEARDOWN C another_c_fix
- TEARDOWN M m_fix[m2]
- TEARDOWN P p_fix[p1]
- SETUP P p_fix[p2]
- SETUP M m_fix[m1]
- SETUP C another_c_fix (fixtures used: m_fix)
- SETUP C c_fix
- SETUP F f_fix[f1]
- test_auto.py::TestFixtures::test_a[p2-m1-f1] {0}
- TEARDOWN F f_fix[f1]
- SETUP F f_fix[f2]
- test_auto.py::TestFixtures::test_a[p2-m1-f2] {0}
- TEARDOWN F f_fix[f2]
- SETUP F f_fix[f1]
- test_auto.py::TestFixtures::test_b[p2-m1-f1] {0}
- TEARDOWN F f_fix[f1]
- SETUP F f_fix[f2]
- test_auto.py::TestFixtures::test_b[p2-m1-f2] {0}
- TEARDOWN F f_fix[f2]
- TEARDOWN C c_fix
- TEARDOWN C another_c_fix
- TEARDOWN M m_fix[m1]
- SETUP M m_fix[m2]
- SETUP C another_c_fix (fixtures used: m_fix)
- SETUP C c_fix
- SETUP F f_fix[f1]
- test_auto.py::TestFixtures::test_a[p2-m2-f1] {0}
- TEARDOWN F f_fix[f1]
- SETUP F f_fix[f2]
- test_auto.py::TestFixtures::test_a[p2-m2-f2] {0}
- TEARDOWN F f_fix[f2]
- SETUP F f_fix[f1]
- test_auto.py::TestFixtures::test_b[p2-m2-f1] {0}
- TEARDOWN F f_fix[f1]
- SETUP F f_fix[f2]
- test_auto.py::TestFixtures::test_b[p2-m2-f2] {0}
- TEARDOWN F f_fix[f2]
- TEARDOWN C c_fix
- TEARDOWN C another_c_fix
- TEARDOWN M m_fix[m2]
- TEARDOWN P p_fix[p2]
- TEARDOWN S s_fix
- """.format(
- test_fixtures_used
- )
- )
-
-
class TestAutouseManagement:
def test_autouse_conftest_mid_directory(self, testdir):
pkgdir = testdir.mkpydir("xyz123")