diff --git a/tests/test_versions/test_versions.py b/tests/test_versions/test_versions.py index e7de0b1424ed6d84f9afb8da50b039cff1dea565..2b1f8f7b35e6ad16935151586433f759eb2c22e6 100644 --- a/tests/test_versions/test_versions.py +++ b/tests/test_versions/test_versions.py @@ -84,6 +84,8 @@ def wrapper(tmpdir): @pytest.mark.parametrize( "requested, expected, installed", [ + # If nothing is installed, nothing should be loaded + ("test", "", []), # Test versions can be loaded ("test", "test", ["test", "0.0.1"]), # Numeric versions should be prioritized over test versions @@ -95,6 +97,14 @@ def wrapper(tmpdir): ("0.0.1+0", "", ["0.0.1+1"]), # If no build number is specified, load the highest build number ("0.0.1", "0.0.1+4", ["0.1.0", "0.0.1+4", "0.0.1"]), + # Build number 0 means load that version exactly + ("0.0.1+0", "0.0.1+0", ["0.0.1+0"]), + ("0.0.1+0", "0.0.1+0", ["0.0.1", "0.0.1+1", "1.0.0"]), + # 1-test counts as a test version, as does 1.0 + ("", "0.0.1+0", ["0.0.1", "1-test"]), + ("", "0.0.1+0", ["0.0.1", "1.0"]), + # Numeric version should be prioritised over "higher" test version + ("", "0.1.0+0", ["0.1.0", "1.0.0-rc1"]), ], ) def test_version(wrapper, requested, expected, installed): @@ -113,6 +123,7 @@ def test_version(wrapper, requested, expected, installed): if expected: match = re.search(RE_MODULE_LOADED.format(version=re.escape(expected)), o) + assert rc == 0 assert match else: match = re.search(RE_MODULE_NOT_LOADED.format(required=re.escape(requested)), o)