|
@@ -50,8 +50,8 @@ def test_extra_sources(tmpdir):
|
|
assert wl.check_extra_sources() is None
|
|
assert wl.check_extra_sources() is None
|
|
|
|
|
|
def test_pick_best_wheel():
|
|
def test_pick_best_wheel():
|
|
- wd = WheelLocator("astsearch==0.1.2",
|
|
|
|
- CompatibilityScorer("3.5.1", "win_amd64"))
|
|
|
|
|
|
+ wd37 = WheelLocator("astsearch==0.1.2", CompatibilityScorer("3.7.1", "win_amd64"))
|
|
|
|
+ wd38 = WheelLocator("astsearch==0.1.2", CompatibilityScorer("3.8.0", "win_amd64"))
|
|
|
|
|
|
# Some of the wheel filenames below are impossible combinations - they are
|
|
# Some of the wheel filenames below are impossible combinations - they are
|
|
# there to test the scoring and ranking machinery.
|
|
# there to test the scoring and ranking machinery.
|
|
@@ -61,56 +61,70 @@ def test_pick_best_wheel():
|
|
CachedRelease('astsearch-0.1.2-py3-none-any.whl'),
|
|
CachedRelease('astsearch-0.1.2-py3-none-any.whl'),
|
|
CachedRelease('astsearch-0.1.2-py3-none-win_amd64.whl'),
|
|
CachedRelease('astsearch-0.1.2-py3-none-win_amd64.whl'),
|
|
]
|
|
]
|
|
- assert wd.pick_best_wheel(releases) == releases[1]
|
|
|
|
|
|
+ assert wd37.pick_best_wheel(releases) == releases[1]
|
|
|
|
|
|
# Wrong Windows bitness
|
|
# Wrong Windows bitness
|
|
releases = [
|
|
releases = [
|
|
CachedRelease('astsearch-0.1.2-py3-none-any.whl'),
|
|
CachedRelease('astsearch-0.1.2-py3-none-any.whl'),
|
|
CachedRelease('astsearch-0.1.2-py3-none-win_32.whl'),
|
|
CachedRelease('astsearch-0.1.2-py3-none-win_32.whl'),
|
|
]
|
|
]
|
|
- assert wd.pick_best_wheel(releases) == releases[0]
|
|
|
|
|
|
+ assert wd37.pick_best_wheel(releases) == releases[0]
|
|
|
|
|
|
# Prefer more specific Python version
|
|
# Prefer more specific Python version
|
|
releases = [
|
|
releases = [
|
|
- CachedRelease('astsearch-0.1.2-cp35-none-any.whl'),
|
|
|
|
|
|
+ CachedRelease('astsearch-0.1.2-cp37-none-any.whl'),
|
|
CachedRelease('astsearch-0.1.2-py3-none-any.whl'),
|
|
CachedRelease('astsearch-0.1.2-py3-none-any.whl'),
|
|
]
|
|
]
|
|
- assert wd.pick_best_wheel(releases) == releases[0]
|
|
|
|
|
|
+ assert wd37.pick_best_wheel(releases) == releases[0]
|
|
|
|
|
|
# Prefer more specific Python version
|
|
# Prefer more specific Python version
|
|
releases = [
|
|
releases = [
|
|
- CachedRelease('astsearch-0.1.2-py34.py35-none-any.whl'),
|
|
|
|
|
|
+ CachedRelease('astsearch-0.1.2-py34.py37-none-any.whl'),
|
|
CachedRelease('astsearch-0.1.2-py3-none-any.whl'),
|
|
CachedRelease('astsearch-0.1.2-py3-none-any.whl'),
|
|
]
|
|
]
|
|
- assert wd.pick_best_wheel(releases) == releases[0]
|
|
|
|
|
|
+ assert wd37.pick_best_wheel(releases) == releases[0]
|
|
|
|
|
|
# Incompatible Python version
|
|
# Incompatible Python version
|
|
releases = [
|
|
releases = [
|
|
CachedRelease('astsearch-0.1.2-cp33-none-any.whl'),
|
|
CachedRelease('astsearch-0.1.2-cp33-none-any.whl'),
|
|
CachedRelease('astsearch-0.1.2-py3-none-any.whl'),
|
|
CachedRelease('astsearch-0.1.2-py3-none-any.whl'),
|
|
]
|
|
]
|
|
- assert wd.pick_best_wheel(releases) == releases[1]
|
|
|
|
|
|
+ assert wd37.pick_best_wheel(releases) == releases[1]
|
|
|
|
|
|
# Prefer more specific ABI version
|
|
# Prefer more specific ABI version
|
|
releases = [
|
|
releases = [
|
|
CachedRelease('astsearch-0.1.2-py3-abi3-any.whl'),
|
|
CachedRelease('astsearch-0.1.2-py3-abi3-any.whl'),
|
|
CachedRelease('astsearch-0.1.2-py3-none-any.whl'),
|
|
CachedRelease('astsearch-0.1.2-py3-none-any.whl'),
|
|
]
|
|
]
|
|
- assert wd.pick_best_wheel(releases) == releases[0]
|
|
|
|
|
|
+ assert wd37.pick_best_wheel(releases) == releases[0]
|
|
|
|
+
|
|
|
|
+ # ABI suffix on Python <3.8
|
|
|
|
+ releases = [
|
|
|
|
+ CachedRelease('astsearch-0.1.2-cp37-cp37-any.whl'),
|
|
|
|
+ CachedRelease('astsearch-0.1.2-cp37-cp37m-any.whl'),
|
|
|
|
+ ]
|
|
|
|
+ assert wd37.pick_best_wheel(releases) == releases[1]
|
|
|
|
+
|
|
|
|
+ # No ABI suffix on Python >=3.8
|
|
|
|
+ releases = [
|
|
|
|
+ CachedRelease('astsearch-0.1.2-cp38-cp38-any.whl'),
|
|
|
|
+ CachedRelease('astsearch-0.1.2-cp38-cp38m-any.whl'),
|
|
|
|
+ ]
|
|
|
|
+ assert wd38.pick_best_wheel(releases) == releases[0]
|
|
|
|
|
|
# Incompatible ABI version
|
|
# Incompatible ABI version
|
|
releases = [
|
|
releases = [
|
|
- CachedRelease('astsearch-0.1.2-cp35-abi4-win_amd64.whl'),
|
|
|
|
|
|
+ CachedRelease('astsearch-0.1.2-cp37-abi4-win_amd64.whl'),
|
|
CachedRelease('astsearch-0.1.2-py3-none-any.whl'),
|
|
CachedRelease('astsearch-0.1.2-py3-none-any.whl'),
|
|
]
|
|
]
|
|
- assert wd.pick_best_wheel(releases) == releases[1]
|
|
|
|
|
|
+ assert wd37.pick_best_wheel(releases) == releases[1]
|
|
|
|
|
|
# Platform has priority over other attributes
|
|
# Platform has priority over other attributes
|
|
releases = [
|
|
releases = [
|
|
- CachedRelease('astsearch-0.1.2-cp35-abi3-any.whl'),
|
|
|
|
|
|
+ CachedRelease('astsearch-0.1.2-cp37-abi3-any.whl'),
|
|
CachedRelease('astsearch-0.1.2-py2.py3-none-win_amd64.whl'),
|
|
CachedRelease('astsearch-0.1.2-py2.py3-none-win_amd64.whl'),
|
|
]
|
|
]
|
|
- assert wd.pick_best_wheel(releases) == releases[1]
|
|
|
|
|
|
+ assert wd37.pick_best_wheel(releases) == releases[1]
|
|
|
|
|
|
def test_merge_dir_to(tmpdir):
|
|
def test_merge_dir_to(tmpdir):
|
|
td1 = Path(str(tmpdir.mkdir('one')))
|
|
td1 = Path(str(tmpdir.mkdir('one')))
|