import subprocess, sys, os from glob import glob project_dir = os.path.dirname(__file__) sys.path.append(os.path.join(os.path.dirname(project_dir), 'shared')) import utils def test(): # set up the environment env = os.environ.copy() env["CIBW_TEST_REQUIRES"] = "nose", # the 'false ||' bit is to ensure this command runs in a shell on # mac/linux. env["CIBW_TEST_COMMAND"] = "false || nosetests {project}/test", env["CIBW_TEST_COMMAND_WINDOWS"] = "nosetests {project}/test" # build & test the wheels subprocess.check_call([sys.executable, '-m', 'cibuildwheel', project_dir], env=env) # also 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)