mirror of
https://github.com/envmodules/modules.git
synced 2026-06-14 00:42:43 +08:00
Add 'module test' command to trigger when called execution of a ModulesTest procedure in target modulefile following same kind of mechanism than 'module help'. If ModulesTest procedure is missing from modulefile, a 'Unable to find ModulesTest proc' message is displayed but no error code is set. If ModulesTest procedure returns 1 (true), test is considered successful and message 'Test result: PASS' is displayed. If ModulesTest returns no or any other value, test is considered failed and message 'Test result: FAIL' is displayed. In this case, module command exit in error. Adapt bash and tcsh completion scripts for the new command. Describe new command and new mode in docs. Adapt existing non-regression tests and relative test modulefiles for new command and new mode in 00-init, 50-cmds and 70-maint suites. Add 085-test tests in 70-maint to check coherent behavior of new command.
67 lines
1.3 KiB
Plaintext
67 lines
1.3 KiB
Plaintext
#%Module1.0
|
|
|
|
##############################################################################
|
|
# Modules Revision 3.0
|
|
# Providing a flexible user environment
|
|
#
|
|
# File: test/%M%
|
|
# Revision: %I%
|
|
# First Edition: 2017/04/30
|
|
# Last Mod.: %U%, %G%
|
|
#
|
|
# Authors: Xavier Delaruelle, xavier.delaruelle@cea.fr
|
|
#
|
|
# Description: Testuite modulefile
|
|
# Command:
|
|
# Sub-Command: test
|
|
#
|
|
# Invocation: display @M@, help @M@, test @M@
|
|
# Result: %R{
|
|
# }R%
|
|
# Comment: %C{
|
|
# Test the module 'test' command
|
|
# }C%
|
|
#
|
|
##############################################################################
|
|
|
|
# test procedure
|
|
proc ModulesTest { } {
|
|
puts stderr Test_err
|
|
|
|
if {[info exists ::env(TEST)]} {
|
|
return 1
|
|
} else {
|
|
return 0
|
|
}
|
|
}
|
|
|
|
#
|
|
# The following should lead to no result in test mode
|
|
#
|
|
|
|
set-alias al-testsuite "ps -auxww | grep modulecmd"
|
|
unset-alias al-testsuite
|
|
|
|
setenv testsuite yes
|
|
append-path testsuite no
|
|
prepend-path testsuite maybe
|
|
remove-path testsuite yes
|
|
unsetenv testsuite
|
|
|
|
x-resource my-prog*my-ress:true
|
|
|
|
system ls
|
|
|
|
module load setenv/1.0
|
|
|
|
module-alias foo setenv/1.0
|
|
module-version foo foo bar blah
|
|
|
|
#
|
|
# Don't corrupt the 'apropos' tests ...
|
|
#
|
|
|
|
if { ![module-info mode whatis] } {
|
|
module-whatis "Some checks for TEST and DISPLAY"
|
|
}
|