diff --git a/testsuite/install.00-init/010-environ.exp b/testsuite/install.00-init/010-environ.exp index 784f2804..6ac0bc13 100644 --- a/testsuite/install.00-init/010-environ.exp +++ b/testsuite/install.00-init/010-environ.exp @@ -31,6 +31,7 @@ catch {unset env(_LMFILES_)} catch {unset env(MODULES_LMCONFLICT)} catch {unset env(MODULES_LMPREREQ)} catch {unset env(MODULES_LMNOTUASKED)} +catch {unset env(MODULES_LMALTNAME)} catch {unset env(MODULES_RUN_QUARANTINE)} diff --git a/testsuite/modules.00-init/010-environ.exp b/testsuite/modules.00-init/010-environ.exp index 8109e7eb..5806b6c0 100644 --- a/testsuite/modules.00-init/010-environ.exp +++ b/testsuite/modules.00-init/010-environ.exp @@ -32,6 +32,7 @@ catch {unset env(_LMFILES_)} catch {unset env(MODULES_LMCONFLICT)} catch {unset env(MODULES_LMPREREQ)} catch {unset env(MODULES_LMNOTUASKED)} +catch {unset env(MODULES_LMALTNAME)} catch {unset env(MODULECONTACT)} diff --git a/testsuite/modules.00-init/071-args.exp b/testsuite/modules.00-init/071-args.exp index 17c321ac..ba6de83d 100644 --- a/testsuite/modules.00-init/071-args.exp +++ b/testsuite/modules.00-init/071-args.exp @@ -41,6 +41,7 @@ testouterr_cmd "sh" "load" "OK" "" # check first arg is split internally for argument list passed as a single string lappend ans [list setpath LOADEDMODULES "loc_dv2/1.0"] lappend ans [list setpath _LMFILES_ "$modpath/loc_dv2/1.0"] +lappend ans [list setpath MODULES_LMALTNAME "loc_dv2/1.0&loc_dv2/default&loc_dv2"] testouterr_cmd "sh" "NOCMDSPLITload loc_dv2/1.0" $ans "" # unexpected number of arguments leads to error code diff --git a/testsuite/modules.10-use/040-load.exp b/testsuite/modules.10-use/040-load.exp index af82b5d2..d14f53ce 100644 --- a/testsuite/modules.10-use/040-load.exp +++ b/testsuite/modules.10-use/040-load.exp @@ -36,6 +36,7 @@ set use "load use 1.1/version" lappend ans [list setpath MODULEPATH "$newpath:$oldpath"] lappend ans [list setpath LOADEDMODULES "use/1.0:1.1/version"] lappend ans [list setpath _LMFILES_ "$oldpath/use/1.0:$newpath/1.1/version"] +lappend ans [list setpath MODULES_LMALTNAME "use/1.0&use/default&use"] lappend ans [list set TESTSUITE "1.1"] test_cmd_re "ALL" "$use" $ans diff --git a/testsuite/modules.10-use/080-access.exp b/testsuite/modules.10-use/080-access.exp index c915ce0e..58652f90 100644 --- a/testsuite/modules.10-use/080-access.exp +++ b/testsuite/modules.10-use/080-access.exp @@ -79,9 +79,11 @@ if {$is_locked_dir_file_readable} { set ans [list] lappend ans [list set _LMFILES__modshare "$lmf:1"] lappend ans [list set LOADEDMODULES_modshare "$lm:1"] + lappend ans [list set MODULES_LMALTNAME_modshare $lm&loc_rc6/1&loc_rc6/bar&loc_rc6/default&loc_rc6&loc_rc6/new:1] lappend ans [list set _LMFILES_ $lmf] lappend ans [list set LOADEDMODULES $lm] lappend ans [list set testsuite yes] + lappend ans [list set MODULES_LMALTNAME $lm&loc_rc6/1&loc_rc6/bar&loc_rc6/default&loc_rc6&loc_rc6/new] testouterr_cmd "sh" "load $module" $ans "" testouterr_cmd_re "sh" "display $module" "OK" "$modlin\n$lmfre:\n\nmodule-whatis\t$lm\nsetenv\t\ttestsuite yes\n$modlin" diff --git a/testsuite/modules.20-locate/031-defvers2.exp b/testsuite/modules.20-locate/031-defvers2.exp index 9276e5d1..4b4ccc7a 100644 --- a/testsuite/modules.20-locate/031-defvers2.exp +++ b/testsuite/modules.20-locate/031-defvers2.exp @@ -26,6 +26,7 @@ set datetime_re "\[0-9\/]{10} \[0-9:]{8}" # default symbol set by using '.version' file set modsym_1 "loc_dv2/default" set module_1 "loc_dv2/1.0" +set modalt_1 loc_dv2/default&loc_dv2 set modulefile_1 "$modpath/$module_1" set modulefilere_1 "$modpathre/$module_1" set modavail_1 "$module_1\\s+default\\s+$datetime_re" @@ -33,6 +34,7 @@ set modavail_1 "$module_1\\s+default\\s+$datetime_re" # default symbol set by using '.version' file and targets a directory set modsym_2 "loc_dv7/default" set module_2 "loc_dv7/2.0/1.0" +# no alternative names, as default symbol is set over the directory, not the modulefile set modulefile_2 "$modpath/$module_2" set modulefilere_2 "$modpathre/$module_2" # symbol set on directory, so directory appear on avail @@ -41,6 +43,7 @@ set modavail_2 "loc_dv7/2.0\\s+default\\s+" # default symbol set by using '.version' file using module-version cmd set modsym_3 "loc_dv9/default" set module_3 "loc_dv9/1.0" +set modalt_3 loc_dv9/default&loc_dv9 set modulefile_3 "$modpath/$module_3" set modulefilere_3 "$modpathre/$module_3" set modavail_3 "$module_3\\s+default\\s+$datetime_re" @@ -48,6 +51,7 @@ set modavail_3 "$module_3\\s+default\\s+$datetime_re" # default symbol set by using '.version' file on virtual modules set modsym_4 "loc_dvv1/default" set module_4 "loc_dvv1/1.0" +set modalt_4 loc_dvv1/default&loc_dvv1 set modulefile_4 "$modpath/loc_dvv1/.common" set modulefilere_4 "$modpathre/loc_dvv1/.common" set modavail_4 "$module_4\\s+default\\s+$datetime_re" @@ -80,6 +84,11 @@ set whatis_pre "$modlin $modpathre $modlin\n\\s+" for {set i 1} {$i <= 4} {incr i} { set modsym [set "modsym_${i}"] set module [set "module_${i}"] + if {[info exists "modalt_${i}"]} { + set modalt $module&[set "modalt_${i}"] + } else { + set modalt "" + } set modulefile [set "modulefile_${i}"] set modulefilere [set "modulefilere_${i}"] set modavail [set "modavail_${i}"] @@ -87,6 +96,9 @@ for {set i 1} {$i <= 4} {incr i} { set ans [list] lappend ans [list setpath LOADEDMODULES $module] lappend ans [list setpath _LMFILES_ $modulefile] + if {$modalt ne ""} { + lappend ans [list setpath MODULES_LMALTNAME $modalt] + } testouterr_cmd "sh" "load $modsym" $ans "" testouterr_cmd_re "sh" "display $modsym" "OK" "$disp_pre$modulefilere:\n\n$disp_wi$module$disp_post" @@ -137,6 +149,9 @@ unset whatis_pre for {set i 1} {$i <= 4} {incr i} { unset "modsym_${i}" unset "module_${i}" + if {[info exists "modalt_${i}"]} { + unset "modalt_${i}" + } unset "modulefile_${i}" unset "modulefilere_${i}" unset "modavail_${i}" @@ -149,6 +164,7 @@ unset ans unset locate_msg unset i +unset modalt unset modsym unset module unset modulefile diff --git a/testsuite/modules.20-locate/038-defcontext.exp b/testsuite/modules.20-locate/038-defcontext.exp index 5870d72a..dbf4a61d 100644 --- a/testsuite/modules.20-locate/038-defcontext.exp +++ b/testsuite/modules.20-locate/038-defcontext.exp @@ -40,6 +40,7 @@ lappend ans_paths_1 [list text [list $modulefile_1_loa $modulefile_1_def]] set modname_2 "loc_dv2" set module_2_loa "loc_dv2/2.0" set module_2_def "loc_dv2/1.0" +set modalt_2_def loc_dv2/default&loc_dv2 set modulefile_2_loa "$modpath/$module_2_loa" set modulefile_2_def "$modpath/$module_2_def" set modulefilere_2_def "$modpathre/$module_2_def" @@ -70,6 +71,11 @@ for {set i 1} {$i <= 2} {incr i} { set module_loa [set "module_${i}_loa"] set modulefile_loa [set "modulefile_${i}_loa"] set module_def [set "module_${i}_def"] + if {[info exists "modalt_${i}_def"]} { + set modalt_def $module_def&[set "modalt_${i}_def"] + } else { + set modalt_def "" + } set modulefile_def [set "modulefile_${i}_def"] set modulefilere_def [set "modulefilere_${i}_def"] set modavail [set "modavail_${i}"] @@ -78,10 +84,14 @@ for {set i 1} {$i <= 2} {incr i} { # setup environment with module to load setenv_loaded_module $module_loa $modulefile_loa + unsetenv_path_var MODULES_LMALTNAME set ans [list] lappend ans [list setpath LOADEDMODULES "$module_loa:$module_def"] lappend ans [list setpath _LMFILES_ "$modulefile_loa:$modulefile_def"] + if {$modalt_def ne ""} { + lappend ans [list setpath MODULES_LMALTNAME $modalt_def] + } testouterr_cmd_re "sh" "load $modname" $ans "" set ans [list] @@ -92,6 +102,9 @@ for {set i 1} {$i <= 2} {incr i} { set ans [list] lappend ans [list setpath LOADEDMODULES "$module_def"] lappend ans [list setpath _LMFILES_ "$modulefile_def"] + if {$modalt_def ne ""} { + lappend ans [list setpath MODULES_LMALTNAME $modalt_def] + } testouterr_cmd_re "sh" "switch $modname $modname" $ans "" testouterr_cmd_re "sh" "display $modname" "OK" "$disp_pre$modulefilere_def:\n\n$disp_wi$module_def$disp_post" @@ -114,6 +127,7 @@ for {set i 1} {$i <= 2} {incr i} { # Clean up the environment unsetenv_loaded_module +unsetenv_path_var MODULES_LMALTNAME unset help_pre unset help_mid @@ -130,6 +144,9 @@ for {set i 1} {$i <= 2} {incr i} { unset "module_${i}_loa" unset "modulefile_${i}_loa" unset "module_${i}_def" + if {[info exists "modalt_${i}_def"]} { + unset "modalt_${i}_def" + } unset "modulefile_${i}_def" unset "modulefilere_${i}_def" unset "modavail_${i}" @@ -144,6 +161,7 @@ unset modname unset module_loa unset modulefile_loa unset module_def +unset modalt_def unset modulefile_def unset modulefilere_def unset modavail diff --git a/testsuite/modules.20-locate/048-symexec.exp b/testsuite/modules.20-locate/048-symexec.exp index bea3513a..7ce64ccf 100644 --- a/testsuite/modules.20-locate/048-symexec.exp +++ b/testsuite/modules.20-locate/048-symexec.exp @@ -62,6 +62,7 @@ set disp "$modulefilere:\n\n$disp_csh\n$modlin" lappend ans [list setpath LOADEDMODULES "$module_1:$module"] lappend ans [list setpath _LMFILES_ "$modulefile_1:$modulefile"] +lappend ans [list setpath MODULES_LMALTNAME $module&foo] lappend ans [list set testsuite yes] test_cmd_re "csh" "load $module_1 foo" $ans testouterr_cmd_re "sh" "display $module_1 foo" "OK" "$disp_1\n$disp" @@ -69,6 +70,7 @@ testouterr_cmd_re "sh" "display $module_1 foo" "OK" "$disp_1\n$disp" set ans [list] lappend ans [list setpath LOADEDMODULES "$module_2:$module"] lappend ans [list setpath _LMFILES_ "$modulefile_2:$modulefile"] +lappend ans [list setpath MODULES_LMALTNAME $module&loc_sym/foo] lappend ans [list set testsuite yes] test_cmd_re "csh" "load $module_2 loc_sym/foo" $ans testouterr_cmd_re "sh" "display $module_2 loc_sym/foo" "OK" "$disp_2\n$disp" diff --git a/testsuite/modules.20-locate/050-locrc.exp b/testsuite/modules.20-locate/050-locrc.exp index 731db910..dffeb2fd 100644 --- a/testsuite/modules.20-locate/050-locrc.exp +++ b/testsuite/modules.20-locate/050-locrc.exp @@ -28,22 +28,27 @@ # set module_1 "loc_rc1/1.0" +set modalt_1 loc_rc1/foo set modulefile_1 "$modpath/$module_1" set modulefilere_1 "$modpathre/$module_1" set module_2 "loc_rc2/1.0" +set modalt_2 loc_rc2/foo&loc_rc2/bar&loc_rc2/blah set modulefile_2 "$modpath/$module_2" set modulefilere_2 "$modpathre/$module_2" set module_3 "loc_rc3/1.0" +set modalt_3 loc_rc3/default&loc_rc3 set modulefile_3 "$modpath/$module_3" set modulefilere_3 "$modpathre/$module_3" set module_4 "loc_rc4/2.0" +set modalt_4 loc_rc4/default&loc_rc4 set modulefile_4 "$modpath/$module_4" set modulefilere_4 "$modpathre/$module_4" set module_5 "loc_rc7/0.9" +set modalt_5 loc_rc7/bar set modulefile_5 "$modpath/$module_5" set modulefilere_5 "$modpathre/$module_5" @@ -52,6 +57,7 @@ set modulefile_6 "$modpath/$module_6" set modulefilere_6 "$modpathre/$module_6" set module_7 "loc_rc6/1.2" +set modalt_7 loc_rc6/1&loc_rc6/bar&loc_rc6/default&loc_rc6&dirmodalias&loc_rc6/new set modulefile_7 "$modpath/$module_7" set modulefilere_7 "$modpathre/$module_7" @@ -64,6 +70,7 @@ set modulefile_9 "$modpath/$module_9" set modulefilere_9 "$modpathre/$module_9" set module_10 "loc_rcv1/1.2" +set modalt_10 loc_rcv1/1&loc_rcv1/bar&loc_rcv1/default&loc_rcv1&loc_rcv1/new set modulefile_10 "$modpath/loc_rcv1/.common" set modulefilere_10 "$modpathre/loc_rcv1/.common" @@ -108,6 +115,7 @@ set what_12 "$header\n $module_12: $module_12" lappend ans [list set testsuite yes] lappend ans [list setpath LOADEDMODULES $module_1] lappend ans [list setpath _LMFILES_ $modulefile_1] +lappend ans [list setpath MODULES_LMALTNAME $module_1&$modalt_1] test_cmd "csh" "load loc_rc1/foo" $ans testouterr_cmd_re "sh" "display loc_rc1/foo" "OK" "$disp_1" testouterr_cmd_re "sh" "whatis loc_rc1/foo" "OK" "$what_1" @@ -116,6 +124,7 @@ set ans [list] lappend ans [list set testsuite yes] lappend ans [list setpath LOADEDMODULES $module_2] lappend ans [list setpath _LMFILES_ $modulefile_2] +lappend ans [list setpath MODULES_LMALTNAME $module_2&$modalt_2] test_cmd "csh" "load loc_rc2/foo" $ans testouterr_cmd_re "sh" "display loc_rc2/foo" "OK" "$disp_2" testouterr_cmd_re "sh" "whatis loc_rc2/foo" "OK" "$what_2" @@ -124,6 +133,7 @@ set ans [list] lappend ans [list set testsuite yes] lappend ans [list setpath LOADEDMODULES $module_3] lappend ans [list setpath _LMFILES_ $modulefile_3] +lappend ans [list setpath MODULES_LMALTNAME $module_3&$modalt_3] test_cmd "csh" "load loc_rc3" $ans testouterr_cmd_re "sh" "display loc_rc3" "OK" "$disp_3" @@ -131,6 +141,7 @@ set ans [list] lappend ans [list set testsuite yes] lappend ans [list setpath LOADEDMODULES $module_4] lappend ans [list setpath _LMFILES_ $modulefile_4] +lappend ans [list setpath MODULES_LMALTNAME $module_4&$modalt_4] test_cmd "csh" "load loc_rc4" $ans testouterr_cmd_re "sh" "display loc_rc4" "OK" "$disp_4" @@ -139,6 +150,7 @@ set ans [list] lappend ans [list set testsuite yes] lappend ans [list setpath LOADEDMODULES $module_5] lappend ans [list setpath _LMFILES_ $modulefile_5] +lappend ans [list setpath MODULES_LMALTNAME $module_5&$modalt_5] test_cmd "csh" "load loc_rc7" $ans testouterr_cmd_re "sh" "display loc_rc7" "OK" "$disp_5" @@ -160,6 +172,7 @@ set ans [list] lappend ans [list set testsuite yes] lappend ans [list setpath LOADEDMODULES "$module_8:$module_7"] lappend ans [list setpath _LMFILES_ "$modulefile_8:$modulefile_7"] +lappend ans [list setpath MODULES_LMALTNAME $module_7&$modalt_7] test_cmd_re "csh" "load dirmodalias" $ans testouterr_cmd_re "sh" "display dirmodalias" "OK" "$disp_7" testouterr_cmd_re "sh" "whatis dirmodalias" "OK" "$what_9_7" @@ -174,6 +187,7 @@ unsetenv_loaded_module set ans [list] lappend ans [list setpath LOADEDMODULES $module_10] lappend ans [list setpath _LMFILES_ $modulefile_10] +lappend ans [list setpath MODULES_LMALTNAME $module_10&$modalt_10] test_cmd "csh" "load loc_rcv1" $ans testouterr_cmd_re "sh" "display loc_rcv1" "OK" "$disp_10" testouterr_cmd_re "sh" "whatis loc_rcv1/bar" "OK" "$what_10" @@ -230,22 +244,27 @@ unset what_12 unset modulefile_1 unset modulefilere_1 +unset modalt_1 unset module_1 unset modulefile_2 unset modulefilere_2 +unset modalt_2 unset module_2 unset modulefile_3 unset modulefilere_3 +unset modalt_3 unset module_3 unset modulefile_4 unset modulefilere_4 +unset modalt_4 unset module_4 unset modulefile_5 unset modulefilere_5 +unset modalt_5 unset module_5 unset modulefile_6 @@ -254,6 +273,7 @@ unset module_6 unset modulefile_7 unset modulefilere_7 +unset modalt_7 unset module_7 unset modulefile_8 @@ -266,6 +286,7 @@ unset module_9 unset modulefile_10 unset modulefilere_10 +unset modalt_10 unset module_10 unset modulefile_11 diff --git a/testsuite/modules.20-locate/060-rc.exp b/testsuite/modules.20-locate/060-rc.exp index a9135179..b3e8af58 100644 --- a/testsuite/modules.20-locate/060-rc.exp +++ b/testsuite/modules.20-locate/060-rc.exp @@ -73,6 +73,7 @@ set env(MODULERCFILE) "$env(TESTSUITEDIR)/etc/modulerc" lappend ans [list set testsuite yes] lappend ans [list setpath LOADEDMODULES $module_1] lappend ans [list setpath _LMFILES_ $modulefile_1] +lappend ans [list setpath MODULES_LMALTNAME $module_1&loc_rc1/foo&sym_foo&sym_foo/special&loc_rc1/special] lappend anspa [list text $modulefile_1] test_cmd "csh" "load sym_foo" $ans testouterr_cmd_re "sh" "display sym_foo" "OK" "$disp_1" @@ -110,6 +111,7 @@ set ans [list] lappend ans [list set testsuite yes] lappend ans [list setpath LOADEDMODULES $module_2] lappend ans [list setpath _LMFILES_ $modulefile_2] +lappend ans [list setpath MODULES_LMALTNAME $module_2&loc_rc2/foo&sym_foo&sym_foo/special2&loc_rc2/special2&loc_rc2/bar&loc_rc2/blah] set anspa [list] lappend anspa [list text $modulefile_2] test_cmd "csh" "load sym_foo" $ans @@ -128,6 +130,7 @@ test_cmd "sh" "paths sym_foo/special2" $anspa set ans [list] lappend ans [list setpath LOADEDMODULES $module_3] lappend ans [list setpath _LMFILES_ $modulefile_3] +lappend ans [list setpath MODULES_LMALTNAME $module_3&sym_bar&sym_bar/special3&virt_bar/special3] set anspa [list] lappend anspa [list text $modulefile_3] test_cmd "csh" "load sym_bar" $ans diff --git a/testsuite/modules.20-locate/067-hidden.exp b/testsuite/modules.20-locate/067-hidden.exp index ca8926d0..41e9688e 100644 --- a/testsuite/modules.20-locate/067-hidden.exp +++ b/testsuite/modules.20-locate/067-hidden.exp @@ -36,18 +36,21 @@ set modavail_2 "$modavail_1" set modsym_3 "loc_rc8/.2.0" set module_3 "$modsym_3" +set modalt_3 loc_rc8/0.9&loc_rc8/foo set modulefile_3 "$modpath/$module_3" set modulefilere_3 "$modpathre/$module_3" set modavail_3 "$module_3\\s+foo\\s+$datetime_re" set modsym_4 "loc_rc8/foo" set module_4 "$module_3" +set modalt_4 $modalt_3 set modulefile_4 "$modpath/$module_4" set modulefilere_4 "$modpathre/$module_4" set modavail_4 "$modavail_3" set modsym_5 "loc_rc8/0.9" set module_5 "$module_3" +set modalt_5 $modalt_3 set modulefile_5 "$modpath/$module_5" set modulefilere_5 "$modpathre/$module_5" set modavail_5 "$modsym_5 -> loc_rc8/.2.0\\s+" @@ -91,6 +94,7 @@ set modavail_10 "$module_10\\s+$datetime_re" # hidden module is set default set modsym_11 "loc_rc010" set module_11 "$modsym_11/.1.0" +set modalt_11 loc_rc010/default&loc_rc010 set modulefile_11 "$modpath/$module_11" set modulefilere_11 "$modpathre/$module_11" # does not appear on avail command, but appear on whatis and paths @@ -117,6 +121,11 @@ set whatis_pre "$modlin $modpathre $modlin\n" for {set i 1} {$i <= 11} {incr i} { set modsym [set "modsym_${i}"] set module [set "module_${i}"] + if {[info exists "modalt_${i}"]} { + set modalt $module&[set "modalt_${i}"] + } else { + set modalt "" + } set modulefile [set "modulefile_${i}"] set modulefilere [set "modulefilere_${i}"] set modavail [set "modavail_${i}"] @@ -139,6 +148,7 @@ for {set i 1} {$i <= 11} {incr i} { # setup clean environment unsetenv_loaded_module + unsetenv_path_var MODULES_LMALTNAME if {[info exists moderr]} { testouterr_cmd "sh" "load $modsym" "ERR" "$moderr" @@ -150,6 +160,9 @@ for {set i 1} {$i <= 11} {incr i} { lappend ans [list set testsuite "yes"] lappend ans [list setpath LOADEDMODULES $module] lappend ans [list setpath _LMFILES_ $modulefile] + if {$modalt ne ""} { + lappend ans [list setpath MODULES_LMALTNAME $modalt] + } testouterr_cmd "sh" "load $modsym" $ans "" testouterr_cmd_re "sh" "display $modsym" "OK" "$disp_pre$modulefilere:\n\n$disp_wi$module$disp_post" @@ -181,11 +194,17 @@ for {set i 1} {$i <= 11} {incr i} { # setup environment for unload action setenv_loaded_module $module $modulefile + if {$modalt ne ""} { + setenv_path_var MODULES_LMALTNAME $modalt + } set ans [list] lappend ans [list unset testsuite] lappend ans [list unsetpath LOADEDMODULES] lappend ans [list unsetpath _LMFILES_] + if {$modalt ne ""} { + lappend ans [list unsetpath MODULES_LMALTNAME] + } testouterr_cmd "sh" "unload $modsym" $ans "" } @@ -198,6 +217,7 @@ for {set i 1} {$i <= 11} {incr i} { # Clean up the environment unsetenv_loaded_module +unsetenv_path_var MODULES_LMALTNAME unset datetime_re @@ -215,6 +235,9 @@ unset whatis_pre for {set i 1} {$i <= 11} {incr i} { unset "modsym_${i}" unset "module_${i}" + if {[info exists "modalt_${i}"]} { + unset "modalt_${i}" + } unset "modulefile_${i}" unset "modulefilere_${i}" unset "modavail_${i}" @@ -234,6 +257,7 @@ unset ans unset ans_paths unset i +unset modalt unset modsym unset module unset modulefile diff --git a/testsuite/modules.20-locate/068-transitive.exp b/testsuite/modules.20-locate/068-transitive.exp index bda726d8..54286172 100644 --- a/testsuite/modules.20-locate/068-transitive.exp +++ b/testsuite/modules.20-locate/068-transitive.exp @@ -26,6 +26,7 @@ set datetime_re "\[0-9\/]{10} \[0-9:]{8}" # symbol set on symbol set modsym_1 "loc_tr/stable" set module_1 "loc_tr/1.0" +set modalt_1 loc_tr/cur&loc_tr/stable set modulefile_1 "$modpath/$module_1" set modulefilere_1 "$modpathre/$module_1" set modavail_1 "$module_1\\s+cur:stable\\s+$datetime_re" @@ -33,6 +34,7 @@ set modavail_1 "$module_1\\s+cur:stable\\s+$datetime_re" # alias set on symbol (alias set before target symbol definition) set modsym_2 "loc_tr/al1" set module_2 "loc_tr/2.0" +set modalt_2 loc_tr/next&loc_tr/al1&loc_tr/unstable set modulefile_2 "$modpath/$module_2" set modulefilere_2 "$modpathre/$module_2" # symbols set from alias with different module root name are not shown here @@ -42,6 +44,7 @@ set modavail_2 "$modsym_2 -> loc_tr/next\\s+unstable\\s+" # symbol set on alias of symbol (alias set before target symbol definition) set modsym_3 "loc_tr/unstable" set module_3 "$module_2" +set modalt_3 $modalt_2 set modulefile_3 "$modulefile_2" set modulefilere_3 "$modulefilere_2" set modavail_3 "$module_3\\s+next:unstable\\s+$datetime_re" @@ -49,6 +52,7 @@ set modavail_3 "$module_3\\s+next:unstable\\s+$datetime_re" # alias set on symbol (alias set after target symbol definition) set modsym_4 "loc_tr/al2" set module_4 "loc_tr/3.0" +set modalt_4 loc_tr/foo&loc_tr/al2&loc_tr/bar&loc_tr/al3&loc_tr/exp&loc_tr/al4&loc_tr/default&loc_tr&loc_tr/reg set modulefile_4 "$modpath/$module_4" set modulefilere_4 "$modpathre/$module_4" # symbol set on alias targeting this alias also appear here @@ -57,6 +61,7 @@ set modavail_4 "$modsym_4 -> loc_tr/foo\\s+bar:default:exp:reg\\s+" # symbol set on alias of symbol (alias set after target symbol definition) set modsym_5 "loc_tr/bar" set module_5 "$module_4" +set modalt_5 $modalt_4 set modulefile_5 "$modulefile_4" set modulefilere_5 "$modulefilere_4" set modavail_5 "$module_5\\s+bar:default:exp:foo:reg\\s*$datetime_re" @@ -64,6 +69,7 @@ set modavail_5 "$module_5\\s+bar:default:exp:foo:reg\\s*$datetime_re" # alias set on alias of symbol set modsym_6 "loc_tr/al3" set module_6 "$module_4" +set modalt_6 $modalt_4 set modulefile_6 "$modulefile_4" set modulefilere_6 "$modulefilere_4" set modavail_6 "$modsym_6 -> loc_tr/al2\\s+default:exp:reg\\s+" @@ -71,6 +77,7 @@ set modavail_6 "$modsym_6 -> loc_tr/al2\\s+default:exp:reg\\s+" # symbol set on alias of alias of symbol set modsym_7 "loc_tr/exp" set module_7 "$module_4" +set modalt_7 $modalt_4 set modulefile_7 "$modulefile_4" set modulefilere_7 "$modulefilere_4" set modavail_7 "$modavail_5" @@ -78,6 +85,7 @@ set modavail_7 "$modavail_5" # alias set on symbol set on alias of alias of symbol set modsym_8 "loc_tr/al4" set module_8 "$module_4" +set modalt_8 $modalt_4 set modulefile_8 "$modulefile_4" set modulefilere_8 "$modulefilere_4" set modavail_8 "$modsym_8 -> loc_tr/exp\\s+default:reg\\s+" @@ -85,6 +93,8 @@ set modavail_8 "$modsym_8 -> loc_tr/exp\\s+default:reg\\s+" # alias set on distant symbol set modsym_9 "tr_loc/al1" set module_9 "$module_2" +# as an alias is set across modulename, alternative names for loaded modules is different than modalt_2 +set modalt_9 loc_tr/next&tr_loc/al1&tr_loc/trunstable&loc_tr/trunstable&loc_tr/al1&loc_tr/unstable set modulefile_9 "$modulefile_2" set modulefilere_9 "$modulefilere_2" set modavail_9 "$modsym_9 -> loc_tr/next\\s+trunstable\\s+" @@ -93,6 +103,7 @@ set modwarn_9 "$warn_msgs: Symbolic version 'loc_tr/default' already defined" # symbol set on alias of distant symbol set modsym_10 "tr_loc/trunstable" set module_10 "$module_2" +set modalt_10 $modalt_9 set modulefile_10 "$modulefile_2" set modulefilere_10 "$modulefilere_2" set modavail_10 "$modavail_9" @@ -101,6 +112,7 @@ set modwarn_10 "$modwarn_9" # symbol set on alias of distant symbol (local symbol set before its target definition) set modsym_11 "tr_loc/al2" set module_11 "$module_4" +set modalt_11 loc_tr/foo&tr_loc/al2&tr_loc/trbar&loc_tr/trbar&tr_loc/default&tr_loc&loc_tr/default&loc_tr&tr_loc/trreg&loc_tr/trreg&loc_tr/al2&tr_loc/al3&tr_loc/trexp&loc_tr/trexp&tr_loc/al5&loc_tr/bar&loc_tr/al3&loc_tr/exp&tr_loc/al4&loc_tr/al4&loc_tr/reg set modulefile_11 "$modulefile_4" set modulefilere_11 "$modulefilere_4" set modavail_11 "$modsym_11 -> loc_tr/foo\\s+default:trbar:trreg\\s+" @@ -108,6 +120,7 @@ set modwarn_11 "$modwarn_9" set modsym_12 "tr_loc/trbar" set module_12 "$module_4" +set modalt_12 $modalt_11 set modulefile_12 "$modulefile_4" set modulefilere_12 "$modulefilere_4" set modavail_12 "$modavail_11" @@ -116,6 +129,7 @@ set modwarn_12 "$modwarn_9" # symbol set on alias of distant alias set modsym_13 "tr_loc/al3" set module_13 "$module_4" +set modalt_13 $modalt_11 set modulefile_13 "$modulefile_4" set modulefilere_13 "$modulefilere_4" set modavail_13 "$modsym_13 -> loc_tr/al2\\s+trexp\\s+" @@ -124,6 +138,7 @@ set modwarn_13 "$modwarn_9" # symbol set on alias of distant alias set modsym_14 "tr_loc/trexp" set module_14 "$module_4" +set modalt_14 $modalt_11 set modulefile_14 "$modulefile_4" set modulefilere_14 "$modulefilere_4" set modavail_14 "$modavail_13" @@ -132,6 +147,7 @@ set modwarn_14 "$modwarn_9" # alias set on distant symbol set on alias of alias of symbol set modsym_15 "tr_loc/al4" set module_15 "$module_4" +set modalt_15 $modalt_11 set modulefile_15 "$modulefile_4" set modulefilere_15 "$modulefilere_4" set modavail_15 "$modsym_15 -> loc_tr/exp\\s+" @@ -140,6 +156,7 @@ set modwarn_15 "$modwarn_9" # alias set on local symbol set on alias of alias of symbol set modsym_16 "tr_loc/al5" set module_16 "$module_4" +set modalt_16 $modalt_11 set modulefile_16 "$modulefile_4" set modulefilere_16 "$modulefilere_4" set modavail_16 "$modsym_16 -> tr_loc/trexp\\s+" @@ -148,6 +165,7 @@ set modwarn_16 "$modwarn_9" # alias set on distant symbol set modsym_17 "tr2_loc/al1" set module_17 "$module_2" +set modalt_17 loc_tr/next&tr_loc/al1&tr_loc/trunstable&tr2_loc/al1&tr2_loc/tr2unstable&tr_loc/tr2unstable&loc_tr/tr2unstable&loc_tr/trunstable&loc_tr/al1&loc_tr/unstable set modulefile_17 "$modulefile_2" set modulefilere_17 "$modulefilere_2" set modavail_17 "$modsym_17 -> tr_loc/trunstable\\s+tr2unstable\\s+" @@ -156,6 +174,7 @@ set modwarn_17 "$warn_msgs: Symbolic version 'tr_loc/default' already defined\n$ # symbol set on alias of distant symbol set modsym_18 "tr2_loc/tr2unstable" set module_18 "$module_2" +set modalt_18 $modalt_17 set modulefile_18 "$modulefile_2" set modulefilere_18 "$modulefilere_2" set modavail_18 "$modavail_17" @@ -164,6 +183,7 @@ set modwarn_18 "$modwarn_17" # symbol set on alias of distant symbol (local symbol set before its target definition) set modsym_19 "tr2_loc/al2" set module_19 "$module_4" +set modalt_19 loc_tr/foo&tr_loc/al2&tr2_loc/al3&tr2_loc/tr2exp&tr_loc/tr2exp&tr2_loc/al5&tr2_loc/default&tr2_loc&tr_loc/default&tr_loc&tr2_loc/trreg&tr_loc/trreg&tr_loc/trbar&tr2_loc/al2&tr2_loc/tr2bar&tr_loc/tr2bar&loc_tr/default&loc_tr&loc_tr/tr2bar&loc_tr/tr2exp&loc_tr/trbar&loc_tr/trreg&loc_tr/al2&tr_loc/al3&tr_loc/trexp&tr2_loc/al4&loc_tr/trexp&tr_loc/al5&loc_tr/bar&loc_tr/al3&loc_tr/exp&tr_loc/al4&loc_tr/al4&loc_tr/reg set modulefile_19 "$modulefile_4" set modulefilere_19 "$modulefilere_4" set modavail_19 "$modsym_19 -> tr_loc/trbar\\s+tr2bar\\s+" @@ -171,6 +191,7 @@ set modwarn_19 "$modwarn_17" set modsym_20 "tr2_loc/tr2bar" set module_20 "$module_4" +set modalt_20 $modalt_19 set modulefile_20 "$modulefile_4" set modulefilere_20 "$modulefilere_4" set modavail_20 "$modavail_19" @@ -179,6 +200,7 @@ set modwarn_20 "$modwarn_17" # alias set on distant alias set modsym_21 "tr2_loc/al3" set module_21 "$module_4" +set modalt_21 $modalt_19 set modulefile_21 "$modulefile_4" set modulefilere_21 "$modulefilere_4" set modavail_21 "$modsym_21 -> tr_loc/al2\\s+default:tr2exp:trreg\\s*" @@ -187,6 +209,7 @@ set modwarn_21 "$modwarn_17" # symbol set on alias of distant alias set modsym_22 "tr2_loc/tr2exp" set module_22 "$module_4" +set modalt_22 $modalt_19 set modulefile_22 "$modulefile_4" set modulefilere_22 "$modulefilere_4" set modavail_22 "$modavail_21" @@ -195,6 +218,7 @@ set modwarn_22 "$modwarn_17" # alias set on distant symbol set on alias of alias of symbol set modsym_23 "tr2_loc/al4" set module_23 "$module_4" +set modalt_23 $modalt_19 set modulefile_23 "$modulefile_4" set modulefilere_23 "$modulefilere_4" set modavail_23 "$modsym_23 -> tr_loc/trexp\\s+" @@ -203,6 +227,7 @@ set modwarn_23 "$modwarn_17" # alias set on local symbol set on alias of alias of symbol set modsym_24 "tr2_loc/al5" set module_24 "$module_4" +set modalt_24 $modalt_19 set modulefile_24 "$modulefile_4" set modulefilere_24 "$modulefilere_4" set modavail_24 "$modsym_24 -> tr2_loc/tr2exp\\s+default:trreg\\s+" @@ -211,6 +236,7 @@ set modwarn_24 "$modwarn_17" # default symbol set on alias of symbol set on alias of alias of symbol set modsym_25 "loc_tr/default" set module_25 "$module_4" +set modalt_25 $modalt_4 set modulefile_25 "$modulefile_4" set modulefilere_25 "$modulefilere_4" set modavail_25 "$module_4\\s+bar:default:exp:foo:reg$datetime_re" @@ -218,6 +244,7 @@ set modavail_25 "$module_4\\s+bar:default:exp:foo:reg$datetime_re" # symbol set on default symbol set on alias of symbol set on alias of alias of symbol set modsym_26 "loc_tr/reg" set module_26 "$module_4" +set modalt_26 $modalt_4 set modulefile_26 "$modulefile_4" set modulefilere_26 "$modulefilere_4" set modavail_26 "$modavail_25" @@ -225,6 +252,7 @@ set modavail_26 "$modavail_25" # default symbol set on symbol of alias of distant symbol set modsym_27 "tr_loc/default" set module_27 "$module_4" +set modalt_27 $modalt_11 set modulefile_27 "$modulefile_4" set modulefilere_27 "$modulefilere_4" set modavail_27 "tr_loc/al2 -> loc_tr/foo\\s+default:trbar:trreg\\s+" @@ -233,6 +261,7 @@ set modwarn_27 "$modwarn_9" # symbol set on default version set on symbol of alias of distant symbol set modsym_28 "tr_loc/trreg" set module_28 "$module_4" +set modalt_28 $modalt_11 set modulefile_28 "$modulefile_4" set modulefilere_28 "$modulefilere_4" set modavail_28 "$modavail_27" @@ -241,6 +270,7 @@ set modwarn_28 "$modwarn_9" # default symbol set on alias set on local symbol set on alias of alias of symbol (before alias def) set modsym_29 "tr2_loc/default" set module_29 "$module_4" +set modalt_29 $modalt_19 set modulefile_29 "$modulefile_4" set modulefilere_29 "$modulefilere_4" set modavail_29 "tr2_loc/al3 -> tr_loc/al2\\s+default:tr2exp:trreg" @@ -249,6 +279,7 @@ set modwarn_29 "$modwarn_17" # symbol set on default symbol set on alias set on local symbol set on alias of alias of symbol set modsym_30 "tr2_loc/trreg" set module_30 "$module_4" +set modalt_30 $modalt_19 set modulefile_30 "$modulefile_4" set modulefilere_30 "$modulefilere_4" set modavail_30 "$modavail_29" @@ -274,6 +305,11 @@ set whatis_pre "$modlin $modpathre $modlin\n\\s+" for {set i 1} {$i <= 30} {incr i} { set modsym [set "modsym_${i}"] set module [set "module_${i}"] + if {[info exists "modalt_${i}"]} { + set modalt $module&[set "modalt_${i}"] + } else { + set modalt "" + } set modulefile [set "modulefile_${i}"] set modulefilere [set "modulefilere_${i}"] set modavail [set "modavail_${i}"] @@ -287,11 +323,15 @@ for {set i 1} {$i <= 30} {incr i} { # setup clean environment unsetenv_loaded_module + unsetenv_path_var MODULES_LMALTNAME set ans [list] lappend ans [list set testsuite "yes"] lappend ans [list setpath LOADEDMODULES $module] lappend ans [list setpath _LMFILES_ $modulefile] + if {$modalt ne ""} { + lappend ans [list setpath MODULES_LMALTNAME $modalt] + } testouterr_cmd "sh" "load $modsym" $ans "$modwarn" testouterr_cmd_re "sh" "display $modsym" "OK" "$modwarnnl$disp_pre$modulefilere:\n\n$disp_wi$module$disp_post" @@ -307,11 +347,17 @@ for {set i 1} {$i <= 30} {incr i} { # setup environment for unload action setenv_loaded_module $module $modulefile + if {$modalt ne ""} { + setenv_path_var MODULES_LMALTNAME $modalt + } set ans [list] lappend ans [list unset testsuite] lappend ans [list unsetpath LOADEDMODULES] lappend ans [list unsetpath _LMFILES_] + if {$modalt ne ""} { + lappend ans [list unsetpath MODULES_LMALTNAME] + } testouterr_cmd "sh" "unload $modsym" $ans "$modwarn" } @@ -337,6 +383,7 @@ testouterr_cmd "sh" "paths $modsym" $ans "" # Clean up the environment unsetenv_loaded_module +unsetenv_path_var MODULES_LMALTNAME unset datetime_re @@ -354,6 +401,9 @@ unset whatis_pre for {set i 1} {$i <= 30} {incr i} { unset "modsym_${i}" unset "module_${i}" + if {[info exists "modalt_${i}"]} { + unset "modalt_${i}" + } unset "modulefile_${i}" unset "modulefilere_${i}" unset "modavail_${i}" @@ -366,6 +416,7 @@ unset ans unset locate_msg unset i +unset modalt unset modsym unset module unset modulefile diff --git a/testsuite/modules.20-locate/069-cross.exp b/testsuite/modules.20-locate/069-cross.exp index 2e937734..b1a00f17 100644 --- a/testsuite/modules.20-locate/069-cross.exp +++ b/testsuite/modules.20-locate/069-cross.exp @@ -31,51 +31,61 @@ set modpath3re "$modpathre.path3" set modsym_1 "cross/1" set module_1 "cross/1.0" +set modalt_1 $module_1&cross/1 set modulepath_1 "$modpath2" set modulepathre_1 "$modpath2re" set modsym_2 "cross/2" set module_2 "cross/2.0" +set modalt_2 $module_2&cross/2 set modulepath_2 "$modpath3" set modulepathre_2 "$modpath3re" set modsym_3 "cross/3" set module_3 "cross/3.0" +set modalt_3 $module_3&cross/3&cross/bef set modulepath_3 "$modpath1" set modulepathre_3 "$modpath1re" set modsym_4 "cross/4" set module_4 "cross/4.0" +set modalt_4 $module_4&cross/4 set modulepath_4 "$modpath1" set modulepathre_4 "$modpath1re" set modsym_5 "cross/5" set module_5 "cross/5.0" +set modalt_5 $module_5&cross/5&cross/aft set modulepath_5 "$modpath3" set modulepathre_5 "$modpath3re" set modsym_6 "cross/6" set module_6 "cross/6.0" +set modalt_6 $module_6&cross/6 set modulepath_6 "$modpath2" set modulepathre_6 "$modpath2re" set modsym_7 "cross/bef" set module_7 "cross/3.0" +set modalt_7 $modalt_3 set modulepath_7 "$modpath1" set modulepathre_7 "$modpath1re" set modsym_8 "cross/aft" set module_8 "cross/5.0" +set modalt_8 $modalt_5 set modulepath_8 "$modpath3" set modulepathre_8 "$modpath3re" set modsym_9 "cross/othbef" set module_9 "othcross/1.0" +set modalt_9 $module_9&othcross/bef&cross/othbef set modulepath_9 "$modpath1" set modulepathre_9 "$modpath1re" set modsym_10 "cross/othaft" set module_10 "othcross/2.0" +set modalt_10 $module_10&othcross/aft&cross/othaft set modulepath_10 "$modpath3" set modulepathre_10 "$modpath3re" @@ -88,18 +98,23 @@ set modulepathre_11 "$modpath1re" # alias set from top (MODULERCFILE) set modsym_12 "cross/top" set module_12 "$module_1" +set modalt_12 $module_1&cross/top&cross/1 set modulepath_12 "$modulepath_1" set modulepathre_12 "$modulepathre_1" # alias set from top (MODULERCFILE) set modsym_13 "cross/othtop" set module_13 "$module_9" +set modalt_13 $module_9&othcross/bef&cross/othbef&cross/othtop&othcross/othtop +set modulepath_12 "$modulepath_1" set modulepath_13 "$modulepath_9" set modulepathre_13 "$modulepathre_9" # default set from top (MODULERCFILE) set modsym_14 "cross" set module_14 "$module_2" +set modalt_14 $module_2&cross/default&cross&cross/2 +set modulepath_12 "$modulepath_1" set modulepath_14 "$modulepath_2" set modulepathre_14 "$modulepathre_2" @@ -107,6 +122,7 @@ set modulepathre_14 "$modulepathre_2" set modsym_15 "lcross/1" set modnuasked_15 [list cross/2.0 lcross/2] set module_15 [list cross/2.0 lcross/2 lcross/1] +set modalt_15 $modalt_2 set modulefile_15 [list $modpath3/cross/2.0 $modpath2/lcross/2 $modpath1/lcross/1] set modsym_16 "lcross/3" @@ -117,11 +133,13 @@ set modulefile_16 [list $modpath1/cross/4.0 $modpath2/lcross/4 $modpath3/lcross/ set modsym_17 "lcross/5" set modnuasked_17 [list cross/6.0 lcross/6] set module_17 [list cross/6.0 lcross/6 lcross/5] +set modalt_17 $modalt_6 set modulefile_17 [list $modpath2/cross/6.0 $modpath1/lcross/6 $modpath2/lcross/5] set modsym_18 "lcross/7" set modnuasked_18 [list cross/1.0 lcross/8] set module_18 [list cross/1.0 lcross/8 lcross/7] +set modalt_18 $modalt_1 set modulefile_18 [list $modpath2/cross/1.0 $modpath3/lcross/8 $modpath2/lcross/7] set modsym_19 "lcross/10" @@ -149,41 +167,51 @@ set modulepathre_22 "$modpath1re" set modsym_23 "dcross/d31" set module_23 "dcross/dir3/1.0" +set modalt_23 $module_23&$modsym_23 set modulepath_23 "$modpath3" set modulepathre_23 "$modpath3re" set modsym_24 "dcross/dir2/craft" set module_24 "dcross/dir2/1.0" +set modalt_24 $module_24&$modsym_24 set modulepath_24 "$modpath2" set modulepathre_24 "$modpath2re" set modsym_25 "dcross/dir1/bef" set module_25 "dcross/dir1/1.0" +# different than for module_22, as symbol in defined across modulepath, so it is missed +# when the modulefile search reaches satisfying result before looking at this modulepath +set modalt_25 $module_25&$modsym_25 set modulepath_25 "$modpath1" set modulepathre_25 "$modpath1re" set modsym_26 "dcross/dir1/aft" set module_26 "dcross/dir1/3.0" +set modalt_26 $module_26&$modsym_26 set modulepath_26 "$modpath3" set modulepathre_26 "$modpath3re" set modsym_27 "dcross/dir1/first" set module_27 "dcross/4.0" +set modalt_27 $module_27&$modsym_27 set modulepath_27 "$modpath1" set modulepathre_27 "$modpath1re" set modsym_28 "dcross/dir1/last" set module_28 "dcross/5.0" +set modalt_28 $module_28&$modsym_28 set modulepath_28 "$modpath3" set modulepathre_28 "$modpath3re" set modsym_29 "dcross/d11" set module_29 "dcross/dir1/1.0" +set modalt_29 $modalt_25&$modsym_29 set modulepath_29 "$modpath1" set modulepathre_29 "$modpath1re" set modsym_30 "dcross/dir1/crbef" set module_30 "dcross/dir1/2.0" +set modalt_30 $module_30&$modsym_30 set modulepath_30 "$modpath2" set modulepathre_30 "$modpath2re" @@ -195,48 +223,56 @@ set modulepathre_31 "$modpath1re" # working with virtual modules set modsym_32 "vcross/1" set module_32 "vcross/1.0" +set modalt_32 $module_32&$modsym_32 set modulefile_32 "$modpath2/vcross/.base" set modulefilere_32 "$modpath2re/vcross/.base" set modulepathre_32 "$modpath2re" set modsym_33 "vcross/2" set module_33 "vcross/2.0" +set modalt_33 $module_33&$modsym_33 set modulefile_33 "$modpath3/vcross/.base" set modulefilere_33 "$modpath3re/vcross/.base" set modulepathre_33 "$modpath3re" set modsym_34 "vcross/3" set module_34 "vcross/3.0" +set modalt_34 $module_34&$modsym_34&vcross/bef set modulefile_34 "$modpath1/vcross/.base" set modulefilere_34 "$modpath1re/vcross/.base" set modulepathre_34 "$modpath1re" set modsym_35 "vcross/4" set module_35 "vcross/4.0" +set modalt_35 $module_35&$modsym_35 set modulefile_35 "$modpath1/vcross/.base" set modulefilere_35 "$modpath1re/vcross/.base" set modulepathre_35 "$modpath1re" set modsym_36 "vcross/5" set module_36 "vcross/5.0" +set modalt_36 $module_36&$modsym_36&vcross/aft set modulefile_36 "$modpath3/vcross/.base" set modulefilere_36 "$modpath3re/vcross/.base" set modulepathre_36 "$modpath3re" set modsym_37 "vcross/6" set module_37 "vcross/6.0" +set modalt_37 $module_37&$modsym_37 set modulefile_37 "$modpath2/vcross/.base" set modulefilere_37 "$modpath2re/vcross/.base" set modulepathre_37 "$modpath2re" set modsym_38 "vcross/bef" set module_38 "vcross/3.0" +set modalt_38 $modalt_34 set modulefile_38 "$modpath1/vcross/.base" set modulefilere_38 "$modpath1re/vcross/.base" set modulepathre_38 "$modpath1re" set modsym_39 "vcross/aft" set module_39 "vcross/5.0" +set modalt_39 $modalt_36 set modulefile_39 "$modpath3/vcross/.base" set modulefilere_39 "$modpath3re/vcross/.base" set modulepathre_39 "$modpath3re" @@ -257,48 +293,56 @@ set modulepathre_41 "$modpath1re" set modsym_42 "dvcross/d31" set module_42 "dvcross/dir3/1.0" +set modalt_42 $module_42&$modsym_42 set modulefile_42 "$modpath3/dvcross/.base" set modulefilere_42 "$modpath3re/dvcross/.base" set modulepathre_42 "$modpath3re" set modsym_43 "dvcross/dir2/craft" set module_43 "dvcross/dir2/1.0" +set modalt_43 $module_43&$modsym_43 set modulefile_43 "$modpath2/dvcross/.base" set modulefilere_43 "$modpath2re/dvcross/.base" set modulepathre_43 "$modpath2re" set modsym_44 "dvcross/dir1/bef" set module_44 "dvcross/dir1/1.0" +set modalt_44 $module_44&$modsym_44 set modulefile_44 "$modpath1/dvcross/.base" set modulefilere_44 "$modpath1re/dvcross/.base" set modulepathre_44 "$modpath1re" set modsym_45 "dvcross/dir1/aft" set module_45 "dvcross/dir1/3.0" +set modalt_45 $module_45&$modsym_45 set modulefile_45 "$modpath3/dvcross/.base" set modulefilere_45 "$modpath3re/dvcross/.base" set modulepathre_45 "$modpath3re" set modsym_46 "dvcross/dir1/first" set module_46 "dvcross/4.0" +set modalt_46 $module_46&$modsym_46 set modulefile_46 "$modpath1/dvcross/.base" set modulefilere_46 "$modpath1re/dvcross/.base" set modulepathre_46 "$modpath1re" set modsym_47 "dvcross/dir1/last" set module_47 "dvcross/5.0" +set modalt_47 $module_47&$modsym_47 set modulefile_47 "$modpath3/dvcross/.base" set modulefilere_47 "$modpath3re/dvcross/.base" set modulepathre_47 "$modpath3re" set modsym_48 "dvcross/d11" set module_48 "dvcross/dir1/1.0" +set modalt_48 $module_48&dvcross/dir1/bef&$modsym_48 set modulefile_48 "$modpath1/dvcross/.base" set modulefilere_48 "$modpath1re/dvcross/.base" set modulepathre_48 "$modpath1re" set modsym_49 "dvcross/dir1/crbef" set module_49 "dvcross/dir1/2.0" +set modalt_49 $module_49&$modsym_49 set modulefile_49 "$modpath2/dvcross/.base" set modulefilere_49 "$modpath2re/dvcross/.base" set modulepathre_49 "$modpath2re" @@ -324,6 +368,11 @@ proc cross_test_case {i {test_whatis 1} {test_paths 1} {test_shows 1}} { set modsym [set "::modsym_${i}"] set modulelist [set "::module_${i}"] set module [join $modulelist ":"] + if {[info exists "::modalt_${i}"]} { + set modalt [set "::modalt_${i}"] + } else { + set modalt "" + } if {[info exists "::modnuasked_${i}"]} { set modnuasked [join [set "::modnuasked_${i}"] ":"] } else { @@ -348,6 +397,7 @@ proc cross_test_case {i {test_whatis 1} {test_paths 1} {test_shows 1}} { # setup environment with no loaded module unsetenv_loaded_module + unsetenv_path_var MODULES_LMALTNAME set ans [list] lappend ans [list set testsuite "yes"] @@ -356,6 +406,9 @@ proc cross_test_case {i {test_whatis 1} {test_paths 1} {test_shows 1}} { if {$modnuasked ne ""} { lappend ans [list setpath MODULES_LMNOTUASKED "$modnuasked"] } + if {$modalt ne ""} { + lappend ans [list setpath MODULES_LMALTNAME $modalt] + } testouterr_cmd_re "sh" "load $modsym" $ans "" if {$test_shows} { @@ -381,11 +434,17 @@ proc cross_test_case {i {test_whatis 1} {test_paths 1} {test_shows 1}} { # setup environment with targeted module loaded setenv_loaded_module $modulelist $modulefilelist $modnuasked + if {$modalt ne ""} { + setenv_path_var MODULES_LMALTNAME $modalt + } set ans [list] lappend ans [list unset testsuite] lappend ans [list unsetpath LOADEDMODULES] lappend ans [list unsetpath _LMFILES_] + if {$modalt ne ""} { + lappend ans [list unsetpath MODULES_LMALTNAME] + } if {$modnuasked ne ""} { lappend ans [list unsetpath MODULES_LMNOTUASKED] } @@ -456,6 +515,7 @@ for {set i 42} {$i <= 49} {incr i} { # Clean up the environment unsetenv_loaded_module +unsetenv_path_var MODULES_LMALTNAME setenv_path_var MODULEPATH $modpath unset help_pre @@ -469,6 +529,9 @@ unset disp_post for {set i 1} {$i <= 49} {incr i} { unset "modsym_${i}" unset "module_${i}" + if {[info exists "modalt_${i}"]} { + unset "modalt_${i}" + } if {[info exists "modnuasked_${i}"]} { unset "modnuasked_${i}" } diff --git a/testsuite/modules.20-locate/070-homerc.exp b/testsuite/modules.20-locate/070-homerc.exp index 25d085fe..32b991e1 100644 --- a/testsuite/modules.20-locate/070-homerc.exp +++ b/testsuite/modules.20-locate/070-homerc.exp @@ -47,6 +47,7 @@ set env(HOME) "$env(TESTSUITEDIR)/home" lappend ans [list set testsuite yes] lappend ans [list setpath LOADEDMODULES $module_1] lappend ans [list setpath _LMFILES_ $modulefile_1] +lappend ans [list setpath MODULES_LMALTNAME $module_1&loc_sym/sym_home] set disp_csh "setenv\t\ttestsuite yes" set disp_1 "$modlin\n$modulefilere_1:\n\n$disp_csh\n$modlin" diff --git a/testsuite/modules.20-locate/075-symlink.exp b/testsuite/modules.20-locate/075-symlink.exp index 47ef5934..3e272575 100644 --- a/testsuite/modules.20-locate/075-symlink.exp +++ b/testsuite/modules.20-locate/075-symlink.exp @@ -58,6 +58,7 @@ set ans [list] lappend ans [list set testsuite yes] lappend ans [list setpath LOADEDMODULES "$module_2"] lappend ans [list setpath _LMFILES_ "$modulefile_2"] +lappend ans [list setpath MODULES_LMALTNAME $module_2&symlink/1&symlink/bar&symlink/default&symlink&symlink/new] test_cmd "sh" "load symlink" $ans testouterr_cmd_re "sh" "display symlink" "OK" "$disp_2" testouterr_cmd_re "sh" "whatis symlink" "OK" "$what_1_2" diff --git a/testsuite/modules.20-locate/080-access.exp b/testsuite/modules.20-locate/080-access.exp index 832ed5dc..44f686e3 100644 --- a/testsuite/modules.20-locate/080-access.exp +++ b/testsuite/modules.20-locate/080-access.exp @@ -191,9 +191,11 @@ change_file_perms $lmf5 $hide_perms lappend ans [list set _LMFILES__modshare "$rlmf5:1"] lappend ans [list set LOADEDMODULES_modshare "$rlm5:1"] +lappend ans [list set MODULES_LMALTNAME_modshare $rlm5&loc_rc1/foo:1] lappend ans [list set _LMFILES_ $rlmf5] lappend ans [list set LOADEDMODULES $rlm5] lappend ans [list set testsuite yes] +lappend ans [list set MODULES_LMALTNAME $rlm5&loc_rc1/foo] # another implicit default is chosen testouterr_cmd "sh" "load $m5" $ans "" diff --git a/testsuite/modules.50-cmds/015-use.exp b/testsuite/modules.50-cmds/015-use.exp index ee9c1959..e3a5bf7b 100644 --- a/testsuite/modules.50-cmds/015-use.exp +++ b/testsuite/modules.50-cmds/015-use.exp @@ -56,6 +56,7 @@ set modulefile9 "$path1/$module9" lappend ans [list setpath MODULEPATH "$path2:$path1"] lappend ans [list setpath LOADEDMODULES $module1] lappend ans [list setpath _LMFILES_ $modulefile1] +lappend ans [list setpath MODULES_LMALTNAME "$module1&use/default&use"] test_cmd_re "ALL" "load $module1" $ans diff --git a/testsuite/modules.50-cmds/170-swap.exp b/testsuite/modules.50-cmds/170-swap.exp index 3389f1f1..02401e2a 100644 --- a/testsuite/modules.50-cmds/170-swap.exp +++ b/testsuite/modules.50-cmds/170-swap.exp @@ -195,11 +195,17 @@ setenv_loaded_module {} {} set ans [list] lappend ans [list setpath LOADEDMODULES "$mod21"] lappend ans [list setpath _LMFILES_ "$mod21p"] +lappend ans [list setpath MODULES_LMALTNAME "$mod21&loc_dv2/default&loc_dv2"] # module to unload exists but is not loaded, just load testouterr_cmd_re "sh" "swap $mod11 $mod21" $ans "" setenv_loaded_module [list $mod11 $mod21] [list $mod11p $mod21p] +setenv_path_var MODULES_LMALTNAME "$mod21&loc_dv2/default&loc_dv2" + +set ans [list] +lappend ans [list setpath LOADEDMODULES "$mod21"] +lappend ans [list setpath _LMFILES_ "$mod21p"] # module to load is already loaded, just unload testouterr_cmd_re "sh" "swap $mod11 $mod21" $ans "" @@ -230,6 +236,7 @@ setenv_loaded_module [list $mod21] [list $mod21p] # Test to swap-off module with issue, nothing unloads # +unsetenv_path_var MODULES_LMALTNAME setenv_loaded_module [list $mod100] [list $mod100p] testouterr_cmd "sh" "swap $mod100 $mod11" "ERR" "$mod100errun" diff --git a/testsuite/modules.50-cmds/197-load-lots.exp b/testsuite/modules.50-cmds/197-load-lots.exp index 76ade77c..7a4163eb 100644 --- a/testsuite/modules.50-cmds/197-load-lots.exp +++ b/testsuite/modules.50-cmds/197-load-lots.exp @@ -58,6 +58,7 @@ lappend ans [list setpath MODULES_LMNOTUASKED [join $tmnuaall ":"]] for {set t 10} {$t <= 30} {incr t} { lappend ans [list set "t$t" "t$t"] } +lappend ans [list setpath MODULES_LMALTNAME "$mall&load/default&load"] # # The load tests @@ -68,6 +69,7 @@ test_cmd_re "ALL" "load $mall" $ans # set-up a loaded environment # setenv_loaded_module [split $tmall ":"] [split $tpall ":"] $tmnuaall +setenv_path_var MODULES_LMALTNAME "$mall&load/default&load" set ans [list] @@ -78,6 +80,7 @@ lappend ans [list unsetpath MODULES_LMNOTUASKED] for {set t 10} {$t <= 30} {incr t} { lappend ans [list unset "t$t"] } +lappend ans [list unsetpath MODULES_LMALTNAME] # # The unload tests @@ -89,6 +92,7 @@ test_cmd_re "ALL" "unload $mall" $ans # unsetenv_loaded_module +unsetenv_path_var MODULES_LMALTNAME unset ans diff --git a/testsuite/modules.50-cmds/280-info-specified.exp b/testsuite/modules.50-cmds/280-info-specified.exp index 8f3f0bc8..66e56fe3 100644 --- a/testsuite/modules.50-cmds/280-info-specified.exp +++ b/testsuite/modules.50-cmds/280-info-specified.exp @@ -37,8 +37,10 @@ set modulefilere "$modpathre/$module" lappend ans [list set _LMFILES__modshare "$modulefile:1"] lappend ans [list set LOADEDMODULES_modshare "$module:1"] +lappend ans [list set MODULES_LMALTNAME_modshare "$module&$module2:1"] lappend ans [list set _LMFILES_ $modulefile] lappend ans [list set LOADEDMODULES $module] +lappend ans [list set MODULES_LMALTNAME "$module&$module2"] # # The tests @@ -62,6 +64,7 @@ testouterr_cmd_re "sh" "test $module2" "OK" "$modlin\nModule Specific Test for $ # Set up the environment for test that require the module to be loaded setenv_loaded_module $module $modulefile +setenv_path_var MODULES_LMALTNAME "$module&$module2" # test switching testouterr_cmd "sh" "switch $module $module" $ans "$module\n$module" @@ -70,6 +73,7 @@ testouterr_cmd "sh" "switch $module2 $module" $ans "$module2\n$module" # test unloading set ans [list] +lappend ans [list unsetpath MODULES_LMALTNAME] lappend ans [list unsetpath LOADEDMODULES] lappend ans [list unsetpath _LMFILES_] @@ -83,6 +87,7 @@ testouterr_cmd "sh" "unload $module2" $ans "$module2" # Clean up the environment unsetenv_loaded_module +unsetenv_path_var MODULES_LMALTNAME unset ans diff --git a/testsuite/modules.50-cmds/281-info-modulerc.exp b/testsuite/modules.50-cmds/281-info-modulerc.exp index 18907f3d..c611170e 100644 --- a/testsuite/modules.50-cmds/281-info-modulerc.exp +++ b/testsuite/modules.50-cmds/281-info-modulerc.exp @@ -38,8 +38,10 @@ set modulefilere2 "$modpathre/$module2" lappend ans [list set _LMFILES__modshare "$modulefile2:1"] lappend ans [list set LOADEDMODULES_modshare "$module2:1"] +lappend ans [list set MODULES_LMALTNAME_modshare "$module2&inforc/bar&inforc/default&inforc:1"] lappend ans [list set _LMFILES_ $modulefile2] lappend ans [list set LOADEDMODULES $module2] +lappend ans [list set MODULES_LMALTNAME "$module2&inforc/bar&inforc/default&inforc"] set out_rc "type: Tcl name: $module/.modulerc @@ -92,6 +94,7 @@ testouterr_cmd "sh" "apropos $module" "ERR" $err_fullsearch # Set up the environment for test that require the module to be loaded setenv_loaded_module $module2 $modulefile2 +setenv_path_var MODULES_LMALTNAME "$module2&inforc/bar&inforc/default&inforc" # test listing testouterr_cmd_re "sh" "list" "OK" "$header_list\n 1\\) $module2\\(bar:default:list\\)\\s+" @@ -104,6 +107,7 @@ testouterr_cmd "sh" "switch $module $module2" $ans "$out_rc_switch" set ans [list] lappend ans [list unsetpath LOADEDMODULES] lappend ans [list unsetpath _LMFILES_] +lappend ans [list unsetpath MODULES_LMALTNAME] # modulerc is not interpreted when unloading a loaded module testouterr_cmd "sh" "unload $module" $ans "" @@ -114,6 +118,7 @@ testouterr_cmd "sh" "unload $module" $ans "" # Clean up the environment unsetenv_loaded_module +unsetenv_path_var MODULES_LMALTNAME unset ans diff --git a/testsuite/modules.50-cmds/350-allin.exp b/testsuite/modules.50-cmds/350-allin.exp index 6246b180..07bcbc0c 100644 --- a/testsuite/modules.50-cmds/350-allin.exp +++ b/testsuite/modules.50-cmds/350-allin.exp @@ -152,6 +152,7 @@ testouterr_cmd "sh" "load $module/4" "ERR" "" # setenv_loaded_module "$module/1" "$modulepath/$module/1" +setenv_path_var MODULES_LMALTNAME $module/1&foo setenv_var ts1 "ok" setenv_var tsu "" setenv_var TSPATH "dir3 dir2" @@ -169,6 +170,7 @@ lappend ans [list unalias foo] lappend ans [list unxres Ileaf.popup.saveUnder] lappend ans [list unsetpath LOADEDMODULES] lappend ans [list unsetpath _LMFILES_] +lappend ans [list unsetpath MODULES_LMALTNAME] set tserr1 "$modulepathre: $module/1 $module/2 @@ -206,6 +208,7 @@ unsetenv_var tsu unsetenv_path_var TSPATH unsetenv_var tsp +unsetenv_path_var MODULES_LMALTNAME setenv_loaded_module "$module/2" "$modulepath/$module/2" set ans [list] lappend ans [list unsetpath LOADEDMODULES] diff --git a/testsuite/modules.61-coll/010-init_ts.exp b/testsuite/modules.61-coll/010-init_ts.exp index d44cd61f..630fbf08 100644 --- a/testsuite/modules.61-coll/010-init_ts.exp +++ b/testsuite/modules.61-coll/010-init_ts.exp @@ -122,20 +122,25 @@ set c9mod3 $c2mod6 set cdlmf "$cdmodpath1/$cdmod1:$cdmodpath1/$cdmod2:$cdmodpath1/$cdmod3:$cdmodpath1/$cdmod4:$cdmodpath1/$cdmod5" set cdlm "$cdmod1:$cdmod2:$cdmod3:$cdmod4:$cdmod5" +set cdlmalt "$cdmod1&loc_rc1/foo:$cdmod5&loc_dv2/default&loc_dv2" set cdlmf_part "$cdmodpath1/$cdmod1:$cdmodpath1/$cdmod2:$cdmodpath1/$cdmod3:$cdmodpath1/$cdmod4:$cdmodpath1/$cdmod5n/2.0" set cdlm_part "$cdmod1:$cdmod2:$cdmod3:$cdmod4:$cdmod5n/2.0" +set cdlmalt_part "$cdmod1&loc_rc1/foo" set cdmodpath "$cdmodpath1" set c1lmf "$c1modpath1/$cdmod1:$c1modpath1/$cdmod2:$c1modpath1/$cdmod3:$c1modpath1/$cdmod4:$c1modpath1/$c1mod5:$c1modpath1/$c1mod6" set c1lm "$cdmod1:$cdmod2:$cdmod3:$cdmod4:$c1mod5:$c1mod6" +set c1lmalt $cdlmalt_part set c1modpath "$c1modpath1:$c1modpath2" set c2lmf "$c2modpath1/$cdmod1:$c2modpath1/$cdmod2:$c2modpath1/$cdmod3:$c2modpath1/$c2mod4:$c2modpath1/$c2mod5:$c2modpath1/$c2mod6" set c2lm "$cdmod1:$cdmod2:$cdmod3:$c2mod4:$c2mod5:$c2mod6" +set c2lmalt $c1lmalt set c2modpath "$c2modpath1:$c2modpath2" set c3modpath "$c3modpath1:$c3modpath2" set c4modpath "$c4modpath1:$c4modpath2" set c6modpath "$c6modpath1:$c6modpath2:$c6modpath3" set c6lmf "$c6mod1f:$c6mod2f:$c6mod3f:$c6mod4f" set c6lm "$c6mod1:$c6mod2:$c6mod3:$c6mod4" +set c6lmalt "$c6mod2\&dcross/dir1/aft" set c7modpath "" set c7lmf "$c7mod1:$c7mod2:$c7mod3" set c7lm "$c7mod1:$c7mod2:$c7mod3" diff --git a/testsuite/modules.61-coll/040-restore.exp b/testsuite/modules.61-coll/040-restore.exp index 78c2fb1d..a02ce8f0 100644 --- a/testsuite/modules.61-coll/040-restore.exp +++ b/testsuite/modules.61-coll/040-restore.exp @@ -71,16 +71,18 @@ testouterr_cmd "ALL" "restore $badcontfp" "ERR" "$badcontfperrmsg" # setup an empty environment unsetenv_path_var MODULEPATH -lappend ans [list set _LMFILES__modshare "(.*)"] -lappend ans [list set LOADEDMODULES_modshare "(.*)"] -lappend ans "(.*)" -lappend ans [list set MODULEPATH_modshare "(.*)"] -lappend ans "(.*)" -lappend ans [list set _LMFILES_ $cdlmf] lappend ans [list set LOADEDMODULES $cdlm] +lappend ans [list set _LMFILES_ $cdlmf] +lappend ans "(.*)" +lappend ans [list set MODULES_LMALTNAME $cdlmalt] +lappend ans "(.*)" +lappend ans [list set MODULES_LMALTNAME_modshare "(.*)"] lappend ans "(.*)" lappend ans "(.*)" lappend ans [list set MODULEPATH $cdmodpath] +lappend ans [list set LOADEDMODULES_modshare "(.*)"] +lappend ans [list set _LMFILES__modshare "(.*)"] +lappend ans [list set MODULEPATH_modshare "(.*)"] testouterr_cmd_re "ALL" "restore" $ans "$cderrmsg" @@ -92,8 +94,10 @@ testouterr_cmd_re "ALL" "restore" $ans "$cderrmsg" eval setenv_path_var MODULEPATH [split $cdmodpath ":"] setenv_loaded_module [split $cdlm_part ":"] [split $cdlmf_part ":"] +eval setenv_path_var MODULES_LMALTNAME [split $cdlmalt_part ":"] set ans [list] +lappend ans [list setpath MODULES_LMALTNAME $cdlmalt] lappend ans [list setpath LOADEDMODULES $cdlm] lappend ans [list setpath _LMFILES_ $cdlmf] @@ -106,8 +110,10 @@ testouterr_cmd_re "sh" "restore" $ans "" # fake environment state: default collection restored setenv_loaded_module [split $cdlm ":"] [split $cdlmf ":"] +eval setenv_path_var MODULES_LMALTNAME [split $cdlmalt ":"] set ans [list] +lappend ans [list setpath MODULES_LMALTNAME $c1lmalt] lappend ans [list setpath MODULEPATH $c1modpath] lappend ans [list setpath LOADEDMODULES $c1lm] lappend ans [list setpath _LMFILES_ $c1lmf] @@ -122,6 +128,7 @@ testouterr_cmd_re "ALL" "restore $coll1" $ans "$c1errmsg" # fake environment state: $coll1 collection restored eval setenv_path_var MODULEPATH [split $c1modpath ":"] setenv_loaded_module [split $c1lm ":"] [split $c1lmf ":"] +eval setenv_path_var MODULES_LMALTNAME [split $c1lmalt ":"] testouterr_cmd "ALL" "restore $coll1" "OK" "" @@ -146,6 +153,7 @@ testouterr_cmd_re "ALL" "restore $coll2" $ans "$c2errmsg" # fake environment state: $coll2 collection restored eval setenv_path_var MODULEPATH [split $c2modpath ":"] setenv_loaded_module [split $c2lm ":"] [split $c2lmf ":"] +eval setenv_path_var MODULES_LMALTNAME [split $c2lmalt ":"] set ans [list] lappend ans [list setpath MODULEPATH $c3modpath] @@ -212,12 +220,14 @@ testouterr_cmd_re "ALL" "restore $coll5fp" $ans "$c4errmsg" # restore environment unsetenv_path_var MODULEPATH unsetenv_loaded_module +unsetenv_path_var MODULES_LMALTNAME set ans [list] lappend ans [list set testsuite "yes"] lappend ans [list setpath LOADEDMODULES $c6lm] lappend ans [list setpath _LMFILES_ $c6lmf] lappend ans [list setpath MODULEPATH $c6modpath] +lappend ans [list setpath MODULES_LMALTNAME $c6lmalt] testouterr_cmd_re "sh" "restore $coll6" $ans "" @@ -236,6 +246,7 @@ lappend ans [list setpath LOADEDMODULES "::$c6lm"] lappend ans [list setpath _LMFILES_ "::$c6lmf"] # empty dir elements are ignored but stick to the variable, they should be removed lappend ans [list setpath MODULEPATH "::$c6modpath"] +lappend ans [list setpath MODULES_LMALTNAME $c6lmalt] testouterr_cmd_re "sh" "restore $coll6" $ans "" diff --git a/testsuite/modules.61-coll/080-access.exp b/testsuite/modules.61-coll/080-access.exp index 7cc2a7d6..161b0016 100644 --- a/testsuite/modules.61-coll/080-access.exp +++ b/testsuite/modules.61-coll/080-access.exp @@ -41,6 +41,7 @@ set coll_list "$coll1\n${coll1}.save\n$coll2\n$coll3\n$coll4f\n$coll6f\n$colld\n lappend ans [list set testsuite yes] lappend ans [list setpath MODULEPATH $c1modpath] +lappend ans [list setpath MODULES_LMALTNAME $c1lmalt] lappend ans [list unset mload] lappend ans [list setpath LOADEDMODULES $c1lm] lappend ans [list setpath _LMFILES_ $c1lmf] diff --git a/testsuite/modules.61-coll/999-cleanup.exp b/testsuite/modules.61-coll/999-cleanup.exp index 4614f76c..74387fac 100644 --- a/testsuite/modules.61-coll/999-cleanup.exp +++ b/testsuite/modules.61-coll/999-cleanup.exp @@ -61,19 +61,24 @@ unset c9cont unset cdlmf unset cdlm +unset cdlmalt unset cdmodpath unset cdlmf_part unset cdlm_part +unset cdlmalt_part unset c1lmf unset c1lm +unset c1lmalt unset c1modpath unset c2lmf unset c2lm +unset c2lmalt unset c2modpath unset c3modpath unset c4modpath unset c6lmf unset c6lm +unset c6lmalt unset c6modpath unset c7lmf unset c7lm diff --git a/testsuite/modules.80-deep/010-init_ts.exp b/testsuite/modules.80-deep/010-init_ts.exp index 83359fb8..ade1a4bc 100644 --- a/testsuite/modules.80-deep/010-init_ts.exp +++ b/testsuite/modules.80-deep/010-init_ts.exp @@ -30,69 +30,92 @@ set oplain1 "plain/dir1/2.0" set cmodulerc "modulerc" set imodulerc0 "modulerc" set omodulerc0 "modulerc/dir1/1.0" +set omodulerc0alt "$omodulerc0&$cmodulerc/dir1/default&$cmodulerc/dir1&$cmodulerc/default&$cmodulerc" set imodulerc1 "modulerc/dir2" set omodulerc1 "modulerc/dir2/1.0/rc1" +set omodulerc1alt "$omodulerc1&modulerc/dir2/1.0/default&modulerc/dir2/1.0&modulerc/dir2/default&modulerc/dir2" set imodulerc2 "modulerc/dir2/2.0" set omodulerc2 "modulerc/dir2/2.0" set cversion "version" set iversion0 "version" set oversion0 "version/dir1/1.0" +set oversion0alt "$oversion0&version/dir1/default&version/dir1&version/default&version" set iversion1 "version/dir2" set oversion1 "version/dir2/2.0/rc1" +set oversion1alt "$oversion1&version/dir2/2.0/default&version/dir2/2.0&version/dir2/default&version/dir2" set iversion2 "version/dir2/1.0" set oversion2 "version/dir2/1.0" set cload "modload" set iload0 "modload" set oload0 "modload/dir2/3.0" +set oload0alt "$oload0&modload/dir2/md3" set osload0 "md3" set rload0 "dir2/3.0" +set rload0alt "$rload0&dir2/d3" set rsload0 "d3" set iload1 "modload/dir2" set oload1 "modload/dir2/3.0" +set oload1alt "$oload1&modload/dir2/md3" set osload1 "md3" set rload1 "dir2/3.0" +set rload1alt "$rload1&dir2/d3" set rsload1 "d3" set iload2 "modload/dir2/1.0" set oload2 "modload/dir2/1.0" +set oload2alt "$oload2&modload/dir2/md1" set osload2 "md1" set rload2 "dir2/1.0" +set rload2alt "$rload2&dir2/d1" set rsload2 "d1" set calias "modalias" set ialias0 "modalias" set oalias0 "modalias/3.0" +set oalias0alt "modalias/3.0&modalias/dir2/3.0" set ialias1 "modalias/1.0" set oalias1 "modalias/dir1/1.0" +set oalias1alt "modalias/dir1/1.0&modalias/1.0" set ialias2 "modalias/dir1/2.0" set oalias2 "modalias/dir2/2.0" +set oalias2alt "modalias/dir2/2.0&modalias/dir1/2.0" set ialias3 "modalias/dir2/3.0" set oalias3 "modalias/3.0" +set oalias3alt $oalias0alt set csym "modsym" set isym0 "modsym" set osym0 "modsym/dir2/2.0" +set osym0alt "modsym/dir2/2.0&modsym/dir2/3.0" set isym1 "modsym/dir1/3.0" set osym1 "modsym/dir1/1.0" +set osym1alt "modsym/dir1/1.0&modsym/dir1/3.0" set isym2 "modsym/dir2/3.0" set osym2 "modsym/dir2/2.0" +set osym2alt "modsym/dir2/2.0&modsym/dir2/3.0" set cvirt "modvirt" set pvirt "$modpath/$cvirt/.common" set pvirtre "$modpathre/$cvirt/.common" set ivirt0 "modvirt" set ovirt0 "modvirt/3.0" +set ovirt0alt "modvirt/3.0&modvirt/dir2/3.0&modvirt/dir0/sub1/5.0" set ivirt1 "modvirt/1.0" set ovirt1 "modvirt/dir1/1.0" +set ovirt1alt "modvirt/dir1/1.0&modvirt/1.0" set ivirt2 "modvirt/dir1/2.0" set ovirt2 "modvirt/dir2/2.0" +set ovirt2alt "modvirt/dir2/2.0&modvirt/dir1/2.0" set ivirt3 "modvirt/dir2/3.0" set ovirt3 "modvirt/3.0" +set ovirt3alt $ovirt0alt set ivirt4 "modvirt/dir1" set ovirt4 "modvirt/dir2/2.0" +set ovirt4alt $ovirt2alt set ivirt5 "modvirt/dir2" set ovirt5 "modvirt/3.0" +set ovirt5alt $ovirt0alt set ivirt6 "modvirt/dir0/sub1/4.0" set ovirt6 "modvirt/dir0/sub1/4.0" set ivirt7 "modvirt/dir0/sub1" diff --git a/testsuite/modules.80-deep/020-load.exp b/testsuite/modules.80-deep/020-load.exp index dec2d9c8..e2a21e46 100644 --- a/testsuite/modules.80-deep/020-load.exp +++ b/testsuite/modules.80-deep/020-load.exp @@ -31,6 +31,7 @@ lappend ans [list set TEST $omodulerc0] lappend ans [list setpath LOADEDMODULES $omodulerc0] lappend ans [list setpath _LMFILES_ "$p$omodulerc0"] lappend ans [list setpath MODULES_LMCONFLICT "$omodulerc0&$cmodulerc"] +lappend ans [list setpath MODULES_LMALTNAME $omodulerc0alt] test_cmd_re "csh" "load $imodulerc0" $ans set ans [list] @@ -38,6 +39,7 @@ lappend ans [list set TEST $omodulerc1] lappend ans [list setpath LOADEDMODULES $omodulerc1] lappend ans [list setpath _LMFILES_ "$p$omodulerc1"] lappend ans [list setpath MODULES_LMCONFLICT "$omodulerc1&$cmodulerc"] +lappend ans [list setpath MODULES_LMALTNAME $omodulerc1alt] test_cmd_re "csh" "load $imodulerc1" $ans set ans [list] @@ -53,6 +55,7 @@ lappend ans [list set TEST $oversion0] lappend ans [list setpath LOADEDMODULES $oversion0] lappend ans [list setpath _LMFILES_ "$p$oversion0"] lappend ans [list setpath MODULES_LMCONFLICT "$oversion0&$cversion"] +lappend ans [list setpath MODULES_LMALTNAME $oversion0alt] test_cmd_re "csh" "load $iversion0" $ans set ans [list] @@ -60,6 +63,7 @@ lappend ans [list set TEST $oversion1] lappend ans [list setpath LOADEDMODULES $oversion1] lappend ans [list setpath _LMFILES_ "$p$oversion1"] lappend ans [list setpath MODULES_LMCONFLICT "$oversion1&$cversion"] +lappend ans [list setpath MODULES_LMALTNAME $oversion1alt] test_cmd_re "csh" "load $iversion1" $ans set ans [list] @@ -77,6 +81,7 @@ lappend ans [list setpath _LMFILES_ "$p$rload0:$p$oload0"] lappend ans [list set TEST $oload0] lappend ans [list set TESTDS $rsload0] lappend ans [list setpath MODULES_LMCONFLICT "$rload0&dir2:$oload0&$cload"] +lappend ans [list setpath MODULES_LMALTNAME "$rload0alt:$oload0alt"] lappend ans [list set TESTS $osload0] lappend ans [list setpath MODULES_LMNOTUASKED "$rload0"] test_cmd_re "csh" "load $iload0" $ans @@ -88,6 +93,7 @@ lappend ans [list setpath _LMFILES_ "$p$rload1:$p$oload1"] lappend ans [list set TEST $oload1] lappend ans [list set TESTDS $rsload1] lappend ans [list setpath MODULES_LMCONFLICT "$rload1&dir2:$oload1&$cload"] +lappend ans [list setpath MODULES_LMALTNAME "$rload1alt:$oload1alt"] lappend ans [list set TESTS $osload1] lappend ans [list setpath MODULES_LMNOTUASKED "$rload1"] test_cmd_re "csh" "load $iload1" $ans @@ -99,6 +105,7 @@ lappend ans [list setpath _LMFILES_ "$p$rload2:$p$oload2"] lappend ans [list set TEST $oload2] lappend ans [list set TESTDS $rsload2] lappend ans [list setpath MODULES_LMCONFLICT "$rload2&dir2:$oload2&$cload"] +lappend ans [list setpath MODULES_LMALTNAME "$rload2alt:$oload2alt"] lappend ans [list set TESTS $osload2] lappend ans [list setpath MODULES_LMNOTUASKED "$rload2"] test_cmd_re "csh" "load $iload2" $ans @@ -109,6 +116,7 @@ lappend ans [list set TEST $oalias0] lappend ans [list setpath LOADEDMODULES $oalias0] lappend ans [list setpath _LMFILES_ "$p$oalias0"] lappend ans [list setpath MODULES_LMCONFLICT "$oalias0&$calias"] +lappend ans [list setpath MODULES_LMALTNAME $oalias0alt] test_cmd_re "csh" "load $ialias0" $ans set ans [list] @@ -116,6 +124,7 @@ lappend ans [list set TEST $oalias1] lappend ans [list setpath LOADEDMODULES $oalias1] lappend ans [list setpath _LMFILES_ "$p$oalias1"] lappend ans [list setpath MODULES_LMCONFLICT "$oalias1&$calias"] +lappend ans [list setpath MODULES_LMALTNAME $oalias1alt] test_cmd_re "csh" "load $ialias1" $ans set ans [list] @@ -123,6 +132,7 @@ lappend ans [list set TEST $oalias2] lappend ans [list setpath LOADEDMODULES $oalias2] lappend ans [list setpath _LMFILES_ "$p$oalias2"] lappend ans [list setpath MODULES_LMCONFLICT "$oalias2&$calias"] +lappend ans [list setpath MODULES_LMALTNAME $oalias2alt] test_cmd_re "csh" "load $ialias2" $ans set ans [list] @@ -130,6 +140,7 @@ lappend ans [list set TEST $oalias3] lappend ans [list setpath LOADEDMODULES $oalias3] lappend ans [list setpath _LMFILES_ "$p$oalias3"] lappend ans [list setpath MODULES_LMCONFLICT "$oalias3&$calias"] +lappend ans [list setpath MODULES_LMALTNAME $oalias3alt] test_cmd_re "csh" "load $ialias3" $ans @@ -138,6 +149,7 @@ lappend ans [list set TEST $osym0] lappend ans [list setpath LOADEDMODULES $osym0] lappend ans [list setpath _LMFILES_ "$p$osym0"] lappend ans [list setpath MODULES_LMCONFLICT "$osym0&$csym"] +lappend ans [list setpath MODULES_LMALTNAME $osym0alt] test_cmd_re "csh" "load $isym0" $ans set ans [list] @@ -145,6 +157,7 @@ lappend ans [list set TEST $osym1] lappend ans [list setpath LOADEDMODULES $osym1] lappend ans [list setpath _LMFILES_ "$p$osym1"] lappend ans [list setpath MODULES_LMCONFLICT "$osym1&$csym"] +lappend ans [list setpath MODULES_LMALTNAME $osym1alt] test_cmd_re "csh" "load $isym1" $ans set ans [list] @@ -152,6 +165,7 @@ lappend ans [list set TEST $osym2] lappend ans [list setpath LOADEDMODULES $osym2] lappend ans [list setpath _LMFILES_ "$p$osym2"] lappend ans [list setpath MODULES_LMCONFLICT "$osym2&$csym"] +lappend ans [list setpath MODULES_LMALTNAME $osym2alt] test_cmd_re "csh" "load $isym2" $ans @@ -159,36 +173,42 @@ set ans [list] lappend ans [list set TEST $ovirt0] lappend ans [list setpath LOADEDMODULES $ovirt0] lappend ans [list setpath _LMFILES_ "$pvirt"] +lappend ans [list setpath MODULES_LMALTNAME $ovirt0alt] test_cmd_re "csh" "load $ivirt0" $ans set ans [list] lappend ans [list set TEST $ovirt1] lappend ans [list setpath LOADEDMODULES $ovirt1] lappend ans [list setpath _LMFILES_ "$pvirt"] +lappend ans [list setpath MODULES_LMALTNAME $ovirt1alt] test_cmd_re "csh" "load $ivirt1" $ans set ans [list] lappend ans [list set TEST $ovirt2] lappend ans [list setpath LOADEDMODULES $ovirt2] lappend ans [list setpath _LMFILES_ "$pvirt"] +lappend ans [list setpath MODULES_LMALTNAME $ovirt2alt] test_cmd_re "csh" "load $ivirt2" $ans set ans [list] lappend ans [list set TEST $ovirt3] lappend ans [list setpath LOADEDMODULES $ovirt3] lappend ans [list setpath _LMFILES_ "$pvirt"] +lappend ans [list setpath MODULES_LMALTNAME $ovirt3alt] test_cmd_re "csh" "load $ivirt3" $ans set ans [list] lappend ans [list set TEST $ovirt4] lappend ans [list setpath LOADEDMODULES $ovirt4] lappend ans [list setpath _LMFILES_ "$pvirt"] +lappend ans [list setpath MODULES_LMALTNAME $ovirt4alt] test_cmd_re "csh" "load $ivirt4" $ans set ans [list] lappend ans [list set TEST $ovirt5] lappend ans [list setpath LOADEDMODULES $ovirt5] lappend ans [list setpath _LMFILES_ "$pvirt"] +lappend ans [list setpath MODULES_LMALTNAME $ovirt5alt] test_cmd_re "csh" "load $ivirt5" $ans set ans [list] diff --git a/testsuite/modules.80-deep/021-unload.exp b/testsuite/modules.80-deep/021-unload.exp index 08a19d2d..c7f99835 100644 --- a/testsuite/modules.80-deep/021-unload.exp +++ b/testsuite/modules.80-deep/021-unload.exp @@ -145,11 +145,13 @@ testouterr_cmd "sh" "unload plain" $ans "" # set up the environment setenv_loaded_module $module_5 $modulefile_5 setenv_path_var MODULEPATH $modpath +setenv_path_var MODULES_LMALTNAME $ovirt1alt set ans [list] lappend ans [list unset TEST] lappend ans [list unsetpath LOADEDMODULES] lappend ans [list unsetpath _LMFILES_] +lappend ans [list unsetpath MODULES_LMALTNAME] testouterr_cmd "sh" "unload $module_5" $ans "" testouterr_cmd "sh" "unload modvirt/1.0" $ans "" @@ -159,11 +161,13 @@ testouterr_cmd "sh" "unload modvirt/dir1" $ans "" # set up the environment setenv_loaded_module $module_6 $modulefile_6 +setenv_path_var MODULES_LMALTNAME $ovirt4alt set ans [list] lappend ans [list unset TEST] lappend ans [list unsetpath LOADEDMODULES] lappend ans [list unsetpath _LMFILES_] +lappend ans [list unsetpath MODULES_LMALTNAME] testouterr_cmd "sh" "unload $module_6" $ans "" testouterr_cmd "sh" "unload modvirt/dir1/2.0" $ans "" @@ -173,11 +177,13 @@ testouterr_cmd "sh" "unload modvirt/dir2" $ans "" # set up the environment setenv_loaded_module $module_7 $modulefile_7 +setenv_path_var MODULES_LMALTNAME $ovirt5alt set ans [list] lappend ans [list unset TEST] lappend ans [list unsetpath LOADEDMODULES] lappend ans [list unsetpath _LMFILES_] +lappend ans [list unsetpath MODULES_LMALTNAME] testouterr_cmd "sh" "unload $module_7" $ans "" testouterr_cmd "sh" "unload modvirt/dir2/3.0" $ans "" diff --git a/testsuite/modules.80-deep/022-switch.exp b/testsuite/modules.80-deep/022-switch.exp index 757b2090..03ee9c19 100644 --- a/testsuite/modules.80-deep/022-switch.exp +++ b/testsuite/modules.80-deep/022-switch.exp @@ -29,10 +29,13 @@ set modulefile_3 "$modpath/$module_3" set module_4 "plain/dir2/2.0" set modulefile_4 "$modpath/$module_4" set module_5 "modvirt/dir1/1.0" +set module_5_alt $ovirt1alt set modulefile_5 "$modpath/modvirt/.common" set module_6 "modvirt/dir2/2.0" +set module_6_alt $ovirt2alt set modulefile_6 "$modulefile_5" set module_7 "modvirt/3.0" +set module_7_alt $ovirt3alt set modulefile_7 "$modulefile_5" set module_8 "modvirt/dir0/sub1/4.0" set modulefile_8 "$modulefile_5" @@ -111,11 +114,13 @@ testouterr_cmd_re "sh" "swap plain" $ans "" # set up the environment set env(TEST) $module_5 setenv_loaded_module [list $module_6 $module_5] [list $modulefile_6 $modulefile_5] +setenv_path_var MODULES_LMALTNAME $module_6_alt $module_5_alt set ans [list] lappend ans [list set TEST $module_6] lappend ans [list setpath LOADEDMODULES "$module_5:$module_6"] lappend ans [list setpath _LMFILES_ "$modulefile_5:$modulefile_6"] +lappend ans [list setpath MODULES_LMALTNAME "$module_5_alt:$module_6_alt"] testouterr_cmd_re "sh" "swap $module_6" $ans "" @@ -123,6 +128,7 @@ set ans [list] lappend ans [list set TEST $module_7] lappend ans [list setpath LOADEDMODULES "$module_6:$module_7"] lappend ans [list setpath _LMFILES_ "$modulefile_6:$modulefile_7"] +lappend ans [list setpath MODULES_LMALTNAME "$module_6_alt:$module_7_alt"] testouterr_cmd_re "sh" "swap modvirt" $ans "" testouterr_cmd_re "sh" "swap $module_7" $ans "" @@ -130,35 +136,41 @@ set ans [list] lappend ans [list unset TEST] lappend ans [list setpath LOADEDMODULES "$module_6"] lappend ans [list setpath _LMFILES_ "$modulefile_6"] +lappend ans [list setpath MODULES_LMALTNAME $module_6_alt] testouterr_cmd_re "sh" "swap modvirt/dir1" $ans "" set ans [list] lappend ans [list set TEST $module_7] lappend ans [list setpath LOADEDMODULES "$module_5:$module_7"] lappend ans [list setpath _LMFILES_ "$modulefile_5:$modulefile_7"] +lappend ans [list setpath MODULES_LMALTNAME "$module_5_alt:$module_7_alt"] testouterr_cmd_re "sh" "swap modvirt/dir2" $ans "" # set up the environment set env(TEST) $module_6 setenv_loaded_module [list $module_5 $module_6] [list $modulefile_5 $modulefile_6] +setenv_path_var MODULES_LMALTNAME $module_5_alt $module_6_alt set ans [list] lappend ans [list unset TEST] lappend ans [list setpath LOADEDMODULES "$module_6"] lappend ans [list setpath _LMFILES_ "$modulefile_6"] +lappend ans [list setpath MODULES_LMALTNAME $module_6_alt] testouterr_cmd_re "sh" "swap modvirt/dir1" $ans "" set ans [list] lappend ans [list set TEST $module_7] lappend ans [list setpath LOADEDMODULES "$module_5:$module_7"] lappend ans [list setpath _LMFILES_ "$modulefile_5:$modulefile_7"] +lappend ans [list setpath MODULES_LMALTNAME "$module_5_alt:$module_7_alt"] testouterr_cmd_re "sh" "swap modvirt/dir2" $ans "" # set up the environment set env(TEST) $module_8 setenv_loaded_module $module_8 $modulefile_8 +unsetenv_path_var MODULES_LMALTNAME set ans [list] lappend ans [list set TEST $module_9] @@ -191,10 +203,13 @@ unset modulefile_3 unset module_4 unset modulefile_4 unset module_5 +unset module_5_alt unset modulefile_5 unset module_6 +unset module_6_alt unset modulefile_6 unset module_7 +unset module_7_alt unset modulefile_7 unset module_8 unset modulefile_8 diff --git a/testsuite/modules.80-deep/068-transitive.exp b/testsuite/modules.80-deep/068-transitive.exp index deefd7c0..b432167b 100644 --- a/testsuite/modules.80-deep/068-transitive.exp +++ b/testsuite/modules.80-deep/068-transitive.exp @@ -26,6 +26,7 @@ set datetime_re "\[0-9\/]{10} \[0-9:]{8}" # symbol set on symbol set modsym_1 "modtr/dir1/stable" set module_1 "modtr/dir1/1.0" +set modalt_1 modtr/dir1/cur&modtr/dir1/stable set modulefile_1 "$modpath/$module_1" set modulefilere_1 "$modpathre/$module_1" set modavail_1 "$module_1\\s+cur:stable\\s+$datetime_re" @@ -33,6 +34,7 @@ set modavail_1 "$module_1\\s+cur:stable\\s+$datetime_re" # alias set on symbol (alias set before target symbol definition) set modsym_2 "modtr/al1" set module_2 "modtr/dir2/2.0" +set modalt_2 modtr/dir2/next&modtr/al1&modtr/unstable&modtr/dir2/unstable set modulefile_2 "$modpath/$module_2" set modulefilere_2 "$modpathre/$module_2" set modavail_2 "$modsym_2 -> modtr/dir2/next\\s+unstable\\s+" @@ -40,6 +42,7 @@ set modavail_2 "$modsym_2 -> modtr/dir2/next\\s+unstable\\s+" # symbol set on alias of symbol (alias set before target symbol definition) set modsym_3 "modtr/unstable" set module_3 "$module_2" +set modalt_3 $modalt_2 set modulefile_3 "$modulefile_2" set modulefilere_3 "$modulefilere_2" # alias is returned on avail as symbol refers to an alias in dir @@ -48,6 +51,7 @@ set modavail_3 "$modavail_2" # alias set on symbol (alias set after target symbol definition) set modsym_4 "modtr/dir3/al2" set module_4 "modtr/3.0" +set modalt_4 modtr/foo&modtr/dir3/al2&modtr/dir3/bar&modtr/bar&modtr/dir3/al3&modtr/dir3/exp&modtr/al4&modtr/default&modtr&modtr/reg&modtr/dir3/default&modtr/dir3&modtr/dir3/reg&modtr/exp set modulefile_4 "$modpath/$module_4" set modulefilere_4 "$modpathre/$module_4" # symbol set on alias targeting this alias also appear here @@ -56,6 +60,7 @@ set modavail_4 "$modsym_4 -> modtr/foo\\s+bar:default:exp:reg\\s+" # symbol set on alias of symbol (alias set after target symbol definition) set modsym_5 "modtr/dir3/bar" set module_5 "$module_4" +set modalt_5 $modalt_4 set modulefile_5 "$modulefile_4" set modulefilere_5 "$modulefilere_4" # alias is returned on avail as symbol refers to an alias in dir @@ -64,6 +69,7 @@ set modavail_5 "$modavail_4" # alias set on alias of symbol set modsym_6 "modtr/dir3/al3" set module_6 "$module_4" +set modalt_6 $modalt_4 set modulefile_6 "$modulefile_4" set modulefilere_6 "$modulefilere_4" set modavail_6 "$modsym_6 -> modtr/dir3/al2\\s+default:exp:reg\\s+" @@ -71,6 +77,7 @@ set modavail_6 "$modsym_6 -> modtr/dir3/al2\\s+default:exp:reg\\s+" # symbol set on alias of alias of symbol set modsym_7 "modtr/dir3/exp" set module_7 "$module_4" +set modalt_7 $modalt_4 set modulefile_7 "$modulefile_4" set modulefilere_7 "$modulefilere_4" # alias is returned on avail as symbol refers to an alias in dir @@ -80,6 +87,7 @@ set modavail_7 "$modavail_4" # alias set on symbol set on alias of alias of symbol set modsym_8 "modtr/al4" set module_8 "$module_4" +set modalt_8 $modalt_4 set modulefile_8 "$modulefile_4" set modulefilere_8 "$modulefilere_4" set modavail_8 "$modsym_8 -> modtr/dir3/exp\\s+default:reg\\s+" @@ -101,6 +109,7 @@ set modavail_10 "modtr/dir4\\s+fld\\s+" # alias set on sub-directory set modsym_11 "modtr/al6" set module_11 "modtr/dir5/subdir/mod5.0" +set modalt_11 modtr/dir4/al7&modtr/dir4/madj&modtr/dir5/subdir/madj set modulefile_11 "$modpath/$module_11" set modulefilere_11 "$modpathre/$module_11" set modavail_11 "$modsym_11 -> modtr/dir5/subdir\\s+sfld\\s+" @@ -108,6 +117,7 @@ set modavail_11 "$modsym_11 -> modtr/dir5/subdir\\s+sfld\\s+" # symbol set on alias of sub-directory set modsym_12 "modtr/sfld" set module_12 "$module_11" +set modalt_12 $modalt_11 set modulefile_12 "$modulefile_11" set modulefilere_12 "$modulefilere_11" set modavail_12 "$modavail_11" @@ -115,6 +125,7 @@ set modavail_12 "$modavail_11" # alias set on modulefile of an adjacent sub-directory set modsym_13 "modtr/dir4/al7" set module_13 "$module_11" +set modalt_13 $modalt_11 set modulefile_13 "$modulefile_11" set modulefilere_13 "$modulefilere_11" set modavail_13 "$modsym_13 -> modtr/dir5/subdir/mod5.0\\s*madj\\s+" @@ -122,6 +133,7 @@ set modavail_13 "$modsym_13 -> modtr/dir5/subdir/mod5.0\\s*madj\\s+" # symbol set on alias of modulefile of an adjacent sub-directory set modsym_14 "modtr/dir4/madj" set module_14 "$module_11" +set modalt_14 $modalt_11 set modulefile_14 "$modulefile_11" set modulefilere_14 "$modulefilere_11" set modavail_14 "$modavail_13" @@ -129,6 +141,7 @@ set modavail_14 "$modavail_13" # alias set on symbol of an adjacent sub-directory set modsym_15 "modtr/dir4/al8" set module_15 "$module_11" +set modalt_15 $modalt_11 set modulefile_15 "$modulefile_11" set modulefilere_15 "$modulefilere_11" set modavail_15 "$modsym_15 -> modtr/dir5/sfld\\s+dadj\\s+" @@ -136,6 +149,7 @@ set modavail_15 "$modsym_15 -> modtr/dir5/sfld\\s+dadj\\s+" # symbol set on alias of symbol of an adjacent sub-directory set modsym_16 "modtr/dir4/dadj" set module_16 "$module_11" +set modalt_16 $modalt_11 set modulefile_16 "$modulefile_11" set modulefilere_16 "$modulefilere_11" set modavail_16 "$modavail_15" @@ -144,6 +158,7 @@ set modavail_16 "$modavail_15" # test symbolic version from target modulefile directory set modsym_17 "modtr/dir2/unstable" set module_17 "$module_2" +set modalt_17 $modalt_2 set modulefile_17 "$modulefile_2" set modulefilere_17 "$modulefilere_2" set modavail_17 "$module_2\\s+next:unstable\\s+$datetime_re" @@ -152,6 +167,7 @@ set modavail_17 "$module_2\\s+next:unstable\\s+$datetime_re" # test symbolic version from target modulefile directory set modsym_18 "modtr/bar" set module_18 "$module_4" +set modalt_18 $modalt_4 set modulefile_18 "$modulefile_4" set modulefilere_18 "$modulefilere_4" set modavail_18 "$module_4\\s+bar:default:exp:foo:reg$datetime_re" @@ -160,6 +176,7 @@ set modavail_18 "$module_4\\s+bar:default:exp:foo:reg$datetime_re" # test symbolic version from target modulefile directory set modsym_19 "modtr/exp" set module_19 "$module_4" +set modalt_19 $modalt_4 set modulefile_19 "$modulefile_4" set modulefilere_19 "$modulefilere_4" set modavail_19 "$modavail_18" @@ -168,6 +185,7 @@ set modavail_19 "$modavail_18" # test symbolic version from target modulefile directory set modsym_20 "modtr/dir5/sfld" set module_20 "$module_11" +set modalt_20 $modalt_11 set modulefile_20 "$modulefile_11" set modulefilere_20 "$modulefilere_11" set modavail_20 "modtr/dir5/subdir\\s+dadj:sfld\\s+" @@ -176,6 +194,7 @@ set modavail_20 "modtr/dir5/subdir\\s+dadj:sfld\\s+" # test symbolic version from target modulefile directory set modsym_21 "modtr/dir5/subdir/madj" set module_21 "$module_11" +set modalt_21 $modalt_11 set modulefile_21 "$modulefile_11" set modulefilere_21 "$modulefilere_11" set modavail_21 "$module_11\\s+madj\\s+$datetime_re" @@ -184,6 +203,7 @@ set modavail_21 "$module_11\\s+madj\\s+$datetime_re" # test symbolic version from target modulefile directory set modsym_22 "modtr/dir5/dadj" set module_22 "$module_11" +set modalt_22 $modalt_11 set modulefile_22 "$modulefile_11" set modulefilere_22 "$modulefilere_11" set modavail_22 "$modavail_20" @@ -192,6 +212,8 @@ set modavail_22 "$modavail_20" # alias set on distant deep symbol set modsym_23 "trmod/al1" set module_23 "$module_2" +# as an alias is set across modulename, alternative names for loaded modules is different than modalt_2 +set modalt_23 modtr/dir2/next&trmod/al1&trmod/trunstable&modtr/dir2/trunstable&modtr/al1&modtr/unstable&modtr/dir2/unstable set modulefile_23 "$modulefile_2" set modulefilere_23 "$modulefilere_2" set modavail_23 "$modsym_23 -> modtr/dir2/next\\s+trunstable\\s+" @@ -200,6 +222,7 @@ set modwarn_23 "$warn_msgs: Symbolic version 'modtr/default' already defined" # symbol set on alias of distant deep symbol set modsym_24 "trmod/trunstable" set module_24 "$module_2" +set modalt_24 $modalt_23 set modulefile_24 "$modulefile_2" set modulefilere_24 "$modulefilere_2" set modavail_24 "$modavail_23" @@ -208,6 +231,8 @@ set modwarn_24 "$modwarn_23" # alias set on distant deep alias set modsym_25 "trmod/dir3/al2" set module_25 "$module_4" +# as an alias is set across modulename, alternative names for loaded modules is different than modalt_4 +set modalt_25 modtr/foo&modtr/dir3/al2&trmod/dir3/al2&trmod/dir3/trbar&modtr/dir3/trbar&modtr/trbar&modtr/dir3/bar&modtr/bar&modtr/dir3/al3&modtr/dir3/exp&modtr/al4&modtr/exp set modulefile_25 "$modulefile_4" set modulefilere_25 "$modulefilere_4" set modavail_25 "$modsym_25 -> modtr/dir3/al2\\s+trbar\\s+" @@ -216,6 +241,7 @@ set modwarn_25 "$modwarn_23" # symbol set on alias of distant deep alias set modsym_26 "trmod/dir3/trbar" set module_26 "$module_4" +set modalt_26 $modalt_25 set modulefile_26 "$modulefile_4" set modulefilere_26 "$modulefilere_4" set modavail_26 "$modavail_25" @@ -241,6 +267,7 @@ set modwarn_28 "$modwarn_23" # alias set on distant symbol of distant deep alias of distant symbol set modsym_29 "tr2mod/al1" set module_29 "$module_2" +set modalt_29 modtr/dir2/next&trmod/al1&trmod/trunstable&tr2mod/al1&tr2mod/tr2unstable&trmod/tr2unstable&modtr/dir2/tr2unstable&modtr/dir2/trunstable&modtr/al1&modtr/unstable&modtr/dir2/unstable set modulefile_29 "$modulefile_2" set modulefilere_29 "$modulefilere_2" set modavail_29 "$modsym_29 -> trmod/trunstable\\s+tr2unstable\\s+" @@ -249,6 +276,7 @@ set modwarn_29 "$modwarn_23" # symbol set on alias of distant symbol of distant deep alias of distant symbol set modsym_30 "tr2mod/tr2unstable" set module_30 "$module_2" +set modalt_30 $modalt_29 set modulefile_30 "$modulefile_2" set modulefilere_30 "$modulefilere_2" set modavail_30 "$modavail_29" @@ -257,6 +285,7 @@ set modwarn_30 "$modwarn_23" # alias set on distant deep alias of distant deep alias set modsym_31 "tr2mod/dir3/al2" set module_31 "$module_4" +set modalt_31 modtr/foo&modtr/dir3/al2&trmod/dir3/al2&tr2mod/dir3/al2&tr2mod/dir3/tr2bar&trmod/dir3/tr2bar&modtr/dir3/tr2bar&trmod/dir3/trbar&modtr/dir3/trbar&modtr/tr2bar&modtr/trbar&modtr/dir3/bar&modtr/bar&modtr/dir3/al3&modtr/dir3/exp&modtr/al4&modtr/exp set modulefile_31 "$modulefile_4" set modulefilere_31 "$modulefilere_4" set modavail_31 "$modsym_31 -> trmod/dir3/al2\\s+tr2bar\\s+" @@ -265,6 +294,7 @@ set modwarn_31 "$modwarn_23" # symbol set on alias of distant deep alias of distant deep alias set modsym_32 "tr2mod/dir3/tr2bar" set module_32 "$module_4" +set modalt_32 $modalt_31 set modulefile_32 "$modulefile_4" set modulefilere_32 "$modulefilere_4" set modavail_32 "$modavail_31" @@ -273,6 +303,7 @@ set modwarn_32 "$modwarn_23" # alias set on distant deep directory composed of distant alias set modsym_33 "tr2mod/al5" set module_33 "$module_4" +set modalt_33 $modalt_31 set modulefile_33 "$modulefile_4" set modulefilere_33 "$modulefilere_4" set modavail_33 "$modsym_33 -> trmod/dir3\\s+tr2fld\\s+" @@ -281,6 +312,7 @@ set modwarn_33 "$modwarn_23" # symbol set on alias of distant deep directory composed of distant alias set modsym_34 "tr2mod/tr2fld" set module_34 "$module_4" +set modalt_34 $modalt_31 set modulefile_34 "$modulefile_4" set modulefilere_34 "$modulefilere_4" set modavail_34 "$modavail_33" @@ -290,6 +322,7 @@ set modwarn_34 "$modwarn_23" # default symbol set on alias set on symbol set on alias of alias of symbol set modsym_35 "modtr/default" set module_35 "$module_4" +set modalt_35 $modalt_4 set modulefile_35 "$modulefile_4" set modulefilere_35 "$modulefilere_4" set modavail_35 "$modavail_18" @@ -297,6 +330,7 @@ set modavail_35 "$modavail_18" # symbol set on default symbol set on alias set on symbol set on alias of alias of symbol (before default def) set modsym_36 "modtr/reg" set module_36 "$module_4" +set modalt_36 $modalt_4 set modulefile_36 "$modulefile_4" set modulefilere_36 "$modulefilere_4" set modavail_36 "$modavail_35" @@ -336,6 +370,11 @@ set whatis_pre "$modlin $modpathre $modlin\n\\s*" for {set i 1} {$i <= 38} {incr i} { set modsym [set "modsym_${i}"] set module [set "module_${i}"] + if {[info exists "modalt_${i}"]} { + set modalt $module&[set "modalt_${i}"] + } else { + set modalt "" + } set modulefile [set "modulefile_${i}"] set modulefilere [set "modulefilere_${i}"] set modavail [set "modavail_${i}"] @@ -349,11 +388,15 @@ for {set i 1} {$i <= 38} {incr i} { # setup clean environment unsetenv_loaded_module + unsetenv_path_var MODULES_LMALTNAME set ans [list] lappend ans [list set testsuite "yes"] lappend ans [list setpath LOADEDMODULES $module] lappend ans [list setpath _LMFILES_ $modulefile] + if {$modalt ne ""} { + lappend ans [list setpath MODULES_LMALTNAME $modalt] + } testouterr_cmd "sh" "load $modsym" $ans "$modwarn" testouterr_cmd_re "sh" "display $modsym" "OK" "$modwarnnl$disp_pre$modulefilere:\n\n$disp_wi$module$disp_post" @@ -369,11 +412,17 @@ for {set i 1} {$i <= 38} {incr i} { # setup environment for unload action setenv_loaded_module $module $modulefile + if {$modalt ne ""} { + setenv_path_var MODULES_LMALTNAME $modalt + } set ans [list] lappend ans [list unset testsuite] lappend ans [list unsetpath LOADEDMODULES] lappend ans [list unsetpath _LMFILES_] + if {$modalt ne ""} { + lappend ans [list unsetpath MODULES_LMALTNAME] + } testouterr_cmd "sh" "unload $modsym" $ans "$modwarn" } @@ -385,6 +434,7 @@ for {set i 1} {$i <= 38} {incr i} { # Clean up the environment unsetenv_loaded_module +unsetenv_path_var MODULES_LMALTNAME unset datetime_re @@ -401,6 +451,9 @@ unset whatis_pre for {set i 1} {$i <= 38} {incr i} { unset "modsym_${i}" unset "module_${i}" + if {[info exists "modalt_${i}"]} { + unset "modalt_${i}" + } unset "modulefile_${i}" unset "modulefilere_${i}" unset "modavail_${i}" @@ -414,6 +467,7 @@ unset ans unset i unset modsym unset module +unset modalt unset modulefile unset modulefilere unset modavail diff --git a/testsuite/modules.80-deep/080-access.exp b/testsuite/modules.80-deep/080-access.exp index 1ac47f1f..aa0f0529 100644 --- a/testsuite/modules.80-deep/080-access.exp +++ b/testsuite/modules.80-deep/080-access.exp @@ -396,9 +396,11 @@ set ans [list] lappend ans [list set _LMFILES__modshare "$lmf21:1"] lappend ans [list set LOADEDMODULES_modshare "$lm21:1"] lappend ans [list set TEST $lm21] +lappend ans [list set MODULES_LMALTNAME_modshare "$lm21&modsym/dir2/3.0:1"] lappend ans [list set MODULES_LMCONFLICT_modshare "$lm21&$m21:1"] lappend ans [list set _LMFILES_ $lmf21] lappend ans [list set LOADEDMODULES $lm21] +lappend ans [list set MODULES_LMALTNAME "$lm21&modsym/dir2/3.0"] lappend ans [list set MODULES_LMCONFLICT "$lm21&$m21"] # implicit default is not impacted diff --git a/testsuite/modules.80-deep/999-cleanup.exp b/testsuite/modules.80-deep/999-cleanup.exp index 7a6c23ee..af31c089 100644 --- a/testsuite/modules.80-deep/999-cleanup.exp +++ b/testsuite/modules.80-deep/999-cleanup.exp @@ -30,69 +30,92 @@ unset oplain1 unset cmodulerc unset imodulerc0 unset omodulerc0 +unset omodulerc0alt unset imodulerc1 unset omodulerc1 +unset omodulerc1alt unset imodulerc2 unset omodulerc2 unset cversion unset iversion0 unset oversion0 +unset oversion0alt unset iversion1 unset oversion1 +unset oversion1alt unset iversion2 unset oversion2 unset cload unset iload0 unset oload0 +unset oload0alt unset osload0 unset rload0 +unset rload0alt unset rsload0 unset iload1 unset oload1 +unset oload1alt unset osload1 unset rload1 +unset rload1alt unset rsload1 unset iload2 unset oload2 +unset oload2alt unset osload2 unset rload2 +unset rload2alt unset rsload2 unset calias unset ialias0 unset oalias0 +unset oalias0alt unset ialias1 unset oalias1 +unset oalias1alt unset ialias2 unset oalias2 +unset oalias2alt unset ialias3 unset oalias3 +unset oalias3alt unset csym unset isym0 unset osym0 +unset osym0alt unset isym1 unset osym1 +unset osym1alt unset isym2 unset osym2 +unset osym2alt unset cvirt unset pvirt unset pvirtre unset ivirt0 unset ovirt0 +unset ovirt0alt unset ivirt1 unset ovirt1 +unset ovirt1alt unset ivirt2 unset ovirt2 +unset ovirt2alt unset ivirt3 unset ovirt3 +unset ovirt3alt unset ivirt4 unset ovirt4 +unset ovirt4alt unset ivirt5 unset ovirt5 +unset ovirt5alt unset ivirt6 unset ovirt6 unset ivirt7