summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorXavier Delaruelle <xavier.delaruelle@cea.fr>2023-03-27 10:48:25 +0200
committerGitHub <noreply@github.com>2023-03-27 10:48:25 +0200
commitea60220a84b0547abe886683fabbb44184cdfb63 (patch)
treef82f8f007bd3209f53bae9dadb878bb0a78611f6 /lib
parent84d67190a65d22a4ed615adcbd27534d1b60fc3a (diff)
downloadspack-ea60220a84b0547abe886683fabbb44184cdfb63.tar.gz
spack-ea60220a84b0547abe886683fabbb44184cdfb63.tar.bz2
spack-ea60220a84b0547abe886683fabbb44184cdfb63.tar.xz
spack-ea60220a84b0547abe886683fabbb44184cdfb63.zip
modules: enhance help message (#36410)
Update tcl and lmod modulefile template to provide more information on help message (name, version and target) like done on whatis for lmod modulefiles.
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/test/modules/lmod.py27
-rw-r--r--lib/spack/spack/test/modules/tcl.py28
2 files changed, 54 insertions, 1 deletions
diff --git a/lib/spack/spack/test/modules/lmod.py b/lib/spack/spack/test/modules/lmod.py
index 4ac888f2d5..3ba4953844 100644
--- a/lib/spack/spack/test/modules/lmod.py
+++ b/lib/spack/spack/test/modules/lmod.py
@@ -88,7 +88,7 @@ class TestLmod(object):
assert provides["compiler"] == spack.spec.CompilerSpec("oneapi@3.0")
def test_simple_case(self, modulefile_content, module_configuration):
- """Tests the generation of a simple Tcl module file."""
+ """Tests the generation of a simple Lua module file."""
module_configuration("autoload_direct")
content = modulefile_content(mpich_spec_string)
@@ -147,6 +147,31 @@ class TestLmod(object):
assert len([x for x in content if 'append_path("SPACE", "qux", " ")' in x]) == 1
assert len([x for x in content if 'remove_path("SPACE", "qux", " ")' in x]) == 1
+ def test_help_message(self, modulefile_content, module_configuration):
+ """Tests the generation of module help message."""
+
+ module_configuration("autoload_direct")
+ content = modulefile_content("mpileaks target=core2")
+
+ help_msg = (
+ "help([[Name : mpileaks]])"
+ "help([[Version: 2.3]])"
+ "help([[Target : core2]])"
+ "help()"
+ "help([[Mpileaks is a mock package that passes audits]])"
+ )
+ assert help_msg in "".join(content)
+
+ content = modulefile_content("libdwarf target=core2")
+
+ help_msg = (
+ "help([[Name : libdwarf]])"
+ "help([[Version: 20130729]])"
+ "help([[Target : core2]])"
+ "depends_on("
+ )
+ assert help_msg in "".join(content)
+
@pytest.mark.parametrize("config_name", ["exclude", "blacklist"])
def test_exclude(self, modulefile_content, module_configuration, config_name):
"""Tests excluding the generation of selected modules."""
diff --git a/lib/spack/spack/test/modules/tcl.py b/lib/spack/spack/test/modules/tcl.py
index f91a55691f..5b60fba785 100644
--- a/lib/spack/spack/test/modules/tcl.py
+++ b/lib/spack/spack/test/modules/tcl.py
@@ -123,6 +123,34 @@ class TestTcl(object):
assert len([x for x in content if 'append-path --delim " " SPACE "qux"' in x]) == 1
assert len([x for x in content if 'remove-path --delim " " SPACE "qux"' in x]) == 1
+ def test_help_message(self, modulefile_content, module_configuration):
+ """Tests the generation of module help message."""
+
+ module_configuration("autoload_direct")
+ content = modulefile_content("mpileaks target=core2")
+
+ help_msg = (
+ "proc ModulesHelp { } {"
+ ' puts stderr "Name : mpileaks"'
+ ' puts stderr "Version: 2.3"'
+ ' puts stderr "Target : core2"'
+ ' puts stderr ""'
+ ' puts stderr "Mpileaks is a mock package that passes audits"'
+ "}"
+ )
+ assert help_msg in "".join(content)
+
+ content = modulefile_content("libdwarf target=core2")
+
+ help_msg = (
+ "proc ModulesHelp { } {"
+ ' puts stderr "Name : libdwarf"'
+ ' puts stderr "Version: 20130729"'
+ ' puts stderr "Target : core2"'
+ "}"
+ )
+ assert help_msg in "".join(content)
+
@pytest.mark.parametrize("config_name", ["exclude", "blacklist"])
def test_exclude(self, modulefile_content, module_configuration, config_name):
"""Tests excluding the generation of selected modules."""