File: 150-module.exp

package info (click to toggle)
modules 5.6.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 23,036 kB
  • sloc: exp: 79,659; sh: 6,142; tcl: 5,900; makefile: 1,492; ansic: 474; python: 265; csh: 202; perl: 47; ruby: 44; lisp: 13
file content (284 lines) | stat: -rw-r--r-- 11,558 bytes parent folder | download | duplicates (2)
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