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
|
#%Module1.0
##############################################################################
# Modules Revision 3.0
# Providing a flexible user environment
#
# File: spread/%M%
# Revision: %I%
# First Edition: 2017/06/18
# Last Mod.: %U%, %G%
#
# Authors: Xavier Delaruelle, xavier.delaruelle@cea.fr
#
# Description: Testuite modulefile
# Command:
# Sub-Command:
#
# Invocation: load @M@, unload @M@, switch @M@ @M@,
# help @M@, display @M@, test @M@, whatis @M@
# Result: %R{
# }R%
# Comment: %C{
# Test how variable and procedure definitions spread from
# one modulefile interpretation to another one.
# }C%
#
##############################################################################
# test if specific or overridden pre-existing variables have spread here
if {[info exists spread]} {
puts stderr "variable spread exists"
}
if {$tcl_version eq "test"} {
puts stderr "variable tcl_version equals test"
}
if {[array exists spread_array]} {
puts stderr "array variable spread_array exists"
}
if {$tcl_platform(osVersion) eq "test"} {
puts stderr "variable tcl_platform(osVersion) equals test"
}
if {[llength $auto_path] <= 1} {
puts stderr "variable auto_path has lost elements"
}
if {[lsearch -exact $auto_path $env(TESTSUITEDIR)] > -1} {
puts stderr "variable auto_path contains $env(TESTSUITEDIR)"
}
# test if specific or overridden interpreter alias command have spread here
set existing_proc [lindex [info procs] 0]
# test if first proc defined has been altered
if {[info procs $existing_proc] ne $existing_proc} {
puts stderr "procedure $existing_proc does not exist"
# env variable spread across interpretation and even between interpreters
} elseif {[info exists env(spread)] && [$existing_proc] ne "spread" &&\
[module-info command] ni {switch load spider}} {
puts stderr "procedure $existing_proc has not been altered"
}
if {[info procs spread_proc] eq "spread_proc"} {
puts stderr "procedure spread_proc exists"
}
if {[info procs ModulesHelp] eq "ModulesHelp"} {
puts stderr "procedure ModulesHelp exists"
}
if {[info procs ModulesTest] eq "ModulesTest"} {
puts stderr "procedure ModulesTest exists"
}
if {[info procs ModulesDisplay] eq "ModulesDisplay"} {
puts stderr "procedure ModulesDisplay exists"
}
if {[info procs module-version] eq "module-version"} {
puts stderr "procedure module-version exists"
}
|