File tree Expand file tree Collapse file tree 5 files changed +41
-1
lines changed
Expand file tree Collapse file tree 5 files changed +41
-1
lines changed Original file line number Diff line number Diff line change 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 }}
Original file line number Diff line number Diff 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]
2122ignore_errors = true
2223
Original file line number Diff line number Diff line change 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 ()]
Original file line number Diff line number Diff line change @@ -96,3 +96,7 @@ commands =
9696deps = -r{toxinidir}/requirements-docker.txt
9797commands =
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}
You can’t perform that action at this time.
0 commit comments