Skip to content

Commit 8ed3566

Browse files
committed
ts: test haveDynamicMPATH modulefile command
Signed-off-by: Xavier Delaruelle <[email protected]>
1 parent 01fdd3d commit 8ed3566

File tree

4 files changed

+147
-0
lines changed

4 files changed

+147
-0
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#%Module
2+
3+
if {[info exists env(TESTSUITE_LCOMPAT)]} {
4+
switch -- $env(TESTSUITE_LCOMPAT) {
5+
haveDynamicMPATH_rc1 {
6+
haveDynamicMPATH
7+
}
8+
}
9+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#%Module
2+
3+
module-whatis [module-info name]
4+
5+
if {[info exists env(TESTSUITE_LCOMPAT)]} {
6+
switch -- $env(TESTSUITE_LCOMPAT) {
7+
haveDynamicMPATH1 {
8+
haveDynamicMPATH
9+
}
10+
haveDynamicMPATH2 {
11+
haveDynamicMPATH foo bar
12+
}
13+
}
14+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#%Module
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
##############################################################################
2+
# Modules Revision 3.0
3+
# Providing a flexible user environment
4+
#
5+
# File: modules.50-cmds/%M%
6+
# Revision: %I%
7+
# First Edition: 2025/05/10
8+
# Last Mod.: %U%, %G%
9+
#
10+
# Authors: Xavier Delaruelle, [email protected]
11+
#
12+
# Description: Testuite testsequence
13+
# Command: load, unload, display, help, test, whatis, refresh, avail
14+
# spider
15+
# Modulefiles: lcompat
16+
# Sub-Command:
17+
#
18+
# Comment: %C{
19+
# Test haveDynamicMPATH modulefile command
20+
# }C%
21+
#
22+
##############################################################################
23+
24+
skip_if_quick_mode
25+
26+
set mp $modpath.4
27+
set mpre $modpathre.4
28+
setenv_path_var MODULEPATH $mp
29+
30+
set mod lcompat/1.12
31+
set modfile $mp/$mod
32+
set modfilere $mpre/$mod
33+
34+
setenv_var TESTSUITE_LCOMPAT haveDynamicMPATH1
35+
36+
# load
37+
set ans [list]
38+
lappend ans [list set _LMFILES_ $modfile]
39+
lappend ans [list set LOADEDMODULES $mod]
40+
testouterr_cmd sh "load $mod" $ans {}
41+
42+
43+
setenv_loaded_module [list $mod] [list $modfile]
44+
45+
# unload
46+
set ans [list]
47+
lappend ans [list unset _LMFILES_]
48+
lappend ans [list unset LOADEDMODULES]
49+
testouterr_cmd sh "unload $mod" $ans {}
50+
51+
# refresh
52+
testouterr_cmd sh {refresh} OK {}
53+
54+
55+
unsetenv_loaded_module
56+
57+
# spider
58+
set tserr "$mp:
59+
$mod"
60+
testouterr_cmd sh "spider -t $mod" OK $tserr
61+
62+
# whatis
63+
set tserr "$modlin $mpre $modlin
64+
\\s*$mod: $mod"
65+
testouterr_cmd_re sh "whatis $mod" OK $tserr
66+
67+
# display
68+
set tserr "$modlin
69+
$mpre/$mod:
70+
71+
module-whatis\t$mod
72+
haveDynamicMPATH\t
73+
$modlin"
74+
testouterr_cmd_re sh "display $mod" OK $tserr
75+
76+
# help
77+
set tserr "$modlin
78+
Module Specific Help for $mpre/$mod:
79+
80+
$warn_msgs: Unable to find ModulesHelp in $modfilere.
81+
$modlin"
82+
testouterr_cmd_re sh "help $mod" OK $tserr
83+
84+
# test
85+
set tserr "$modlin
86+
Module Specific Test for $mpre/$mod:
87+
88+
$warn_msgs: Unable to find ModulesTest in $modfilere.
89+
$modlin"
90+
testouterr_cmd_re sh "test $mod" OK $tserr
91+
92+
93+
setenv_var TESTSUITE_LCOMPAT haveDynamicMPATH2
94+
95+
set ans [list]
96+
lappend ans [list set _LMFILES_ $modfile]
97+
lappend ans [list set LOADEDMODULES $mod]
98+
testouterr_cmd_re sh "load $mod" $ans {}
99+
100+
101+
setenv_var TESTSUITE_LCOMPAT haveDynamicMPATH_rc1
102+
103+
set ans [list]
104+
lappend ans [list set _LMFILES_ $modfile]
105+
lappend ans [list set LOADEDMODULES $mod]
106+
lappend ans [list ERR]
107+
set ln [expr {[cmpversion $tclsh_version 8.6] == -1 ? 3 : 6}]
108+
set tserr [escre [msg_moderr {invalid command name "haveDynamicMPATH"} {haveDynamicMPATH<EXM>} $mp/lcompat/.modulerc $ln { }]]
109+
testouterr_cmd_re sh "load $mod" $ans $tserr
110+
111+
set tserr $mp:\n$mod
112+
testouterr_cmd sh "avail -t $mod" OK $tserr
113+
114+
set tserr "$modlin $mpre $modlin
115+
\\s*$mod: $mod"
116+
testouterr_cmd_re sh "whatis $mod" OK $tserr
117+
118+
119+
#
120+
# Cleanup
121+
#
122+
123+
reset_test_env

0 commit comments

Comments
 (0)