diff options
author | Harmen Stoppels <harmenstoppels@gmail.com> | 2021-10-08 19:41:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-08 13:41:47 -0400 |
commit | 7d89a95028404a58b632023b81c6f92221bfc3b4 (patch) | |
tree | 52b30174eaf735b0afdab18d6b27f1bb3a65f818 | |
parent | 32b35e1a78ae530e31cb9c742a8540e34ee38fba (diff) | |
download | spack-7d89a95028404a58b632023b81c6f92221bfc3b4.tar.gz spack-7d89a95028404a58b632023b81c6f92221bfc3b4.tar.bz2 spack-7d89a95028404a58b632023b81c6f92221bfc3b4.tar.xz spack-7d89a95028404a58b632023b81c6f92221bfc3b4.zip |
Fix leaky spack.binary_distribution.binary_index in tests (#26609)
* Fix issues with leaky binary index across tests
* More rigorous binary_index reset as now other tests are failing :(
-rw-r--r-- | lib/spack/spack/test/cmd/ci.py | 19 | ||||
-rw-r--r-- | lib/spack/spack/test/conftest.py | 8 |
2 files changed, 20 insertions, 7 deletions
diff --git a/lib/spack/spack/test/cmd/ci.py b/lib/spack/spack/test/cmd/ci.py index 3feef4443f..36e7b3d81d 100644 --- a/lib/spack/spack/test/cmd/ci.py +++ b/lib/spack/spack/test/cmd/ci.py @@ -118,7 +118,8 @@ and then 'd', 'b', and 'a' to be put in the next three stages, respectively. def test_ci_generate_with_env(tmpdir, mutable_mock_env_path, - install_mockery, mock_packages, project_dir_env): + install_mockery, mock_packages, project_dir_env, + mock_binary_index): """Make sure we can get a .gitlab-ci.yml from an environment file which has the gitlab-ci, cdash, and mirrors sections.""" project_dir_env(tmpdir.strpath) @@ -343,7 +344,8 @@ spack: def test_ci_generate_with_env_missing_section(tmpdir, mutable_mock_env_path, install_mockery, - mock_packages, project_dir_env): + mock_packages, project_dir_env, + mock_binary_index): """Make sure we get a reasonable message if we omit gitlab-ci section""" project_dir_env(tmpdir.strpath) filename = str(tmpdir.join('spack.yaml')) @@ -368,7 +370,8 @@ spack: def test_ci_generate_with_cdash_token(tmpdir, mutable_mock_env_path, install_mockery, - mock_packages, project_dir_env): + mock_packages, project_dir_env, + mock_binary_index): """Make sure we it doesn't break if we configure cdash""" project_dir_env(tmpdir.strpath) filename = str(tmpdir.join('spack.yaml')) @@ -424,7 +427,7 @@ spack: def test_ci_generate_with_custom_scripts(tmpdir, mutable_mock_env_path, install_mockery, mock_packages, monkeypatch, - project_dir_env): + project_dir_env, mock_binary_index): """Test use of user-provided scripts""" project_dir_env(tmpdir.strpath) filename = str(tmpdir.join('spack.yaml')) @@ -676,7 +679,8 @@ spack: def test_ci_rebuild(tmpdir, mutable_mock_env_path, install_mockery, mock_packages, monkeypatch, - mock_gnupghome, mock_fetch, project_dir_env): + mock_gnupghome, mock_fetch, project_dir_env, + mock_binary_index): project_dir_env(tmpdir.strpath) working_dir = tmpdir.join('working_dir') @@ -834,7 +838,7 @@ spack: def test_ci_nothing_to_rebuild(tmpdir, mutable_mock_env_path, install_mockery, mock_packages, monkeypatch, - mock_fetch, project_dir_env): + mock_fetch, project_dir_env, mock_binary_index): project_dir_env(tmpdir.strpath) working_dir = tmpdir.join('working_dir') @@ -1461,7 +1465,8 @@ spack: def test_ci_subcommands_without_mirror(tmpdir, mutable_mock_env_path, mock_packages, - install_mockery, project_dir_env): + install_mockery, project_dir_env, + mock_binary_index): """Make sure we catch if there is not a mirror and report an error""" project_dir_env(tmpdir.strpath) filename = str(tmpdir.join('spack.yaml')) diff --git a/lib/spack/spack/test/conftest.py b/lib/spack/spack/test/conftest.py index 2d52449fbe..17086dbdc0 100644 --- a/lib/spack/spack/test/conftest.py +++ b/lib/spack/spack/test/conftest.py @@ -22,6 +22,7 @@ import pytest import archspec.cpu.microarchitecture import archspec.cpu.schema +import llnl.util.lang from llnl.util.filesystem import mkdirp, remove_linked_tree, working_dir import spack.binary_distribution @@ -1524,3 +1525,10 @@ def mock_test_stage(mutable_config, tmpdir): mutable_config.set('config:test_stage', tmp_stage) yield tmp_stage + + +@pytest.fixture(autouse=True) +def brand_new_binary_cache(): + yield + spack.binary_distribution.binary_index = llnl.util.lang.Singleton( + spack.binary_distribution._binary_index) |