File: 512-extensions.exp

package info (click to toggle)
modules 5.6.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 23,036 kB
  • sloc: exp: 79,659; sh: 6,142; tcl: 5,900; makefile: 1,493; ansic: 474; python: 265; csh: 202; perl: 47; ruby: 44; lisp: 13
file content (140 lines) | stat: -rw-r--r-- 3,460 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
##############################################################################
#   Modules Revision 3.0
#   Providing a flexible user environment
#
#   File:		modules.50-cmds/%M%
#   Revision:		%I%
#   First Edition:	2021/11/26
#   Last Mod.:		%U%, %G%
#
#   Authors:		Xavier Delaruelle, xavier.delaruelle@cea.fr
#
#   Description:	Testuite testsequence
#   Command:		load, unload, display, help, test, whatis, refresh, avail
#   Modulefiles:    lcompat
#   Sub-Command:
#
#   Comment:	%C{
#           Test extensions modulefile command
#		}C%
#
##############################################################################

skip_if_quick_mode

set mp $modpath.3
set mpre $modpathre.3
setenv_path_var MODULEPATH $mp

set mod lcompat/1.2
set modfile $mp/$mod
set modfilere $mpre/$mod

if {[cmpversion $tclsh_version 8.6] == -1} {
    set custom_error_trace "    invoked from within
\"if \{\[info exists env(TESTSUITE_LCOMPAT)\]\} \{
    switch -- \$env(TESTSUITE_LCOMPAT) \{
        ext1 \{
            extensions moda/1.0 modb/2.0
        \}
...\""
} else {
    set custom_error_trace {}
}


setenv_var TESTSUITE_LCOMPAT ext1

# load
set ans [list]
lappend ans [list set __MODULES_LMALTNAME $mod&al|moda/1.0&al|modb/2.0]
lappend ans [list set _LMFILES_ $modfile]
lappend ans [list set LOADEDMODULES $mod]
testouterr_cmd sh "load $mod" $ans {}

setenv_loaded_module [list $mod] [list $modfile]
setenv_var __MODULES_LMALTNAME $mod&al|moda/1.0&al|modb/2.0

# unload
set ans [list]
lappend ans [list unset __MODULES_LMALTNAME]
lappend ans [list unset _LMFILES_]
lappend ans [list unset LOADEDMODULES]
testouterr_cmd sh "unload $mod" $ans {}

# refresh
testouterr_cmd sh {refresh} OK {}

unsetenv_loaded_module
unsetenv_var __MODULES_LMALTNAME

# whatis
set tserr "$modlin $mpre $modlin
\\s*$mod: $mod"
testouterr_cmd_re sh "whatis $mod" OK $tserr

# display
set tserr "$modlin
$mpre/$mod:

module-whatis\t$mod
extensions\tmoda/1.0 modb/2.0
$modlin"
testouterr_cmd_re sh "display $mod" OK $tserr

# help
set tserr "$modlin
Module Specific Help for $mpre/$mod:

$warn_msgs: Unable to find ModulesHelp in $modfilere.
$modlin"
testouterr_cmd_re sh "help $mod" OK $tserr

# test
set tserr "$modlin
Module Specific Test for $mpre/$mod:

$warn_msgs: Unable to find ModulesTest in $modfilere.
$modlin"
testouterr_cmd_re sh "test $mod" OK $tserr


setenv_var TESTSUITE_LCOMPAT ext2

set ans [list]
lappend ans [list set __MODULES_LMALTNAME $mod&al|moda/1.0]
lappend ans [list set _LMFILES_ $modfile]
lappend ans [list set LOADEDMODULES $mod]
testouterr_cmd sh "load $mod" $ans {}


setenv_var TESTSUITE_LCOMPAT ext3

set line_num [expr {[cmpversion $tclsh_version 8.6] == -1 ? 5 : 14}]
set tserr [msg_load lcompat/1.2 [msg_moderr {No module specified in argument} {extensions} $mp/lcompat/1.2 $line_num {} {} {} $custom_error_trace]]
testouterr_cmd sh "load $mod" ERR $tserr


setenv_var TESTSUITE_LCOMPAT extrc1

set ans [list]
lappend ans [list set _LMFILES_ $modfile]
lappend ans [list set LOADEDMODULES $mod]
lappend ans [list ERR]
set ln [expr {[cmpversion $tclsh_version 8.6] == -1 ? 3 : 12}]
set tserr [escre [msg_moderr {invalid command name "extensions"} {extensions moda/1.0 modb/2.0<EXM>} $mp/lcompat/.modulerc $ln {  }]]
testouterr_cmd_re sh "load $mod" $ans $tserr

set tserr $mp:\n$mod
testouterr_cmd sh "avail -t $mod" OK $tserr

set tserr "$modlin $mpre $modlin
\\s*$mod: $mod"
testouterr_cmd_re sh "whatis $mod" OK $tserr


#
#  Cleanup
#

reset_test_env