File: conftest.py

package info (click to toggle)
pytest-filter-subpackage 0.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 164 kB
  • sloc: python: 149; makefile: 3
file content (42 lines) | stat: -rw-r--r-- 1,112 bytes parent folder | download | duplicates (3)
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
32
33
34
35
36
37
38
39
40
41
42
import pytest

TEST_TEMPLATE = """
def test_{sub}_1():
    assert True

def test_{sub}_2():
    assert '{sub}' == 'a'
"""

DOCS_TEMPLATE = """
Documentation for {sub}
=======================

::

    >>> a = 1
    >>> b = 2
    >>> a + b
    3
"""


@pytest.fixture
def testpackage(testdir):
    # Fixture to make a test package with a docs and code folder

    pkg = testdir.mkdir('testpackage')
    pkg.join('__init__.py').write('')
    for sub in ('a', 'b', 'c'):
        pkg.mkdir(sub).join('__init__.py').write('')
        pkg.join(sub).mkdir('tests').join('__init__.py').write('')
        pkg.join(sub).join('tests').join(f'test_{sub}.py') \
           .write(TEST_TEMPLATE.format(sub=sub))
    pkg.join('c').mkdir('d').join('__init__.py').write('')
    pkg.join('c').join('d').mkdir('tests').join('__init__.py').write('')
    pkg.join('c').join('d').join('tests').join('test_d.py') \
       .write(TEST_TEMPLATE.format(sub='d'))
    docs = testdir.mkdir('docs')
    docs.join('index.rst').write('')
    for sub in ('a', 'c'):
        docs.mkdir(sub).join('index.rst').write(DOCS_TEMPLATE.format(sub=sub))