@@ -162,6 +162,42 @@ lappend ans [list set LOADEDMODULES foo/1.0:bar/1.0]
162162testouterr_cmd sh "unload --auto $mod" $ans {}
163163testouterr_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+
165201unsetenv_loaded_module
166202unsetenv_path_var __MODULES_LMTAG
167203unsetenv_path_var __MODULES_LMPREREQ
@@ -207,6 +243,26 @@ set tserr [escre [msg_load $mod [msg_moderr {wrong # args: should be "always-loa
207243testouterr_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+
210266setenv_var TESTSUITE_LCOMPAT allorc1
211267
212268set ans [list]
0 commit comments