From 40df44e021e2908b8ae7d05d7c07159444c8b8d5 Mon Sep 17 00:00:00 2001 From: Peter Scheibel Date: Fri, 1 May 2020 13:39:43 -0700 Subject: Revert "Testing: fix unintended interactions between tests (#16003)" (#16420) This was breaking tests on develop. --- lib/spack/spack/cmd/compiler.py | 14 +------------- lib/spack/spack/test/concretize.py | 8 ++++---- lib/spack/spack/test/concretize_preferences.py | 2 +- lib/spack/spack/test/conftest.py | 4 ++-- lib/spack/spack/test/data/config/packages.yaml | 3 --- 5 files changed, 8 insertions(+), 23 deletions(-) (limited to 'lib') diff --git a/lib/spack/spack/cmd/compiler.py b/lib/spack/spack/cmd/compiler.py index c8f52af04d..625466f8c7 100644 --- a/lib/spack/spack/cmd/compiler.py +++ b/lib/spack/spack/cmd/compiler.py @@ -159,19 +159,7 @@ def compiler_list(args): tty.msg("Available compilers") index = index_by(spack.compilers.all_compilers(scope=args.scope), lambda c: (c.spec.name, c.operating_system, c.target)) - - # For a container, take each element which does not evaluate to false and - # convert it to a string. For elements which evaluate to False (e.g. None) - # convert them to '' (in which case it still evaluates to False but is a - # string type). Tuples produced by this are guaranteed to be comparable in - # Python 3 - convert_str = ( - lambda tuple_container: - tuple(str(x) if x else '' for x in tuple_container)) - - index_str_keys = list( - (convert_str(x), y) for x, y in index.items()) - ordered_sections = sorted(index_str_keys, key=lambda item: item[0]) + ordered_sections = sorted(index.items(), key=lambda item: item[0]) for i, (key, compilers) in enumerate(ordered_sections): if i >= 1: print() diff --git a/lib/spack/spack/test/concretize.py b/lib/spack/spack/test/concretize.py index ec594e4088..232dfaeb4b 100644 --- a/lib/spack/spack/test/concretize.py +++ b/lib/spack/spack/test/concretize.py @@ -12,6 +12,7 @@ import spack.repo from spack.concretize import find_spec, NoValidVersionError from spack.error import SpecError +from spack.package_prefs import PackagePrefs from spack.spec import Spec, CompilerSpec, ConflictsInSpecError from spack.version import ver from spack.util.mock_package import MockPackageMultiRepo @@ -102,6 +103,8 @@ def current_host(request, monkeypatch): monkeypatch.setattr(spack.platforms.test.Test, 'default', cpu) yield target else: + # There's a cache that needs to be cleared for unit tests + PackagePrefs._packages_config_cache = None with spack.config.override('packages:all', {'target': [cpu]}): yield target @@ -109,10 +112,7 @@ def current_host(request, monkeypatch): spack.architecture.get_platform.cache.clear() -# This must use the mutable_config fixture because the test -# adjusting_default_target_based_on_compiler uses the current_host fixture, -# which changes the config. -@pytest.mark.usefixtures('mutable_config', 'mock_packages') +@pytest.mark.usefixtures('config', 'mock_packages') class TestConcretize(object): def test_concretize(self, spec): check_concretize(spec) diff --git a/lib/spack/spack/test/concretize_preferences.py b/lib/spack/spack/test/concretize_preferences.py index ca4df6700c..922d5a11d8 100644 --- a/lib/spack/spack/test/concretize_preferences.py +++ b/lib/spack/spack/test/concretize_preferences.py @@ -100,7 +100,7 @@ class TestConcretizePreferences(object): # Try the last available compiler compiler = str(compiler_list[-1]) update_packages('mpileaks', 'compiler', [compiler]) - spec = concretize('mpileaks os=redhat6 target=x86') + spec = concretize('mpileaks') assert spec.compiler == spack.spec.CompilerSpec(compiler) def test_preferred_target(self, mutable_mock_repo): diff --git a/lib/spack/spack/test/conftest.py b/lib/spack/spack/test/conftest.py index 8eff851a37..736c5a5563 100644 --- a/lib/spack/spack/test/conftest.py +++ b/lib/spack/spack/test/conftest.py @@ -423,13 +423,13 @@ def config(mock_configuration): @pytest.fixture(scope='function') -def mutable_config(tmpdir_factory, configuration_dir): +def mutable_config(tmpdir_factory, configuration_dir, monkeypatch): """Like config, but tests can modify the configuration.""" mutable_dir = tmpdir_factory.mktemp('mutable_config').join('tmp') configuration_dir.copy(mutable_dir) cfg = spack.config.Configuration( - *[spack.config.ConfigScope(name, str(mutable_dir.join(name))) + *[spack.config.ConfigScope(name, str(mutable_dir)) for name in ['site', 'system', 'user']]) with use_configuration(cfg): diff --git a/lib/spack/spack/test/data/config/packages.yaml b/lib/spack/spack/test/data/config/packages.yaml index 63e63e525d..c7256ddb33 100644 --- a/lib/spack/spack/test/data/config/packages.yaml +++ b/lib/spack/spack/test/data/config/packages.yaml @@ -1,7 +1,4 @@ packages: - all: - providers: - mpi: [openmpi, mpich] externaltool: buildable: False paths: -- cgit v1.2.3-60-g2f50