summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/smoke/__init__.py0
-rw-r--r--tests/smoke/test_dists.py33
2 files changed, 33 insertions, 0 deletions
diff --git a/tests/smoke/__init__.py b/tests/smoke/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/smoke/__init__.py
diff --git a/tests/smoke/test_dists.py b/tests/smoke/test_dists.py
new file mode 100644
index 0000000..6f38ff7
--- /dev/null
+++ b/tests/smoke/test_dists.py
@@ -0,0 +1,33 @@
+import tarfile
+import zipfile
+from pathlib import Path
+from sys import version_info
+
+import pytest
+from setuptools import sandbox
+
+from gitlab import __title__, __version__
+
+DIST_DIR = Path("dist")
+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():
+ sandbox.run_setup("setup.py", ["clean", "--all"])
+ return sandbox.run_setup("setup.py", ["sdist", "bdist_wheel"])
+
+
+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_tests(build):
+ wheel = zipfile.ZipFile(DIST_DIR / WHEEL_FILE)
+ assert [not file.startswith(TEST_DIR) for file in wheel.namelist()]