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 141 142 143
|
##############################################################################
# Modules Revision 3.0
# Providing a flexible user environment
#
# File: modules.50-cmds/%M%
# Revision: %I%
# First Edition: 1995/12/06
# Last Mod.: %U%, %G%
#
# Authors: Jens Hamisch, Jens.Hamisch@Strawberry.COM
#
# Description: Testuite testsequence
# Command: load, switch
# Modulefiles: prereq/module, trace/all_on, trace/all_off
# Sub-Command:
#
# Comment: %C{
# Tests the 'prereq' command using a category
# module name. This tests the reactions of modulecmd
# if the prerequired module is not load and if one
# of the modules of the required category is load.
# }C%
#
##############################################################################
# ensure auto symbolic versions are not set for these tests
setenv_var MODULES_ADVANCED_VERSION_SPEC 0
#
# Variables. This test forces a module load command. It will result in the
# environment variables "_LMFILES_", "LOADEDMODULES" and "testsuite" to
# be set up
#
set module "prereq/module"
set modulefile "$modpath/$module"
set module_tron "trace/all_on"
set modulefile_tron "$modpath/$module_tron"
set module_troff "trace/all_off"
set modulefile_troff "$modpath/$module_troff"
set module_set "setenv/1.0"
set modulefile_set "$modpath/$module_set"
#
# Error messages
#
set err_pre [msg_load $module [err_prereq trace]]
set err_trace "$warn_msgs: 'module-trace' command not implemented"
set err_trace_lo [msg_load "$module_tron <aL>" $err_trace]
set err_trace_lo_noal [msg_load $module_tron $err_trace]
#
# The tests
#
# prereq is loaded automatically when autohandling is enabled
set ans [list]
lappend ans [list set __MODULES_LMPREREQ "$module&trace"]
lappend ans [list set testsuite yes]
lappend ans [list set _LMFILES_ "$modulefile_tron:$modulefile"]
lappend ans [list set LOADEDMODULES "$module_tron:$module"]
lappend ans [list set __MODULES_LMTAG $module_tron&auto-loaded]
if {$install_implicitdefault eq {y}} {
set tserr $err_trace_lo\n\n[msg_top_load $module {} $module_tron {}]
} else {
set tserr [msg_load $module $err_nodefault'trace' [err_reqlo trace]]
}
testouterr_cmd_re "ALL" "load --auto $module" [if_implicitdefault $ans ERR] $tserr
testouterr_cmd "ALL" "load --no-auto $module" "ERR" $err_pre
skip_if_quick_mode
set ans [list]
lappend ans [list set __MODULES_LMPREREQ "$module&trace"]
lappend ans [list set testsuite yes]
lappend ans [list set _LMFILES_ "$modulefile_troff:$modulefile"]
lappend ans [list set LOADEDMODULES "$module_troff:$module"]
testouterr_cmd_re "ALL" "load $module_troff $module" $ans ""
set ans [list]
lappend ans [list set __MODULES_LMPREREQ "$module&trace"]
lappend ans [list set testsuite yes]
lappend ans [list set _LMFILES_ "$modulefile_tron:$modulefile"]
lappend ans [list set LOADEDMODULES "$module_tron:$module"]
testouterr_cmd_re "ALL" "load $module_tron $module" $ans $err_trace_lo_noal
#
# Tests playing with OR prereq list
#
set module "prereq/orlist"
set modulefile "$modpath/$module"
set err_pre [msg_load $module [err_prereqor trace setenv loc_dv1]]
# prereq is loaded automatically when autohandling is enabled (first in or list)
set ans [list]
lappend ans [list set __MODULES_LMPREREQ "$module&trace|setenv|loc_dv1"]
lappend ans [list set testsuite yes]
lappend ans [list set _LMFILES_ "$modulefile_tron:$modulefile"]
lappend ans [list set LOADEDMODULES "$module_tron:$module"]
lappend ans [list set __MODULES_LMTAG $module_tron&auto-loaded]
if {$install_implicitdefault eq {y}} {
set tserr $err_trace_lo\n\n[msg_top_load $module {} $module_tron {}]
} else {
set tserr [msg_load $module $err_nodefault'trace' $err_nodefault'setenv' $err_nodefault'loc_dv1' [err_reqlo trace setenv loc_dv1]]
}
testouterr_cmd_re "ALL" "load --auto $module" [if_implicitdefault $ans ERR] $tserr
testouterr_cmd "ALL" "load --no-auto $module" "ERR" $err_pre
set ans [list]
lappend ans [list set __MODULES_LMPREREQ "$module&trace|setenv|loc_dv1"]
lappend ans [list set testsuite yes]
lappend ans [list set _LMFILES_ "$modulefile_tron:$modulefile"]
lappend ans [list set LOADEDMODULES "$module_tron:$module"]
testouterr_cmd_re "ALL" "load $module_tron $module" $ans $err_trace_lo_noal
# set situation where a module has been loaded with its prerequirement
setenv_loaded_module [list $module_set $module_troff $module] [list $modulefile_set $modulefile_troff $modulefile]
setenv_var __MODULES_LMPREREQ "$module&trace|setenv|loc_dv1"
set ans [list]
lappend ans [list set _LMFILES_ "$modulefile_troff:$modulefile:$modulefile_tron"]
lappend ans [list set LOADEDMODULES "$module_troff:$module:$module_tron"]
lappend ans [list unset testsuite]
testouterr_cmd_re "sh" "switch --no-auto $module_set $module_tron" $ans [msg_load $module_tron $err_trace]
set ans [list]
lappend ans [list set __MODULES_LMPREREQ "$module&trace|setenv|loc_dv1"]
lappend ans [list set _LMFILES_ "$modulefile_troff:$modulefile_tron:$modulefile"]
lappend ans [list set LOADEDMODULES "$module_troff:$module_tron:$module"]
lappend ans [list set testsuite yes]
testouterr_cmd_re "sh" "switch --auto $module_set $module_tron" $ans [msg_load $module_tron $err_trace]\n\n[msg_top_switch $module_set $module_tron {} {} {} {} $module]
#
# Cleanup
#
reset_test_env
|