import subprocess, sys, os from glob import glob import utils def test(): project_dir = os.path.dirname(__file__) # set up the environment env = os.environ.copy() # write python version information to a temporary file, this is checked # in setup.py env.update({ 'CIBW_BEFORE_BUILD': '''python -c "import sys; open('/tmp/pythonversion.txt', 'w').write(sys.version)" && python -c "import sys; open('/tmp/pythonexecutable.txt', 'w').write(sys.executable)"''', 'CIBW_BEFORE_BUILD_WINDOWS': '''python -c "import sys; open('c:\\pythonversion.txt', 'w').write(sys.version)" && python -c "import sys; open('c:\\pythonexecutable.txt', 'w').write(sys.executable)"''', }) # 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)