Rework tests check all wheels produced against a reference list

Also, wrap the cibuildwheel call to make building env easier
This commit is contained in:
Joe Rickerby
2019-04-23 22:15:02 +01:00
parent e360a04dc1
commit e87032c830
8 changed files with 126 additions and 146 deletions
+7 -13
View File
@@ -1,24 +1,18 @@
import subprocess, sys, os
from glob import glob
import os
import utils
def test():
project_dir = os.path.dirname(__file__)
# set up the environment
env = os.environ.copy()
# write some information into the CIBW_ENVIRONMENT, for expansion and
# insertion into the environment by cibuildwheel. This is checked
# in setup.py
env.update({
utils.run_cibuildwheel(project_dir, add_env={
'CIBW_ENVIRONMENT': '''CIBW_TEST_VAR="a b c" CIBW_TEST_VAR_2=1 CIBW_TEST_VAR_3="$(echo 'test string 3')" PATH=$PATH:/opt/cibw_test_path''',
'CIBW_ENVIRONMENT_WINDOWS': '''CIBW_TEST_VAR="a b c" CIBW_TEST_VAR_2=1 CIBW_TEST_VAR_3="$(echo 'test string 3')" PATH="$PATH;/opt/cibw_test_path"''',
})
# build the wheels
subprocess.check_call([sys.executable, '-m', 'cibuildwheel', project_dir], env=env)
# check that we got the right number of built wheels
expected_identifiers = utils.cibuildwheel_get_build_identifiers(project_dir)
built_wheels = glob('wheelhouse/*.whl')
assert len(built_wheels) == len(expected_identifiers)
# also check that we got the right wheels built
expected_wheels = utils.expected_wheels('spam', '0.1.0')
actual_wheels = os.listdir('wheelhouse')
assert set(actual_wheels) == set(expected_wheels)