@@ -703,7 +703,7 @@ lappend ans [list set LOADEDMODULES foo/1.0:$mod]
703703testouterr_cmd sh "load --auto $mod" $ans {}
704704testouterr_cmd sh "load --no-auto $mod" $ans {}
705705
706- # multiple prereqs already loaded (first one updated only)
706+ # multiple prereqs already loaded
707707setenv_var TESTSUITE_TAG_OPT prtag10
708708setenv_loaded_module [list bar/1.0 foo/1.0] [list $mp/bar/1.0 $mp/foo/1.0]
709709setenv_path_var __MODULES_LMEXTRATAG foo/1.0&foo
@@ -712,8 +712,8 @@ set ans [list]
712712lappend ans [list set __MODULES_LMPREREQ $mod&foo/1.0|bar/1.0]
713713lappend ans [list set _LMFILES_ $mp/bar/1.0:$mp/foo/1.0:$modfile]
714714lappend ans [list set LOADEDMODULES bar/1.0:foo/1.0:$mod]
715- lappend ans [list set __MODULES_LMEXTRATAG foo/1.0&foo&hidden-loaded]
716- lappend ans [list set __MODULES_LMTAG foo/1.0&foo&hidden-loaded]
715+ lappend ans [list set __MODULES_LMEXTRATAG foo/1.0&foo&hidden-loaded:bar/1.0&hidden-loaded&foo ]
716+ lappend ans [list set __MODULES_LMTAG foo/1.0&foo&hidden-loaded:bar/1.0&hidden-loaded&foo ]
717717testouterr_cmd sh "load --auto $mod" $ans {}
718718
719719# auto-loaded tag set manually on already loaded (prereq)
@@ -741,9 +741,45 @@ lappend ans [list set __MODULES_LMTAG foo/1.0&keep-loaded&foo&auto-loaded]
741741set tserr [msg_top_load $mod {} foo/1.0 {}]
742742testouterr_cmd sh "load --auto $mod" $ans $tserr
743743
744+ # tag set manually on second optional requirement (prereq)
745+ setenv_var TESTSUITE_TAG_OPT prtag13
746+ setenv_loaded_module [list foo/1.0 $mod] [list $mp/foo/1.0 $modfile]
747+ setenv_path_var __MODULES_LMEXTRATAG foo/1.0&foo
748+ setenv_path_var __MODULES_LMTAG foo/1.0&foo&auto-loaded
749+ setenv_path_var __MODULES_LMPREREQ $mod&foo/1.0|bar/1.0
750+ set ans [list]
751+ lappend ans [list set __MODULES_LMPREREQ $mod&foo/1.0|bar/1.0]
752+ lappend ans [list set _LMFILES_ $mp/foo/1.0:$mp/bar/1.0:$modfile]
753+ lappend ans [list set LOADEDMODULES foo/1.0:bar/1.0:$mod]
754+ lappend ans [list set __MODULES_LMEXTRATAG foo/1.0&foo:bar/1.0&foo]
755+ lappend ans [list set __MODULES_LMTAG foo/1.0&foo&auto-loaded:bar/1.0&foo]
756+ #FIXME: tag applied by DepRe reloading module does not appear on info messages
757+ set tserr [msg_top_load bar/1.0 {} {} $mod]
758+ testouterr_cmd sh "load --auto bar/1.0" $ans $tserr
759+
760+ # both requirement loaded, but not tagged
761+ unsetenv_path_var __MODULES_LMEXTRATAG
762+ unsetenv_path_var __MODULES_LMTAG
763+ unsetenv_path_var __MODULES_LMPREREQ
764+ setenv_loaded_module [list foo/1.0 bar/1.0] [list $mp/foo/1.0 $mp/bar/1.0]
765+ set ans [list]
766+ lappend ans [list set __MODULES_LMPREREQ $mod&foo/1.0|bar/1.0]
767+ lappend ans [list set _LMFILES_ $mp/foo/1.0:$mp/bar/1.0:$modfile]
768+ lappend ans [list set LOADEDMODULES foo/1.0:bar/1.0:$mod]
769+ lappend ans [list set __MODULES_LMEXTRATAG foo/1.0&foo:bar/1.0&foo]
770+ lappend ans [list set __MODULES_LMTAG foo/1.0&foo:bar/1.0&foo]
771+ set tserr {}
772+ #FIXME: info messages do not mention that requirements have been updated with tag
773+ testouterr_cmd sh "load --auto $mod" $ans $tserr
774+ testouterr_cmd sh "load --no-auto $mod" $ans $tserr
775+ set tserr [msg_tag {foo/1.0 <foo>}]\n[msg_tag {bar/1.0 <foo>}]\n[msg_load $mod]
776+ testouterr_cmd sh "load -v --auto $mod" $ans $tserr
777+ testouterr_cmd sh "load -v --no-auto $mod" $ans $tserr
778+
744779
745780unsetenv_path_var __MODULES_LMEXTRATAG
746781unsetenv_path_var __MODULES_LMTAG
782+ unsetenv_path_var __MODULES_LMPREREQ
747783unsetenv_loaded_module
748784
749785
0 commit comments