diff options
author | Todd Gamblin <tgamblin@llnl.gov> | 2019-11-05 01:26:03 -0700 |
---|---|---|
committer | Todd Gamblin <tgamblin@llnl.gov> | 2019-11-05 02:49:17 -0700 |
commit | b4501c458623ed12cfb9a93cb6ebdfc4604b3fe2 (patch) | |
tree | 763f1ba9a281d90b36976951d301779b63d4550d | |
parent | ecfe84def70c8ccba32c2c3d7d3a25296e10dc59 (diff) | |
download | spack-0.13.1.tar.gz spack-0.13.1.tar.bz2 spack-0.13.1.tar.xz spack-0.13.1.zip |
`spack find` now displays variants and other spec constraintsv0.13.1
If you do this in a spack environment:
spack add hdf5+hl
hdf5+hl will be the root added to the `spack.yaml` file, and you should
really expect `hdf5+hl` to display as a root in the environment.
- [x] Add decoration to roots so that you can see the details about what
is required to build.
- [x] Add a test.
-rw-r--r-- | lib/spack/spack/cmd/__init__.py | 2 | ||||
-rw-r--r-- | lib/spack/spack/cmd/find.py | 14 | ||||
-rw-r--r-- | lib/spack/spack/test/cmd/env.py | 11 |
3 files changed, 23 insertions, 4 deletions
diff --git a/lib/spack/spack/cmd/__init__.py b/lib/spack/spack/cmd/__init__.py index fe0ed0c224..0d2e92940b 100644 --- a/lib/spack/spack/cmd/__init__.py +++ b/lib/spack/spack/cmd/__init__.py @@ -331,7 +331,7 @@ def display_specs(specs, args=None, **kwargs): format_string = get_arg('format', None) if format_string is None: - nfmt = '{namespace}.{name}' if namespace else '{name}' + nfmt = '{fullname}' if namespace else '{name}' ffmt = '' if full_compiler or flags: ffmt += '{%compiler.name}' diff --git a/lib/spack/spack/cmd/find.py b/lib/spack/spack/cmd/find.py index ed8f2ed2bf..37cfcd30d5 100644 --- a/lib/spack/spack/cmd/find.py +++ b/lib/spack/spack/cmd/find.py @@ -165,10 +165,18 @@ def display_env(env, args, decorator): tty.msg('No root specs') else: tty.msg('Root specs') - # TODO: Change this to not print extraneous deps and variants + + # Roots are displayed with variants, etc. so that we can see + # specifically what the user asked for. cmd.display_specs( - env.user_specs, args, - decorator=lambda s, f: color.colorize('@*{%s}' % f)) + env.user_specs, + args, + decorator=lambda s, f: color.colorize('@*{%s}' % f), + namespace=True, + show_flags=True, + show_full_compiler=True, + variants=True + ) print() if args.show_concretized: diff --git a/lib/spack/spack/test/cmd/env.py b/lib/spack/spack/test/cmd/env.py index b1e9e579ae..9b3ca6e66e 100644 --- a/lib/spack/spack/test/cmd/env.py +++ b/lib/spack/spack/test/cmd/env.py @@ -615,6 +615,17 @@ def test_env_blocks_uninstall(mock_stage, mock_fetch, install_mockery): assert 'used by the following environments' in out +def test_roots_display_with_variants(): + env('create', 'test') + with ev.read('test'): + add('boost+shared') + + with ev.read('test'): + out = find(output=str) + + assert "boost +shared" in out + + def test_uninstall_removes_from_env(mock_stage, mock_fetch, install_mockery): env('create', 'test') with ev.read('test'): |