xfail -> skipif platform specific tests on other platforms (#49800)

This commit is contained in:
Harmen Stoppels 2025-03-31 16:32:26 +02:00 committed by GitHub
parent 7256508983
commit 46f7737626
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -26,15 +26,9 @@
) )
from spack.tokenize import Token from spack.tokenize import Token
FAIL_ON_WINDOWS = pytest.mark.xfail( SKIP_ON_WINDOWS = pytest.mark.skipif(sys.platform == "win32", reason="Unix style path on Windows")
sys.platform == "win32",
raises=(SpecTokenizationError, spack.spec.InvalidHashError),
reason="Unix style path on Windows",
)
FAIL_ON_UNIX = pytest.mark.xfail( SKIP_ON_UNIX = pytest.mark.skipif(sys.platform != "win32", reason="Windows style path on Unix")
sys.platform != "win32", raises=SpecTokenizationError, reason="Windows style path on Unix"
)
def simple_package_name(name): def simple_package_name(name):
@ -1060,56 +1054,56 @@ def test_error_conditions(text, match_string):
[ [
# Specfile related errors # Specfile related errors
pytest.param( pytest.param(
"/bogus/path/libdwarf.yaml", spack.spec.NoSuchSpecFileError, marks=FAIL_ON_WINDOWS "/bogus/path/libdwarf.yaml", spack.spec.NoSuchSpecFileError, marks=SKIP_ON_WINDOWS
), ),
pytest.param("../../libdwarf.yaml", spack.spec.NoSuchSpecFileError, marks=FAIL_ON_WINDOWS), pytest.param("../../libdwarf.yaml", spack.spec.NoSuchSpecFileError, marks=SKIP_ON_WINDOWS),
pytest.param("./libdwarf.yaml", spack.spec.NoSuchSpecFileError, marks=FAIL_ON_WINDOWS), pytest.param("./libdwarf.yaml", spack.spec.NoSuchSpecFileError, marks=SKIP_ON_WINDOWS),
pytest.param( pytest.param(
"libfoo ^/bogus/path/libdwarf.yaml", "libfoo ^/bogus/path/libdwarf.yaml",
spack.spec.NoSuchSpecFileError, spack.spec.NoSuchSpecFileError,
marks=FAIL_ON_WINDOWS, marks=SKIP_ON_WINDOWS,
), ),
pytest.param( pytest.param(
"libfoo ^../../libdwarf.yaml", spack.spec.NoSuchSpecFileError, marks=FAIL_ON_WINDOWS "libfoo ^../../libdwarf.yaml", spack.spec.NoSuchSpecFileError, marks=SKIP_ON_WINDOWS
), ),
pytest.param( pytest.param(
"libfoo ^./libdwarf.yaml", spack.spec.NoSuchSpecFileError, marks=FAIL_ON_WINDOWS "libfoo ^./libdwarf.yaml", spack.spec.NoSuchSpecFileError, marks=SKIP_ON_WINDOWS
), ),
pytest.param( pytest.param(
"/bogus/path/libdwarf.yamlfoobar", "/bogus/path/libdwarf.yamlfoobar",
spack.spec.NoSuchSpecFileError, spack.spec.NoSuchSpecFileError,
marks=FAIL_ON_WINDOWS, marks=SKIP_ON_WINDOWS,
), ),
pytest.param( pytest.param(
"libdwarf^/bogus/path/libelf.yamlfoobar ^/path/to/bogus.yaml", "libdwarf^/bogus/path/libelf.yamlfoobar ^/path/to/bogus.yaml",
spack.spec.NoSuchSpecFileError, spack.spec.NoSuchSpecFileError,
marks=FAIL_ON_WINDOWS, marks=SKIP_ON_WINDOWS,
), ),
pytest.param( pytest.param(
"c:\\bogus\\path\\libdwarf.yaml", spack.spec.NoSuchSpecFileError, marks=FAIL_ON_UNIX "c:\\bogus\\path\\libdwarf.yaml", spack.spec.NoSuchSpecFileError, marks=SKIP_ON_UNIX
), ),
pytest.param("..\\..\\libdwarf.yaml", spack.spec.NoSuchSpecFileError, marks=FAIL_ON_UNIX), pytest.param("..\\..\\libdwarf.yaml", spack.spec.NoSuchSpecFileError, marks=SKIP_ON_UNIX),
pytest.param(".\\libdwarf.yaml", spack.spec.NoSuchSpecFileError, marks=FAIL_ON_UNIX), pytest.param(".\\libdwarf.yaml", spack.spec.NoSuchSpecFileError, marks=SKIP_ON_UNIX),
pytest.param( pytest.param(
"libfoo ^c:\\bogus\\path\\libdwarf.yaml", "libfoo ^c:\\bogus\\path\\libdwarf.yaml",
spack.spec.NoSuchSpecFileError, spack.spec.NoSuchSpecFileError,
marks=FAIL_ON_UNIX, marks=SKIP_ON_UNIX,
), ),
pytest.param( pytest.param(
"libfoo ^..\\..\\libdwarf.yaml", spack.spec.NoSuchSpecFileError, marks=FAIL_ON_UNIX "libfoo ^..\\..\\libdwarf.yaml", spack.spec.NoSuchSpecFileError, marks=SKIP_ON_UNIX
), ),
pytest.param( pytest.param(
"libfoo ^.\\libdwarf.yaml", spack.spec.NoSuchSpecFileError, marks=FAIL_ON_UNIX "libfoo ^.\\libdwarf.yaml", spack.spec.NoSuchSpecFileError, marks=SKIP_ON_UNIX
), ),
pytest.param( pytest.param(
"c:\\bogus\\path\\libdwarf.yamlfoobar", "c:\\bogus\\path\\libdwarf.yamlfoobar",
spack.spec.SpecFilenameError, spack.spec.SpecFilenameError,
marks=FAIL_ON_UNIX, marks=SKIP_ON_UNIX,
), ),
pytest.param( pytest.param(
"libdwarf^c:\\bogus\\path\\libelf.yamlfoobar ^c:\\path\\to\\bogus.yaml", "libdwarf^c:\\bogus\\path\\libelf.yamlfoobar ^c:\\path\\to\\bogus.yaml",
spack.spec.SpecFilenameError, spack.spec.SpecFilenameError,
marks=FAIL_ON_UNIX, marks=SKIP_ON_UNIX,
), ),
], ],
) )