Add test case for proper build isolation
If there's not a proper build isolation then, the wheel for `cp27mu` will pick up the `spam.so` built for `cp27m` resulting in an import error.
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import textwrap
|
||||
|
||||
import pytest
|
||||
|
||||
from . import utils
|
||||
from . import test_projects
|
||||
|
||||
project_with_unicode = test_projects.new_c_project(
|
||||
spam_c_function_add=textwrap.dedent(r'''
|
||||
{
|
||||
Py_XDECREF(PyUnicode_FromStringAndSize("foo", 4));
|
||||
}
|
||||
'''),
|
||||
)
|
||||
|
||||
|
||||
def test(tmp_path):
|
||||
if utils.platform != 'linux':
|
||||
pytest.skip('the docker test is only relevant to the linux build')
|
||||
|
||||
project_dir = tmp_path / 'project'
|
||||
project_with_unicode.generate(project_dir)
|
||||
|
||||
# build the wheels
|
||||
actual_wheels = utils.cibuildwheel_run(project_dir, add_env={
|
||||
'CIBW_TEST_COMMAND': 'python -c "import spam"'
|
||||
})
|
||||
|
||||
# check that the expected wheels are produced
|
||||
expected_wheels = utils.expected_wheels('spam', '0.1.0')
|
||||
assert set(actual_wheels) == set(expected_wheels)
|
||||
Reference in New Issue
Block a user