From 8d2e340e16713658b5fdf7b5184fa3c10b79881b Mon Sep 17 00:00:00 2001 From: Levi Baber Date: Fri, 19 Jan 2018 13:08:36 -0600 Subject: [PATCH] Add --full-path option to module find (#6838) --- lib/spack/spack/cmd/module.py | 12 ++++++++++-- lib/spack/spack/test/cmd/module.py | 8 ++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/lib/spack/spack/cmd/module.py b/lib/spack/spack/cmd/module.py index 1ebead1f58..b097da972e 100644 --- a/lib/spack/spack/cmd/module.py +++ b/lib/spack/spack/cmd/module.py @@ -71,6 +71,11 @@ def setup_parser(subparser): # spack module find find_parser = sp.add_parser('find', help='find module files for packages') + find_parser.add_argument( + '--full-path', + help='display full path to module file', + action='store_true' + ) arguments.add_common_arguments(find_parser, ['constraint', 'module_type']) # spack module rm @@ -208,8 +213,11 @@ def find(module_types, specs, args): msg += 'no {0} module has been generated for it.' tty.die(msg.format(module_type, spec)) - # ... and if it is print its use name - print(writer.layout.use_name) + # ... and if it is print its use name or full-path if requested + if args.full_path: + print(writer.layout.filename) + else: + print(writer.layout.use_name) @subcommand('rm') diff --git a/lib/spack/spack/test/cmd/module.py b/lib/spack/spack/test/cmd/module.py index 0aa08b9aa6..f56083df6e 100644 --- a/lib/spack/spack/test/cmd/module.py +++ b/lib/spack/spack/test/cmd/module.py @@ -97,11 +97,15 @@ def test_remove_and_add_tcl(database, parser): assert os.path.exists(item) -def test_find(database, parser): +@pytest.mark.parametrize('cli_args', [ + ['--module-type', 'tcl', 'libelf'], + ['--module-type', 'tcl', '--full-path', 'libelf'] +]) +def test_find(database, parser, cli_args): """Tests the 'spack module find' under a few common scenarios.""" # Try to find it for tcl module files - args = parser.parse_args(['find', '--module-type', 'tcl', 'libelf']) + args = parser.parse_args(['find'] + cli_args) module.module(parser, args)