diff --git a/tests.py b/tests.py index 27bbad075251af5ca1010201bf0710d97d5c6a6a..d6f995336283b98b082beafebaa0571f5271184e 100644 --- a/tests.py +++ b/tests.py @@ -430,20 +430,24 @@ def test_environment_status(tmp_path): assert toolchain_map is None # create a fake environment mpsd_release = "dev-23a" - mpsd_microarch = "sandybridge" - expected_toochain_map = {"sandybridge": ["foss2021a", "intel2021a"]} - for mpsd_release in expected_toochain_map.keys(): - toolchain_files_path = ( - tmp_path / mpsd_release / mpsd_microarch / "lmod" / "Core" / "toolchains" + test_microarch = mod.get_native_microarchitecture() + expected_toochain_map = {test_microarch: ["foss2021a", "intel2021a"]} + for microarch in expected_toochain_map.keys(): + toolchain_lmod_folder = ( + tmp_path / mpsd_release / microarch / "lmod" / "Core" / "toolchains" ) - toolchain_files_path.mkdir(parents=True) - for toolchain in expected_toochain_map[mpsd_release]: - toolchain_file = toolchain_files_path / f"{toolchain}.lua" + toolchain_lmod_folder.mkdir(parents=True) + spack_folder = tmp_path / mpsd_release / microarch / "spack" + spack_folder.mkdir(parents=True) + for toolchain in expected_toochain_map[microarch]: + toolchain_file = toolchain_lmod_folder / f"{toolchain}.lua" toolchain_file.touch() # check that the environment status is correct toolchain_map = mod.environment_status(mpsd_release, tmp_path) - assert toolchain_map == expected_toochain_map + # convert each list to a set to ensure that the order doesn't matter + for microarch in toolchain_map.keys(): + assert set(toolchain_map[microarch]) == set(expected_toochain_map[microarch]) def test_interface(tmp_path):