Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit b8a47ba

Browse filesBrowse files
nejchJohnVillalovos
authored andcommitted
test(build): add smoke tests for sdist & wheel package
1 parent 969dccc commit b8a47ba
Copy full SHA for b8a47ba

File tree

Expand file treeCollapse file tree

5 files changed

+41
-1
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

5 files changed

+41
-1
lines changed
Open diff view settings
Collapse file

‎.github/workflows/test.yml‎

Copy file name to clipboardExpand all lines: .github/workflows/test.yml
+2Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ jobs:
2525
toxenv: py38
2626
- python-version: 3.9
2727
toxenv: py39
28+
- python-version: 3.9
29+
toxenv: smoke
2830
steps:
2931
- uses: actions/checkout@v2
3032
- name: Set up Python ${{ matrix.python-version }}
Collapse file

‎pyproject.toml‎

Copy file name to clipboardExpand all lines: pyproject.toml
+2-1Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ module = [
1616
"setup",
1717
"tests.functional.*",
1818
"tests.functional.api.*",
19-
"tests.unit.*"
19+
"tests.unit.*",
20+
"tests.smoke.*"
2021
]
2122
ignore_errors = true
2223

Collapse file

‎tests/smoke/__init__.py‎

Copy file name to clipboardExpand all lines: tests/smoke/__init__.py
Whitespace-only changes.
Collapse file

‎tests/smoke/test_dists.py‎

Copy file name to clipboard
+33Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import tarfile
2+
import zipfile
3+
from pathlib import Path
4+
from sys import version_info
5+
6+
import pytest
7+
from setuptools import sandbox
8+
9+
from gitlab import __title__, __version__
10+
11+
DIST_DIR = Path("dist")
12+
TEST_DIR = "tests"
13+
SDIST_FILE = f"{__title__}-{__version__}.tar.gz"
14+
WHEEL_FILE = (
15+
f"{__title__.replace('-', '_')}-{__version__}-py{version_info.major}-none-any.whl"
16+
)
17+
18+
19+
@pytest.fixture(scope="function")
20+
def build():
21+
sandbox.run_setup("setup.py", ["clean", "--all"])
22+
return sandbox.run_setup("setup.py", ["sdist", "bdist_wheel"])
23+
24+
25+
def test_sdist_includes_tests(build):
26+
sdist = tarfile.open(DIST_DIR / SDIST_FILE, "r:gz")
27+
test_dir = sdist.getmember(f"{__title__}-{__version__}/{TEST_DIR}")
28+
assert test_dir.isdir()
29+
30+
31+
def test_wheel_excludes_tests(build):
32+
wheel = zipfile.ZipFile(DIST_DIR / WHEEL_FILE)
33+
assert [not file.startswith(TEST_DIR) for file in wheel.namelist()]
Collapse file

‎tox.ini‎

Copy file name to clipboardExpand all lines: tox.ini
+4Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,3 +96,7 @@ commands =
9696
deps = -r{toxinidir}/requirements-docker.txt
9797
commands =
9898
pytest --cov --cov-report xml tests/functional/api {posargs}
99+
100+
[testenv:smoke]
101+
deps = -r{toxinidir}/requirements-test.txt
102+
commands = pytest tests/smoke {posargs}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.