summaryrefslogtreecommitdiff
path: root/testing/test_fixture_finalizer.py
blob: 3126d140a1c442cc502f38af3d5ba222f31d317d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
"""Tests for fixtures with different scoping."""
import py.code


def test_fixture_finalizer(testdir):
    testdir.makeconftest("""
    import pytest
    import sys

    @pytest.fixture
    def browser(request):

        def finalize():
            sys.stdout.write('Finalized')
        request.addfinalizer(finalize)
        return {}
    """)
    b = testdir.mkdir("subdir")
    b.join("test_overriden_fixture_finalizer.py").write(py.code.Source("""
    import pytest
    @pytest.fixture
    def browser(browser):
        browser['visited'] = True
        return browser

    def test_browser(browser):
        assert browser['visited'] is True
    """))
    reprec = testdir.runpytest("-s")
    for test in ['test_browser']:
        reprec.stdout.fnmatch_lines('*Finalized*')