summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/spack/spack/cmd/compiler.py14
-rw-r--r--lib/spack/spack/test/concretize.py8
-rw-r--r--lib/spack/spack/test/concretize_preferences.py2
-rw-r--r--lib/spack/spack/test/conftest.py4
-rw-r--r--lib/spack/spack/test/data/config/packages.yaml3
5 files changed, 8 insertions, 23 deletions
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: