diff options
author | Bruno Oliveira <nicoddemus@gmail.com> | 2020-01-20 13:49:00 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-20 13:49:00 -0300 |
commit | cdaa9c06e141052ba723e701e6029e76fdd523b0 (patch) | |
tree | af96270e77dcdd33d02612af6d92d949408a4d6a /testing | |
parent | f9bed82c4d792fe7a430843bb00fd3562734ef6c (diff) | |
parent | 0dc82e85014e113211f29815c82c9120179d1c50 (diff) | |
download | pytest-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.py | 132 |
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") |