1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
##############################################################################
# Modules Revision 3.0
# Providing a flexible user environment
#
# File: modules.50-cmds/%M%
# Revision: %I%
# First Edition: 2021/11/26
# Last Mod.: %U%, %G%
#
# Authors: Xavier Delaruelle, xavier.delaruelle@cea.fr
#
# Description: Testuite testsequence
# Command: load, unload, display, help, test, whatis, refresh, avail
# Modulefiles: lcompat
# Sub-Command:
#
# Comment: %C{
# Test extensions modulefile command
# }C%
#
##############################################################################
skip_if_quick_mode
set mp $modpath.3
set mpre $modpathre.3
setenv_path_var MODULEPATH $mp
set mod lcompat/1.2
set modfile $mp/$mod
set modfilere $mpre/$mod
if {[cmpversion $tclsh_version 8.6] == -1} {
set custom_error_trace " invoked from within
\"if \{\[info exists env(TESTSUITE_LCOMPAT)\]\} \{
switch -- \$env(TESTSUITE_LCOMPAT) \{
ext1 \{
extensions moda/1.0 modb/2.0
\}
...\""
} else {
set custom_error_trace {}
}
setenv_var TESTSUITE_LCOMPAT ext1
# load
set ans [list]
lappend ans [list set __MODULES_LMALTNAME $mod&al|moda/1.0&al|modb/2.0]
lappend ans [list set _LMFILES_ $modfile]
lappend ans [list set LOADEDMODULES $mod]
testouterr_cmd sh "load $mod" $ans {}
setenv_loaded_module [list $mod] [list $modfile]
setenv_var __MODULES_LMALTNAME $mod&al|moda/1.0&al|modb/2.0
# unload
set ans [list]
lappend ans [list unset __MODULES_LMALTNAME]
lappend ans [list unset _LMFILES_]
lappend ans [list unset LOADEDMODULES]
testouterr_cmd sh "unload $mod" $ans {}
# refresh
testouterr_cmd sh {refresh} OK {}
unsetenv_loaded_module
unsetenv_var __MODULES_LMALTNAME
# whatis
set tserr "$modlin $mpre $modlin
\\s*$mod: $mod"
testouterr_cmd_re sh "whatis $mod" OK $tserr
# display
set tserr "$modlin
$mpre/$mod:
module-whatis\t$mod
extensions\tmoda/1.0 modb/2.0
$modlin"
testouterr_cmd_re sh "display $mod" OK $tserr
# help
set tserr "$modlin
Module Specific Help for $mpre/$mod:
$warn_msgs: Unable to find ModulesHelp in $modfilere.
$modlin"
testouterr_cmd_re sh "help $mod" OK $tserr
# test
set tserr "$modlin
Module Specific Test for $mpre/$mod:
$warn_msgs: Unable to find ModulesTest in $modfilere.
$modlin"
testouterr_cmd_re sh "test $mod" OK $tserr
setenv_var TESTSUITE_LCOMPAT ext2
set ans [list]
lappend ans [list set __MODULES_LMALTNAME $mod&al|moda/1.0]
lappend ans [list set _LMFILES_ $modfile]
lappend ans [list set LOADEDMODULES $mod]
testouterr_cmd sh "load $mod" $ans {}
setenv_var TESTSUITE_LCOMPAT ext3
set line_num [expr {[cmpversion $tclsh_version 8.6] == -1 ? 5 : 14}]
set tserr [msg_load lcompat/1.2 [msg_moderr {No module specified in argument} {extensions} $mp/lcompat/1.2 $line_num {} {} {} $custom_error_trace]]
testouterr_cmd sh "load $mod" ERR $tserr
setenv_var TESTSUITE_LCOMPAT extrc1
set ans [list]
lappend ans [list set _LMFILES_ $modfile]
lappend ans [list set LOADEDMODULES $mod]
lappend ans [list ERR]
set ln [expr {[cmpversion $tclsh_version 8.6] == -1 ? 3 : 12}]
set tserr [escre [msg_moderr {invalid command name "extensions"} {extensions moda/1.0 modb/2.0<EXM>} $mp/lcompat/.modulerc $ln { }]]
testouterr_cmd_re sh "load $mod" $ans $tserr
set tserr $mp:\n$mod
testouterr_cmd sh "avail -t $mod" OK $tserr
set tserr "$modlin $mpre $modlin
\\s*$mod: $mod"
testouterr_cmd_re sh "whatis $mod" OK $tserr
#
# Cleanup
#
reset_test_env
|