blob: 099e69145db0bb0888c765565aa286870d933164 (
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
|
import tarfile
import zipfile
from pathlib import Path
from sys import version_info
import pytest
from setuptools import sandbox
from gitlab._version import __title__, __version__
DIST_DIR = Path("dist")
DOCS_DIR = "docs"
TEST_DIR = "tests"
SDIST_FILE = f"{__title__}-{__version__}.tar.gz"
WHEEL_FILE = (
f"{__title__.replace('-', '_')}-{__version__}-py{version_info.major}-none-any.whl"
)
@pytest.fixture(scope="function")
def build() -> None:
sandbox.run_setup("setup.py", ["--quiet", "clean", "--all"]) # type: ignore[no-untyped-call]
sandbox.run_setup("setup.py", ["--quiet", "sdist", "bdist_wheel"]) # type: ignore[no-untyped-call]
def test_sdist_includes_tests(build):
sdist = tarfile.open(DIST_DIR / SDIST_FILE, "r:gz")
test_dir = sdist.getmember(f"{__title__}-{__version__}/{TEST_DIR}")
assert test_dir.isdir()
def test_wheel_excludes_docs_and_tests(build):
wheel = zipfile.ZipFile(DIST_DIR / WHEEL_FILE)
assert not any(file.startswith((DOCS_DIR, TEST_DIR)) for file in wheel.namelist())
|