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 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284
|
##############################################################################
# Modules Revision 3.0
# Providing a flexible user environment
#
# File: modules.50-cmds/%M%
# Revision: %I%
# First Edition: 1995/12/06
# Last Mod.: %U%, %G%
#
# Authors: Jens Hamisch, Jens.Hamisch@Strawberry.COM
#
# Description: Testuite testsequence
# Command: load
# Modulefiles: setenv/1.0, module/2.0
# Sub-Command:
#
# Comment: %C{
# Tests the 'module load' subcommand
# }C%
#
##############################################################################
#
# Variables. This test forces a module load command. It will result in the
# environment variables "_LMFILES_", "LOADEDMODULES" and "testsuite" to
# be set up
#
set module "setenv/1.0"
set modulefile "$modpath/$module"
set module_1 "module/2.0"
set modulefile_1 "$modpath/$module_1"
set module_2 "trace/all_on"
set modulefile_2 "$modpath/$module_2"
set module_3 "prereq/module"
set modulefile_3 "$modpath/$module_3"
set module_4 "module/meta"
set modulefile_4 "$modpath/$module_4"
set module_5 "module/err"
set modulefile_5 "$modpath/$module_5"
set module_6 "module/bad"
set modulefile_6 "$modpath/$module_6"
set module_7 "module/unk"
set modulefile_7 "$modpath/$module_7"
set module_8 "module/lerr"
set modulefile_8 "$modpath/$module_8"
set module_9 "module/lbad"
set modulefile_9 "$modpath/$module_9"
set module_10 "module/lunk"
set modulefile_10 "$modpath/$module_10"
set module_11 "module/relpath"
set modulefile_11 "$modpath/$module_11"
set module_12 "module/empty"
set modulefile_12 "$modpath/$module_12"
set submod_5 "append/0.3"
set submodfile_5 "$modpath/$submod_5"
set submod_6 "bad2/body"
set submodfile_6 "$modpath/$submod_6"
set submod_7 "NonExistent"
set submodfile_7 "$modpath/$submod_7"
set submod_11 $submod_5
set submodfile_11 $submodfile_5
set moderr_5 [msg_load $submod_5 [msg_moderr "append-path $msg_needenvvarname" {append-path } $submodfile_5 24]]\n\n[msg_load $module_5 [err_reqlo $submod_5]]
set moderr_6 [msg_load $submod_6 [msg_moderr "$msg_invcmdname \"bad-command\"" {bad-command} $submodfile_6 29]]\n\n[msg_load $module_6 [err_reqlo $submod_6]]
set moderr_7 [msg_load $module_7 "$err_path'$submod_7'" [err_reqlo $submod_7]]
set moderr_11 [msg_load $submodfile_11 [msg_moderr "append-path $msg_needenvvarname" {append-path } $submodfile_11 24]]\n\n[msg_load $module_11 [err_reqlo ../$submod_11]]
set msgtopun_5 \n\n[msg_top_unload $module_5 {} {} {} [err_urequn $submod_5]]
set msgtopun_6 \n\n[msg_top_unload $module_6 {} {} {} [err_urequn $submod_6]]
set msgtopun_7 \n\n[msg_top_unload $module_7 {} {} {} [err_urequn $submod_7]]
if {$install_autohandling eq {y}} {
set msgtopun_8 \n\n[msg_top_unload $module_8 {} [list $module_5] {} [err_urequn $submod_5]]
set msgtopun_9 \n\n[msg_top_unload $module_9 {} [list $module_6] {} [err_urequn $submod_6]]
set msgtopun_10 \n\n[msg_top_unload $module_10 {} [list $module_7] {} [err_urequn $submod_7]]
} else {
set msgtopun_8 \n\n[msg_unload "$module_5 <aL>" [err_urequn $submod_5]]\n\n[msg_top_unload $module_8 {} [list $module_5] {}]
set msgtopun_9 \n\n[msg_unload "$module_6 <aL>" [err_urequn $submod_6]]\n\n[msg_top_unload $module_9 {} [list $module_6] {}]
set msgtopun_10 \n\n[msg_unload "$module_7 <aL>" [err_urequn $submod_7]]\n\n[msg_top_unload $module_10 {} [list $module_7] {}]
}
set msgtopun_11 \n\n[msg_top_unload $module_11 {} {} {} [err_urequn $submod_11]]
set moderrun_5 [msg_unload "$submod_5 <aL>" [msg_moderr "append-path $msg_needenvvarname" {append-path } $submodfile_5 24]]$msgtopun_5
set moderrun_6 [msg_unload "$submod_6 <aL>" [msg_moderr "$msg_invcmdname \"bad-command\"" {bad-command} $submodfile_6 29]]$msgtopun_6
set moderrun_7 [msg_unload "$submod_7 <aL>" "$err_file'$submodfile_7'"]$msgtopun_7
set moderrun_8 [msg_unload "$submod_5 <aL>" [msg_moderr "append-path $msg_needenvvarname" {append-path } $submodfile_5 24]]$msgtopun_8
set moderrun_9 [msg_unload "$submod_6 <aL>" [msg_moderr "$msg_invcmdname \"bad-command\"" {bad-command} $submodfile_6 29]]$msgtopun_9
set moderrun_10 [msg_unload "$submod_7 <aL>" "$err_file'$submodfile_7'"]$msgtopun_10
set moderrun_11 [msg_unload "$submod_11 <aL>" [msg_moderr "append-path $msg_needenvvarname" {append-path } $submodfile_11 24]]$msgtopun_11
#
# The tests
#
if {[is_conf_enabled advversspec implicitdefault]} {
lappend ans [list set __MODULES_LMALTNAME $module&as|setenv/default&as|setenv/latest]
}
lappend ans [list set __MODULES_LMPREREQ $module_1&$module]
lappend ans [list set _LMFILES_ "$modulefile:$modulefile_1"]
lappend ans [list set LOADEDMODULES "$module:$module_1"]
lappend ans [list set testsuite yes]
lappend ans [list set __MODULES_LMTAG $module&auto-loaded]
test_cmd_re "csh" "load $module_1" $ans
#
# Test load of meta-module
#
set ans [list]
if {[is_conf_enabled advversspec implicitdefault]} {
lappend ans [list set __MODULES_LMALTNAME $module&as|setenv/default&as|setenv/latest:$module_2&as|trace/default&as|trace/latest]
}
lappend ans [list set __MODULES_LMPREREQ "$module_3&trace:$module_4&setenv&trace&$module_3"]
lappend ans [list set _LMFILES_ "$modulefile:$modulefile_2:$modulefile_3:$modulefile_4"]
lappend ans [list set LOADEDMODULES "$module:$module_2:$module_3:$module_4"]
lappend ans [list set testsuite yes]
lappend ans [list set __MODULES_LMTAG $module&auto-loaded:$module_2&auto-loaded:$module_3&auto-loaded]
test_cmd_re "csh" "load $module_4" [if_implicitdefault $ans ERR]
#
# Test unload of meta-module
#
# Set up the environment for test that require the module to be loaded
setenv_loaded_module [list $module $module_2 $module_3 $module_4] [list $modulefile $modulefile_2 $modulefile_3 $modulefile_4] [list $module $module_2 $module_3]
setenv_var __MODULES_LMPREREQ $module_3&trace:$module_4&setenv&trace&$module_3
set ans [list]
# unload interpretations are not cascaded if auto_handling enabled so answer order change
if {$install_autohandling eq {y}} {
lappend ans [list unset testsuite]
}
lappend ans [list unset __MODULES_LMPREREQ]
lappend ans [list unset _LMFILES_]
lappend ans [list unset LOADEDMODULES]
if {$install_autohandling eq {n}} {
lappend ans [list unset testsuite]
}
lappend ans [list unset __MODULES_LMTAG]
test_cmd_re "csh" "unload $module_4" $ans
# Clean up the just changed environment
unsetenv_loaded_module
unsetenv_var __MODULES_LMPREREQ
skip_if_quick_mode
#
# Test load of module with issue, nothing loads
#
testouterr_cmd "csh" "load $module_5" "ERR" "$moderr_5"
testouterr_cmd "csh" "load $module_6" "ERR" "$moderr_6"
testouterr_cmd "csh" "load $module_7" "ERR" "$moderr_7"
testouterr_cmd "csh" "load $module_8" "ERR" "$moderr_5\n\n[msg_load $module_8 [err_reqlo $module_5]]"
testouterr_cmd "csh" "load $module_9" "ERR" "$moderr_6\n\n[msg_load $module_9 [err_reqlo $module_6]]"
testouterr_cmd "csh" "load $module_10" "ERR" "$moderr_7\n\n[msg_load $module_10 [err_reqlo $module_7]]"
testouterr_cmd "csh" "load $module_11" "ERR" "$moderr_11"
testouterr_cmd "csh" "load $module_12" "ERR" [msg_load $module_12 $err_emptymodname [err_reqlo {}]]
#
# Test unload of module with issue
#
setenv_loaded_module [list $submod_5 $module_5] [list $submodfile_5 $modulefile_5] [list $submod_5]
setenv_var __MODULES_LMPREREQ $module_5&$submod_5
set ans [list]
# unload interpretations are not cascaded if auto_handling enabled so answer order change
if {$install_autohandling eq {y}} {
lappend ans [list set LOADEDMODULES $submod_5]
lappend ans [list set _LMFILES_ $submodfile_5]
lappend ans [list unset __MODULES_LMPREREQ]
} else {
lappend ans [list unset __MODULES_LMPREREQ]
lappend ans [list set _LMFILES_ $submodfile_5]
lappend ans [list set LOADEDMODULES $submod_5]
}
testouterr_cmd "csh" "unload $module_5" $ans "$moderrun_5"
setenv_loaded_module [list $submod_6 $module_6] [list $submodfile_6 $modulefile_6] [list $submod_6]
setenv_var __MODULES_LMPREREQ $module_6&$submod_6
set ans [list]
if {$install_autohandling eq {y}} {
lappend ans [list set LOADEDMODULES $submod_6]
lappend ans [list set _LMFILES_ $submodfile_6]
lappend ans [list unset __MODULES_LMPREREQ]
} else {
lappend ans [list unset __MODULES_LMPREREQ]
lappend ans [list set _LMFILES_ $submodfile_6]
lappend ans [list set LOADEDMODULES $submod_6]
}
testouterr_cmd "csh" "unload $module_6" $ans "$moderrun_6"
setenv_loaded_module [list $submod_7 $module_7] [list $submodfile_7 $modulefile_7] [list $submod_7]
setenv_var __MODULES_LMPREREQ $module_7&$submod_7
set ans [list]
if {$install_autohandling eq {y}} {
lappend ans [list set LOADEDMODULES $submod_7]
lappend ans [list set _LMFILES_ $submodfile_7]
lappend ans [list unset __MODULES_LMPREREQ]
} else {
lappend ans [list unset __MODULES_LMPREREQ]
lappend ans [list set _LMFILES_ $submodfile_7]
lappend ans [list set LOADEDMODULES $submod_7]
}
testouterr_cmd "csh" "unload $module_7" $ans "$moderrun_7"
setenv_loaded_module [list $submod_5 $module_5 $module_8] [list $submodfile_5 $modulefile_5 $modulefile_8] [list $submod_5 $module_5]
setenv_var __MODULES_LMPREREQ $module_5&$submod_5:$module_8&$module_5
set ans [list]
if {$install_autohandling eq {y}} {
lappend ans [list set LOADEDMODULES $submod_5]
lappend ans [list set _LMFILES_ $submodfile_5]
lappend ans [list unset __MODULES_LMPREREQ]
} else {
lappend ans [list unset __MODULES_LMPREREQ]
lappend ans [list set _LMFILES_ $submodfile_5]
lappend ans [list set LOADEDMODULES $submod_5]
}
lappend ans [list set __MODULES_LMTAG $submod_5&auto-loaded]
testouterr_cmd "csh" "unload $module_8" $ans "$moderrun_8"
setenv_loaded_module [list $submod_6 $module_6 $module_9] [list $submodfile_6 $modulefile_6 $modulefile_9] [list $submod_6 $module_6]
setenv_var __MODULES_LMPREREQ $module_6&$submod_6:$module_9&$module_6
set ans [list]
if {$install_autohandling eq {y}} {
lappend ans [list set LOADEDMODULES $submod_6]
lappend ans [list set _LMFILES_ $submodfile_6]
lappend ans [list unset __MODULES_LMPREREQ]
} else {
lappend ans [list unset __MODULES_LMPREREQ]
lappend ans [list set _LMFILES_ $submodfile_6]
lappend ans [list set LOADEDMODULES $submod_6]
}
lappend ans [list set __MODULES_LMTAG $submod_6&auto-loaded]
testouterr_cmd "csh" "unload $module_9" $ans "$moderrun_9"
setenv_loaded_module [list $submod_7 $module_7 $module_10] [list $submodfile_7 $modulefile_7 $modulefile_10] [list $submod_7 $module_7]
setenv_var __MODULES_LMPREREQ $module_7&$submod_7:$module_10&$module_7
set ans [list]
if {$install_autohandling eq {y}} {
lappend ans [list set LOADEDMODULES $submod_7]
lappend ans [list set _LMFILES_ $submodfile_7]
lappend ans [list unset __MODULES_LMPREREQ]
} else {
lappend ans [list unset __MODULES_LMPREREQ]
lappend ans [list set _LMFILES_ $submodfile_7]
lappend ans [list set LOADEDMODULES $submod_7]
}
lappend ans [list set __MODULES_LMTAG $submod_7&auto-loaded]
testouterr_cmd "csh" "unload $module_10" $ans "$moderrun_10"
setenv_loaded_module [list $submod_11 $module_11] [list $submodfile_11 $modulefile_11] [list $submod_11]
setenv_var __MODULES_LMPREREQ $module_11&$submod_11
set ans [list]
if {$install_autohandling eq {y}} {
lappend ans [list set LOADEDMODULES $submod_11]
lappend ans [list set _LMFILES_ $submodfile_11]
lappend ans [list unset __MODULES_LMPREREQ]
} else {
lappend ans [list unset __MODULES_LMPREREQ]
lappend ans [list set _LMFILES_ $submodfile_11]
lappend ans [list set LOADEDMODULES $submod_11]
}
testouterr_cmd "csh" "unload $module_11" $ans "$moderrun_11"
# Clean up the just changed environment
unsetenv_var __MODULES_LMPREREQ
unsetenv_loaded_module
#
# Cleanup
#
reset_test_env
|