Skip to content

Commit 32cc697

Browse files
committed
ts: test default/latest symbols on provided-aliases
Signed-off-by: Xavier Delaruelle <[email protected]>
1 parent 3d1e62d commit 32cc697

File tree

4 files changed

+92
-7
lines changed

4 files changed

+92
-7
lines changed

testsuite/modulefiles.4/provide/.modulerc

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,37 @@ if {[info exists env(TESTSUITE_PROVIDE)]} {
3434
multiple_and_family_hidden {
3535
module-hide quux
3636
}
37+
explicit_default {
38+
module-version provide/0 default
39+
}
40+
explicit_default_and_forbidden {
41+
module-version provide/0 default
42+
module-forbid provide/1
43+
}
44+
explicit_default_and_alias_forbidden {
45+
module-version provide/0 default
46+
module-forbid provide/0
47+
}
48+
explicit_default_and_hidden {
49+
module-version provide/0 default
50+
module-hide provide/1
51+
}
52+
explicit_default_and_alias_hidden {
53+
module-version provide/0 default
54+
module-hide provide/0
55+
}
56+
latest_and_forbidden {
57+
module-forbid provide/1
58+
}
59+
latest_and_alias_forbidden {
60+
module-forbid provide/0
61+
}
62+
latest_and_hidden {
63+
module-hide provide/1
64+
}
65+
latest_and_alias_hidden {
66+
module-version provide/0 default
67+
module-hide provide/0
68+
}
3769
}
3870
}

testsuite/modulefiles.4/provide/1

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,5 +90,14 @@ if {[info exists env(TESTSUITE_PROVIDE)]} {
9090
setenv FOO bar
9191
family quux
9292
}
93+
latest - latest_and_forbidden - latest_and_alias_forbidden -\
94+
latest_and_hidden - latest_and_alias_hidden {
95+
provide provide/10
96+
}
97+
explicit_default - explicit_default_and_forbidden -\
98+
explicit_default_and_alias_forbidden - explicit_default_and_hidden -\
99+
explicit_default_and_alias_hidden {
100+
provide provide/0
101+
}
93102
}
94103
}

testsuite/modules.50-cmds/720-provide.exp

Lines changed: 34 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,12 @@ setenv_var MODULEPATH $mp
2828
setenv_var MODULES_ADVANCED_VERSION_SPEC 1
2929
setenv_var MODULES_IMPLICIT_DEFAULT 1
3030

31-
if {[cmpversion $tclsh_version 8.6] == -1} {
32-
set custom_error_trace " invoked from within
31+
set custom_error_trace " invoked from within
3332
\"if \{\[info exists env(TESTSUITE_PROVIDE)\]\} \{
3433
module-whatis \[module-info name\]
3534
switch -- \$env(TESTSUITE_PROVIDE) \{
3635
single \{
3736
...\""
38-
} else {
39-
set custom_error_trace {}
40-
}
4137

4238

4339
setenv_var TESTSUITE_PROVIDE single
@@ -61,8 +57,7 @@ skip_if_quick_mode
6157

6258
setenv_var TESTSUITE_PROVIDE err_arg
6359

64-
set line_num [expr {[cmpversion $tclsh_version 8.6] == -1 ? 2 : 13}]
65-
set tserr [msg_load provide/1 [msg_moderr {No module specified in argument} {provide} $mp/provide/1 $line_num {} {} {} $custom_error_trace]]
60+
set tserr [msg_load provide/1 [msg_moderr {No module specified in argument} {provide} $mp/provide/1 2 {} {} {} $custom_error_trace]]
6661
testouterr_cmd bash {load provide/1} ERR $tserr
6762

6863

@@ -717,6 +712,38 @@ unsetenv_loaded_module
717712
unsetenv_var __MODULES_LMALTNAME
718713

719714

715+
setenv_var TESTSUITE_PROVIDE explicit_default
716+
set ans [list]
717+
lappend ans [list set __MODULES_LMALTNAME provide/1&al|provide/0]
718+
lappend ans [list set _LMFILES_ $mp/provide/1]
719+
lappend ans [list set LOADEDMODULES provide/1]
720+
testouterr_cmd bash {load provide/1} $ans {}
721+
722+
setenv_var TESTSUITE_PROVIDE explicit_default_and_alias_forbidden
723+
testouterr_cmd bash {load provide/1} $ans {}
724+
725+
setenv_var TESTSUITE_PROVIDE explicit_default_and_hidden
726+
testouterr_cmd bash {load provide/1} $ans {}
727+
728+
setenv_var TESTSUITE_PROVIDE explicit_default_and_alias_hidden
729+
testouterr_cmd bash {load provide/1} $ans {}
730+
731+
setenv_var TESTSUITE_PROVIDE latest
732+
set ans [list]
733+
lappend ans [list set __MODULES_LMALTNAME provide/1&al|provide/10]
734+
lappend ans [list set _LMFILES_ $mp/provide/1]
735+
lappend ans [list set LOADEDMODULES provide/1]
736+
testouterr_cmd bash {load provide/1} $ans {}
737+
738+
setenv_var TESTSUITE_PROVIDE latest_and_alias_forbidden
739+
testouterr_cmd bash {load provide/1} $ans {}
740+
741+
setenv_var TESTSUITE_PROVIDE latest_and_hidden
742+
testouterr_cmd bash {load provide/1} $ans {}
743+
744+
setenv_var TESTSUITE_PROVIDE latest_and_alias_hidden
745+
testouterr_cmd bash {load provide/1} $ans {}
746+
720747
#
721748
# Cleanup
722749
#

testsuite/modules.70-maint/360-avail_output.exp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -902,6 +902,23 @@ testouterr_cmd sh {avail unk envvar:FOO} OK {}
902902
testouterr_cmd sh {avail quux envvar:FOO} OK {}
903903

904904

905+
setenv_var MODULES_AVAIL_OUTPUT sym:tag:provided-alias
906+
setenv_var TESTSUITE_PROVIDE explicit_default
907+
testouterr_cmd sh {avail provide} OK {provide/0(default:@) provide/1 provide/2 provide/3 }
908+
909+
setenv_var TESTSUITE_PROVIDE explicit_default_and_forbidden
910+
testouterr_cmd sh {avail provide} OK {provide/1 <F> provide/2 provide/3 }
911+
912+
setenv_var TESTSUITE_PROVIDE explicit_default_and_alias_forbidden
913+
testouterr_cmd sh {avail provide} OK {provide/0(default:@) <F> provide/1 provide/2 provide/3 }
914+
915+
setenv_var TESTSUITE_PROVIDE explicit_default_and_hidden
916+
testouterr_cmd sh {avail provide} OK {provide/0(default:@) provide/2 provide/3 }
917+
918+
setenv_var TESTSUITE_PROVIDE explicit_default_and_alias_hidden
919+
testouterr_cmd sh {avail provide} OK {provide/1 provide/2 provide/3 }
920+
921+
905922
file delete $mp/foo
906923
file delete $mp/bar
907924
file delete $mp/provide

0 commit comments

Comments
 (0)