summaryrefslogtreecommitdiff
path: root/tests/test_source_content.py
blob: 8eae6bc4e9cbf7803b140cbc0d8040351ef80e21 (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import os

import pytest

import virtualenv


@pytest.mark.skipif(os.environ.get("TOX_PACKAGE") is None, reason="needs tox provisioned sdist")
def test_sdist_contains(sdist):
    """make assertions on what we package"""
    content = set(sdist.iterdir())

    names = {i.name for i in content}

    must_have = {
        # sources
        "virtualenv.py",
        "virtualenv_embedded",
        "virtualenv_support",
        "setup.py",
        "setup.cfg",
        "MANIFEST.in",
        "pyproject.toml",
        # test files
        "tests",
        # documentation
        "docs",
        "README.rst",
        # helpers
        "tasks",
        "tox.ini",
        # meta-data
        "AUTHORS.txt",
        "LICENSE.txt",
    }

    missing = must_have - names
    assert not missing

    extra = names - must_have - {"PKG-INFO", "virtualenv.egg-info"}
    assert not extra, " | ".join(extra)


def test_wheel_contains(extracted_wheel):
    content = set(extracted_wheel.iterdir())

    names = {i.name for i in content}
    must_have = {
        # sources
        "virtualenv.py",
        "virtualenv_support",
        "virtualenv-{}.dist-info".format(virtualenv.__version__),
    }
    assert must_have == names

    support = {i.name for i in (extracted_wheel / "virtualenv_support").iterdir()}
    assert "__init__.py" in support
    for package in ("pip", "wheel", "setuptools"):
        assert any(package in i for i in support)

    meta = {i.name for i in (extracted_wheel / "virtualenv-{}.dist-info".format(virtualenv.__version__)).iterdir()}
    assert {"entry_points.txt", "WHEEL", "RECORD", "METADATA", "top_level.txt", "zip-safe", "LICENSE.txt"} == meta