Files
cibuildwheel/unit_test/build_selector_test.py
T

117 lines
4.4 KiB
Python
Raw Normal View History

2021-01-31 17:14:15 -05:00
from packaging.specifiers import SpecifierSet
from cibuildwheel.util import BuildSelector
def test_build():
2021-02-14 20:44:20 +01:00
build_selector = BuildSelector(build_config="cp3?-* *-manylinux*", skip_config="")
2021-02-14 20:44:20 +01:00
assert build_selector("cp36-manylinux_x86_64")
assert build_selector("cp37-manylinux_x86_64")
assert build_selector("pp36-manylinux_x86_64")
assert build_selector("pp37-manylinux_x86_64")
assert build_selector("cp36-manylinux_i686")
assert build_selector("cp37-manylinux_i686")
2021-05-03 11:45:43 -04:00
assert build_selector("cp36-macosx_10_6_intel")
assert build_selector("cp37-macosx_10_6_intel")
2021-02-14 20:44:20 +01:00
assert not build_selector("pp36-macosx_10_6_intel")
assert not build_selector("pp37-macosx_10_6_intel")
2021-05-03 11:45:43 -04:00
assert build_selector("cp36-win32")
assert build_selector("cp37-win32")
2021-02-14 20:44:20 +01:00
assert not build_selector("pp36-win32")
assert not build_selector("pp37-win32")
2021-05-03 11:45:43 -04:00
assert build_selector("cp36-win_amd64")
assert build_selector("cp37-win_amd64")
2021-02-14 20:44:20 +01:00
assert not build_selector("pp36-win_amd64")
assert not build_selector("pp37-win_amd64")
def test_skip():
2021-04-30 17:56:34 -04:00
build_selector = BuildSelector(
2021-02-14 20:44:20 +01:00
build_config="*", skip_config="pp36-* cp3?-manylinux_i686 cp36-win* *-win32"
2021-04-30 17:56:34 -04:00
)
2021-02-14 20:44:20 +01:00
assert not build_selector("pp36-manylinux_x86_64")
assert build_selector("pp37-manylinux_x86_64")
assert build_selector("cp36-manylinux_x86_64")
assert build_selector("cp37-manylinux_x86_64")
assert not build_selector("cp36-manylinux_i686")
assert not build_selector("cp37-manylinux_i686")
assert not build_selector("pp36-macosx_10_6_intel")
assert build_selector("pp37-macosx_10_6_intel")
2021-05-03 11:45:43 -04:00
assert build_selector("cp36-macosx_10_6_intel")
assert build_selector("cp37-macosx_10_6_intel")
assert not build_selector("cp36-win32")
assert not build_selector("cp37-win32")
assert not build_selector("cp36-win_amd64")
assert build_selector("cp37-win_amd64")
def test_build_and_skip():
2021-04-30 17:56:34 -04:00
build_selector = BuildSelector(
2021-02-14 20:44:20 +01:00
build_config="cp36-* cp37-macosx* *-manylinux*", skip_config="pp37-* cp37-manylinux_i686"
2021-04-30 17:56:34 -04:00
)
2021-02-14 20:44:20 +01:00
assert not build_selector("pp37-manylinux_x86_64")
assert build_selector("cp36-manylinux_x86_64")
assert build_selector("cp37-manylinux_x86_64")
assert not build_selector("pp37-manylinux_i686")
assert build_selector("cp36-manylinux_i686")
assert not build_selector("cp37-manylinux_i686")
assert not build_selector("pp37-macosx_10_6_intel")
2021-05-03 11:45:43 -04:00
assert build_selector("cp36-macosx_10_6_intel")
assert build_selector("cp37-macosx_10_6_intel")
2021-02-14 20:44:20 +01:00
assert not build_selector("pp37-win32")
2021-05-03 11:45:43 -04:00
assert build_selector("cp36-win32")
assert not build_selector("cp37-win32")
2021-02-14 20:44:20 +01:00
assert not build_selector("pp37-win_amd64")
2021-05-03 11:45:43 -04:00
assert build_selector("cp36-win_amd64")
assert not build_selector("cp37-win_amd64")
def test_build_braces():
build_selector = BuildSelector(build_config="cp{36,37}*", skip_config="")
2021-02-14 20:44:20 +01:00
assert build_selector("cp36-manylinux_x86_64")
assert build_selector("cp37-manylinux_x86_64")
assert not build_selector("cp38-manylinux_x86_64")
assert not build_selector("cp39-manylinux_x86_64")
2021-01-31 17:14:15 -05:00
def test_build_limited_python():
2021-04-30 17:56:34 -04:00
build_selector = BuildSelector(
2021-02-14 20:44:20 +01:00
build_config="*", skip_config="", requires_python=SpecifierSet(">=3.7")
2021-04-30 17:56:34 -04:00
)
2021-01-31 17:14:15 -05:00
2021-02-14 20:44:20 +01:00
assert not build_selector("cp36-manylinux_x86_64")
assert build_selector("cp37-manylinux_x86_64")
assert build_selector("cp38-manylinux_x86_64")
assert not build_selector("cp36-manylinux_i686")
assert build_selector("cp37-manylinux_i686")
assert build_selector("cp38-manylinux_i686")
assert not build_selector("cp36-win32")
2021-05-03 11:45:43 -04:00
assert build_selector("cp37-win32")
2021-02-14 20:44:20 +01:00
assert build_selector("cp38-win32")
assert not build_selector("pp36-win32")
2021-05-03 11:45:43 -04:00
assert build_selector("pp37-win32")
2021-01-31 17:14:15 -05:00
def test_build_limited_python_partial():
2021-04-30 17:56:34 -04:00
build_selector = BuildSelector(
2021-02-14 20:44:20 +01:00
build_config="*", skip_config="", requires_python=SpecifierSet(">=3.6, !=3.7.*")
2021-04-30 17:56:34 -04:00
)
2021-01-31 17:14:15 -05:00
2021-02-14 20:44:20 +01:00
assert build_selector("cp36-manylinux_x86_64")
assert not build_selector("cp37-manylinux_x86_64")
assert build_selector("cp38-manylinux_x86_64")
assert build_selector("cp39-manylinux_x86_64")
2021-01-31 17:14:15 -05:00
def test_build_limited_python_patch():
2021-04-30 17:56:34 -04:00
build_selector = BuildSelector(
2021-02-14 20:44:20 +01:00
build_config="*", skip_config="", requires_python=SpecifierSet(">=3.6.8")
2021-04-30 17:56:34 -04:00
)
2021-01-31 17:14:15 -05:00
2021-02-14 20:44:20 +01:00
assert build_selector("cp36-manylinux_x86_64")
assert build_selector("cp37-manylinux_x86_64")