Skip to content

Commit 5659864

Browse files
committed
ts: add depre tests for always-load command in 50/517
1 parent 6528e54 commit 5659864

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed

testsuite/modulefiles.3/lcompat/1.7

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ if {[info exists env(TESTSUITE_LCOMPAT)]} {
2222
allo6 {
2323
always-load
2424
}
25+
allo7 {
26+
always-load foo bar
27+
}
2528
}
2629
}
2730

testsuite/modules.50-cmds/517-always-load.exp

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,42 @@ lappend ans [list set LOADEDMODULES foo/1.0:bar/1.0]
162162
testouterr_cmd sh "unload --auto $mod" $ans {}
163163
testouterr_cmd sh "unload --no-auto $mod" $ans {}
164164

165+
# second requirement loaded afterward, DepRe on depend module in auto mode
166+
setenv_loaded_module [list foo/1.0 $mod] [list $mp/foo/1.0 $modfile]
167+
setenv_path_var __MODULES_LMTAG foo/1.0&keep-loaded&auto-loaded
168+
setenv_path_var __MODULES_LMPREREQ $mod&foo/1.0&bar/1.0
169+
170+
set ans [list]
171+
lappend ans [list set __MODULES_LMPREREQ $mod&foo/1.0&bar/1.0]
172+
lappend ans [list set _LMFILES_ $mp/foo/1.0:$mp/bar/1.0:$modfile]
173+
lappend ans [list set LOADEDMODULES foo/1.0:bar/1.0:$mod]
174+
lappend ans [list set __MODULES_LMTAG foo/1.0&keep-loaded&auto-loaded:bar/1.0&keep-loaded]
175+
set tserr [msg_top_load {bar/1.0 <kL>} {} {} $mod]
176+
testouterr_cmd sh "load --auto bar/1.0" $ans $tserr
177+
178+
set ans [list]
179+
lappend ans [list set _LMFILES_ $mp/foo/1.0:$modfile:$mp/bar/1.0]
180+
lappend ans [list set LOADEDMODULES foo/1.0:$mod:bar/1.0]
181+
testouterr_cmd sh "load --no-auto bar/1.0" $ans {}
182+
183+
# first requirement loaded afterward, DepRe on depend module in auto mode
184+
setenv_loaded_module [list bar/1.0 $mod] [list $mp/bar/1.0 $modfile]
185+
setenv_path_var __MODULES_LMTAG bar/1.0&keep-loaded&auto-loaded
186+
setenv_path_var __MODULES_LMPREREQ $mod&foo/1.0&bar/1.0
187+
188+
set ans [list]
189+
lappend ans [list set __MODULES_LMPREREQ $mod&foo/1.0&bar/1.0]
190+
lappend ans [list set _LMFILES_ $mp/bar/1.0:$mp/foo/1.0:$modfile]
191+
lappend ans [list set LOADEDMODULES bar/1.0:foo/1.0:$mod]
192+
lappend ans [list set __MODULES_LMTAG bar/1.0&keep-loaded&auto-loaded:foo/1.0&keep-loaded]
193+
set tserr [msg_top_load {foo/1.0 <kL>} {} {} $mod]
194+
testouterr_cmd sh "load --auto foo/1.0" $ans $tserr
195+
196+
set ans [list]
197+
lappend ans [list set _LMFILES_ $mp/bar/1.0:$modfile:$mp/foo/1.0]
198+
lappend ans [list set LOADEDMODULES bar/1.0:$mod:foo/1.0]
199+
testouterr_cmd sh "load --no-auto foo/1.0" $ans {}
200+
165201
unsetenv_loaded_module
166202
unsetenv_path_var __MODULES_LMTAG
167203
unsetenv_path_var __MODULES_LMPREREQ
@@ -207,6 +243,26 @@ set tserr [escre [msg_load $mod [msg_moderr {wrong # args: should be "always-loa
207243
testouterr_cmd_re sh "load $mod" ERR $tserr
208244

209245

246+
# second requirement loaded afterward, DepRe on depend module in auto mode
247+
# requirements expressed as generic module names
248+
setenv_var TESTSUITE_LCOMPAT allo7
249+
setenv_loaded_module [list foo/1.0 $mod] [list $mp/foo/1.0 $modfile]
250+
setenv_path_var __MODULES_LMTAG foo/1.0&keep-loaded
251+
setenv_path_var __MODULES_LMPREREQ $mod&foo&bar
252+
253+
set ans [list]
254+
lappend ans [list set __MODULES_LMPREREQ $mod&foo&bar]
255+
lappend ans [list set _LMFILES_ $mp/foo/1.0:$mp/bar/1.0:$modfile]
256+
lappend ans [list set LOADEDMODULES foo/1.0:bar/1.0:$mod]
257+
lappend ans [list set __MODULES_LMTAG foo/1.0&keep-loaded:bar/1.0&keep-loaded]
258+
set tserr [msg_top_load {bar/1.0 <kL>} {} {} $mod]
259+
testouterr_cmd sh "load --auto bar/1.0" $ans $tserr
260+
261+
unsetenv_loaded_module
262+
unsetenv_path_var __MODULES_LMTAG
263+
unsetenv_path_var __MODULES_LMPREREQ
264+
265+
210266
setenv_var TESTSUITE_LCOMPAT allorc1
211267

212268
set ans [list]

0 commit comments

Comments
 (0)