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.
This commit is contained in:
Xavier Delaruelle
2023-03-27 10:48:25 +02:00
committed by GitHub
parent 84d67190a6
commit ea60220a84
4 changed files with 65 additions and 4 deletions

View File

@@ -88,7 +88,7 @@ def test_compilers_provided_different_name(self, factory, module_configuration):
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 @@ def test_prepend_path_separator(self, modulefile_content, module_configuration):
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."""

View File

@@ -123,6 +123,34 @@ def test_prepend_path_separator(self, modulefile_content, module_configuration):
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."""