490-try-load.exp (modules-5.1.1.tar.bz2) | : | 490-try-load.exp (modules-5.2.0.tar.bz2) | ||
---|---|---|---|---|
skipping to change at line 122 | skipping to change at line 122 | |||
# | # | |||
# test for both enabled and disabled auto_handling mode | # test for both enabled and disabled auto_handling mode | |||
foreach auto_handling {0 1} { | foreach auto_handling {0 1} { | |||
setenv_var MODULES_AUTO_HANDLING $auto_handling | setenv_var MODULES_AUTO_HANDLING $auto_handling | |||
# regular load | # regular load | |||
setenv_var TESTSUITE_TRYLOAD regular1 | setenv_var TESTSUITE_TRYLOAD regular1 | |||
set ans [list] | set ans [list] | |||
lappend ans [list set TS1 ok] | lappend ans [list set TS1 ok] | |||
lappend ans [list set __MODULES_LMPREREQ tryload/2.0&tryload/1.0] | lappend ans [list set __MODULES_LMPREREQ tryload/2.0&tryload/2.0|tryload/1.0] | |||
lappend ans [list set _LMFILES_ $mp/tryload/1.0:$mp/tryload/2.0] | lappend ans [list set _LMFILES_ $mp/tryload/1.0:$mp/tryload/2.0] | |||
lappend ans [list set LOADEDMODULES tryload/1.0:tryload/2.0] | lappend ans [list set LOADEDMODULES tryload/1.0:tryload/2.0] | |||
lappend ans [list set __MODULES_LMTAG tryload/1.0&auto-loaded] | lappend ans [list set __MODULES_LMTAG tryload/1.0&auto-loaded] | |||
set tserr [msg_top_load tryload/2.0 {} tryload/1.0 {}] | set tserr [msg_top_load tryload/2.0 {} tryload/1.0 {}] | |||
testouterr_cmd_re sh {load tryload/2.0} $ans $tserr | testouterr_cmd_re sh {load tryload/2.0} $ans $tserr | |||
testouterr_cmd_re sh {try-load tryload/2.0} $ans $tserr | testouterr_cmd_re sh {try-load tryload/2.0} $ans $tserr | |||
# already loaded | # already loaded | |||
setenv_loaded_module [list tryload/1.0] [list $mp/tryload/1.0] | setenv_loaded_module [list tryload/1.0] [list $mp/tryload/1.0] | |||
set ans [list] | set ans [list] | |||
lappend ans [list set TS1 ok] | lappend ans [list set TS1 ok] | |||
lappend ans [list set __MODULES_LMPREREQ tryload/2.0&tryload/1.0] | lappend ans [list set __MODULES_LMPREREQ tryload/2.0&tryload/2.0|tryload/1.0] | |||
lappend ans [list set _LMFILES_ $mp/tryload/1.0:$mp/tryload/2.0] | lappend ans [list set _LMFILES_ $mp/tryload/1.0:$mp/tryload/2.0] | |||
lappend ans [list set LOADEDMODULES tryload/1.0:tryload/2.0] | lappend ans [list set LOADEDMODULES tryload/1.0:tryload/2.0] | |||
testouterr_cmd_re sh {load tryload/2.0} $ans {} | testouterr_cmd_re sh {load tryload/2.0} $ans {} | |||
testouterr_cmd_re sh {try-load tryload/2.0} $ans {} | testouterr_cmd_re sh {try-load tryload/2.0} $ans {} | |||
unsetenv_loaded_module | unsetenv_loaded_module | |||
# regular unload (autoloaded try-load) | # regular unload (autoloaded try-load) | |||
setenv_loaded_module [list tryload/1.0 tryload/2.0] [list $mp/tryload/1.0 $mp/tr yload/2.0] [list tryload/1.0] | setenv_loaded_module [list tryload/1.0 tryload/2.0] [list $mp/tryload/1.0 $mp/tr yload/2.0] [list tryload/1.0] | |||
setenv_var __MODULES_LMPREREQ tryload/2.0&tryload/1.0 | setenv_var __MODULES_LMPREREQ tryload/2.0&tryload/2.0|tryload/1.0 | |||
if {$auto_handling} { | if {$auto_handling} { | |||
set ans [list] | set ans [list] | |||
lappend ans [list unset TS1] | lappend ans [list unset TS1] | |||
lappend ans [list unset __MODULES_LMPREREQ] | lappend ans [list unset __MODULES_LMPREREQ] | |||
lappend ans [list unset _LMFILES_] | lappend ans [list unset _LMFILES_] | |||
lappend ans [list unset LOADEDMODULES] | lappend ans [list unset LOADEDMODULES] | |||
lappend ans [list unset __MODULES_LMTAG] | lappend ans [list unset __MODULES_LMTAG] | |||
} else { | } else { | |||
set ans [list] | set ans [list] | |||
lappend ans [list unset TS1] | lappend ans [list unset TS1] | |||
lappend ans [list unset __MODULES_LMPREREQ] | lappend ans [list unset __MODULES_LMPREREQ] | |||
lappend ans [list unset _LMFILES_] | lappend ans [list unset _LMFILES_] | |||
lappend ans [list unset LOADEDMODULES] | lappend ans [list unset LOADEDMODULES] | |||
lappend ans [list unset __MODULES_LMTAG] | lappend ans [list unset __MODULES_LMTAG] | |||
} | } | |||
set tserr [msg_top_unload tryload/2.0 {} tryload/1.0 {}] | set tserr [msg_top_unload tryload/2.0 {} tryload/1.0 {}] | |||
testouterr_cmd sh {unload tryload/2.0} $ans $tserr | testouterr_cmd sh {unload tryload/2.0} $ans $tserr | |||
# unload of try-loaded module | ||||
if {$auto_handling} { | ||||
set ans [list] | ||||
lappend ans [list set TS1 ok] | ||||
lappend ans [list set __MODULES_LMPREREQ tryload/2.0&tryload/2.0|tryload/1.0 | ||||
] | ||||
lappend ans [list set _LMFILES_ $mp/tryload/2.0] | ||||
lappend ans [list set LOADEDMODULES tryload/2.0] | ||||
lappend ans [list unset __MODULES_LMTAG] | ||||
set tserr [msg_top_unload {tryload/1.0 <aL>} {} {} tryload/2.0] | ||||
} else { | ||||
set ans [list] | ||||
lappend ans [list set _LMFILES_ $mp/tryload/2.0] | ||||
lappend ans [list set LOADEDMODULES tryload/2.0] | ||||
lappend ans [list unset __MODULES_LMTAG] | ||||
set tserr {} | ||||
} | ||||
testouterr_cmd sh {unload tryload/1.0} $ans $tserr | ||||
# regular unload (non-autoloaded try-load) | # regular unload (non-autoloaded try-load) | |||
unsetenv_var __MODULES_LMTAG | unsetenv_var __MODULES_LMTAG | |||
set ans [list] | set ans [list] | |||
lappend ans [list unset TS1] | lappend ans [list unset TS1] | |||
lappend ans [list unset __MODULES_LMPREREQ] | lappend ans [list unset __MODULES_LMPREREQ] | |||
lappend ans [list set _LMFILES_ $mp/tryload/1.0] | lappend ans [list set _LMFILES_ $mp/tryload/1.0] | |||
lappend ans [list set LOADEDMODULES tryload/1.0] | lappend ans [list set LOADEDMODULES tryload/1.0] | |||
testouterr_cmd_re sh {unload tryload/2.0} $ans {} | testouterr_cmd_re sh {unload tryload/2.0} $ans {} | |||
# regular unload (with try-loaded sub-module not loaded) | # regular unload (with try-loaded sub-module not loaded) | |||
setenv_loaded_module [list tryload/2.0] [list $mp/tryload/2.0] | setenv_loaded_module [list tryload/2.0] [list $mp/tryload/2.0] | |||
setenv_var __MODULES_LMPREREQ tryload/2.0&tryload/1.0 | setenv_var __MODULES_LMPREREQ tryload/2.0&tryload/2.0|tryload/1.0 | |||
set ans [list] | set ans [list] | |||
lappend ans [list unset TS1] | lappend ans [list unset TS1] | |||
lappend ans [list unset __MODULES_LMPREREQ] | lappend ans [list unset __MODULES_LMPREREQ] | |||
lappend ans [list unset _LMFILES_] | lappend ans [list unset _LMFILES_] | |||
lappend ans [list unset LOADEDMODULES] | lappend ans [list unset LOADEDMODULES] | |||
testouterr_cmd_re sh {unload tryload/2.0} $ans {} | testouterr_cmd_re sh {unload tryload/2.0} $ans {} | |||
unsetenv_var __MODULES_LMPREREQ | unsetenv_var __MODULES_LMPREREQ | |||
unsetenv_loaded_module | unsetenv_loaded_module | |||
# unknown module | # unknown module | |||
setenv_var TESTSUITE_TRYLOAD unk1 | setenv_var TESTSUITE_TRYLOAD unk1 | |||
set ans [list] | set ans [list] | |||
lappend ans [list set TS1 ok] | lappend ans [list set TS1 ok] | |||
lappend ans [list set __MODULES_LMPREREQ tryload/2.0&tryload/2.0|unk/1.0] | ||||
lappend ans [list set _LMFILES_ $mp/tryload/2.0] | lappend ans [list set _LMFILES_ $mp/tryload/2.0] | |||
lappend ans [list set LOADEDMODULES tryload/2.0] | lappend ans [list set LOADEDMODULES tryload/2.0] | |||
testouterr_cmd sh {load tryload/2.0} $ans {} | testouterr_cmd sh {load tryload/2.0} $ans {} | |||
testouterr_cmd sh {try-load tryload/2.0} $ans {} | testouterr_cmd sh {try-load tryload/2.0} $ans {} | |||
testouterr_cmd sh {load -v tryload/2.0} $ans [msg_load tryload/2.0] | testouterr_cmd sh {load -v tryload/2.0} $ans [msg_load tryload/2.0] | |||
testouterr_cmd sh {try-load -v tryload/2.0} $ans [msg_load tryload/2.0] | testouterr_cmd sh {try-load -v tryload/2.0} $ans [msg_load tryload/2.0] | |||
# unload with unknown module | # unload with unknown module | |||
setenv_loaded_module [list tryload/2.0] [list $mp/tryload/2.0] | setenv_loaded_module [list tryload/2.0] [list $mp/tryload/2.0] | |||
set ans [list] | set ans [list] | |||
skipping to change at line 208 | skipping to change at line 227 | |||
lappend ans [list unset _LMFILES_] | lappend ans [list unset _LMFILES_] | |||
lappend ans [list unset LOADEDMODULES] | lappend ans [list unset LOADEDMODULES] | |||
testouterr_cmd_re sh {unload tryload/2.0} $ans {} | testouterr_cmd_re sh {unload tryload/2.0} $ans {} | |||
testouterr_cmd_re sh {unload -v tryload/2.0} $ans [msg_unload tryload/2.0] | testouterr_cmd_re sh {unload -v tryload/2.0} $ans [msg_unload tryload/2.0] | |||
unsetenv_loaded_module | unsetenv_loaded_module | |||
# hard-hidden module | # hard-hidden module | |||
setenv_var TESTSUITE_TRYLOAD hide1 | setenv_var TESTSUITE_TRYLOAD hide1 | |||
set ans [list] | set ans [list] | |||
lappend ans [list set TS1 ok] | lappend ans [list set TS1 ok] | |||
lappend ans [list set __MODULES_LMPREREQ tryload/2.0&tryload/2.0|tryload/1.0] | ||||
lappend ans [list set _LMFILES_ $mp/tryload/2.0] | lappend ans [list set _LMFILES_ $mp/tryload/2.0] | |||
lappend ans [list set LOADEDMODULES tryload/2.0] | lappend ans [list set LOADEDMODULES tryload/2.0] | |||
testouterr_cmd sh {load tryload/2.0} $ans {} | testouterr_cmd sh {load tryload/2.0} $ans {} | |||
# forbidden module | # forbidden module | |||
setenv_var TESTSUITE_TRYLOAD forbid1 | setenv_var TESTSUITE_TRYLOAD forbid1 | |||
testouterr_cmd sh {load tryload/2.0} $ans {} | testouterr_cmd sh {load tryload/2.0} $ans {} | |||
# break during evaluation | # break during evaluation | |||
setenv_var TESTSUITE_TRYLOAD break1 | setenv_var TESTSUITE_TRYLOAD break1 | |||
skipping to change at line 238 | skipping to change at line 258 | |||
# load under try-load | # load under try-load | |||
setenv_var TESTSUITE_TRYLOAD subload1 | setenv_var TESTSUITE_TRYLOAD subload1 | |||
set tserr [msg_load tryload/1.0 $err_path'unk/1.0' [err_reqmis unk/1.0]]\n\n[msg _load tryload/2.0 [err_reqlo unk/1.0]] | set tserr [msg_load tryload/1.0 $err_path'unk/1.0' [err_reqmis unk/1.0]]\n\n[msg _load tryload/2.0 [err_reqlo unk/1.0]] | |||
testouterr_cmd sh {load tryload/2.0} ERR $tserr | testouterr_cmd sh {load tryload/2.0} ERR $tserr | |||
testouterr_cmd sh {try-load tryload/2.0} ERR $tserr | testouterr_cmd sh {try-load tryload/2.0} ERR $tserr | |||
setenv_var TESTSUITE_TRYLOAD subload2 | setenv_var TESTSUITE_TRYLOAD subload2 | |||
set ans [list] | set ans [list] | |||
lappend ans [list set TS1 ok] | lappend ans [list set TS1 ok] | |||
lappend ans [list set __MODULES_LMPREREQ tryload/1.0&foo/1.0:tryload/2.0&tryload /1.0] | lappend ans [list set __MODULES_LMPREREQ tryload/1.0&foo/1.0:tryload/2.0&tryload /2.0|tryload/1.0] | |||
lappend ans [list set _LMFILES_ $mp/foo/1.0:$mp/tryload/1.0:$mp/tryload/2.0] | lappend ans [list set _LMFILES_ $mp/foo/1.0:$mp/tryload/1.0:$mp/tryload/2.0] | |||
lappend ans [list set LOADEDMODULES foo/1.0:tryload/1.0:tryload/2.0] | lappend ans [list set LOADEDMODULES foo/1.0:tryload/1.0:tryload/2.0] | |||
lappend ans [list set __MODULES_LMTAG foo/1.0&auto-loaded:tryload/1.0&auto-loade d] | lappend ans [list set __MODULES_LMTAG foo/1.0&auto-loaded:tryload/1.0&auto-loade d] | |||
set tserr [msg_top_load tryload/2.0 {} {foo/1.0 tryload/1.0} {}] | set tserr [msg_top_load tryload/2.0 {} {foo/1.0 tryload/1.0} {}] | |||
testouterr_cmd_re sh {load tryload/2.0} $ans $tserr | testouterr_cmd_re sh {load tryload/2.0} $ans $tserr | |||
# try-load attempt within catch | # try-load attempt within catch | |||
setenv_var TESTSUITE_TRYLOAD catch1 | setenv_var TESTSUITE_TRYLOAD catch1 | |||
set ans [list] | set ans [list] | |||
lappend ans [list set TS1 ok] | lappend ans [list set TS1 ok] | |||
lappend ans [list set __MODULES_LMPREREQ tryload/2.0&tryload/2.0|unk/1.0] | ||||
lappend ans [list set _LMFILES_ $mp/tryload/2.0] | lappend ans [list set _LMFILES_ $mp/tryload/2.0] | |||
lappend ans [list set LOADEDMODULES tryload/2.0] | lappend ans [list set LOADEDMODULES tryload/2.0] | |||
testouterr_cmd sh {load tryload/2.0} $ans {} | testouterr_cmd sh {load tryload/2.0} $ans {} | |||
setenv_var TESTSUITE_TRYLOAD catch2 | setenv_var TESTSUITE_TRYLOAD catch2 | |||
set ans [list] | set ans [list] | |||
lappend ans [list set TS1 ok] | lappend ans [list set TS1 ok] | |||
lappend ans [list set __MODULES_LMPREREQ tryload/2.0&tryload/1.0] | lappend ans [list set __MODULES_LMPREREQ tryload/2.0&tryload/2.0|tryload/1.0] | |||
lappend ans [list set _LMFILES_ $mp/tryload/1.0:$mp/tryload/2.0] | lappend ans [list set _LMFILES_ $mp/tryload/1.0:$mp/tryload/2.0] | |||
lappend ans [list set LOADEDMODULES tryload/1.0:tryload/2.0] | lappend ans [list set LOADEDMODULES tryload/1.0:tryload/2.0] | |||
lappend ans [list set __MODULES_LMTAG tryload/1.0&auto-loaded] | lappend ans [list set __MODULES_LMTAG tryload/1.0&auto-loaded] | |||
set tserr [msg_top_load tryload/2.0 {} tryload/1.0 {}] | set tserr [msg_top_load tryload/2.0 {} tryload/1.0 {}] | |||
testouterr_cmd_re sh {load tryload/2.0} $ans $tserr | testouterr_cmd_re sh {load tryload/2.0} $ans $tserr | |||
setenv_var TESTSUITE_TRYLOAD catch3 | setenv_var TESTSUITE_TRYLOAD catch3 | |||
set ans [list] | set ans [list] | |||
lappend ans [list set TS1 ok] | lappend ans [list set TS1 ok] | |||
lappend ans [list set __MODULES_LMPREREQ tryload/2.0&tryload/2.0|tryload/1.0] | ||||
lappend ans [list set _LMFILES_ $mp/tryload/2.0] | lappend ans [list set _LMFILES_ $mp/tryload/2.0] | |||
lappend ans [list set LOADEDMODULES tryload/2.0] | lappend ans [list set LOADEDMODULES tryload/2.0] | |||
lappend ans [list ERR] | lappend ans [list ERR] | |||
set tserr [msg_load tryload/1.0 $err_evalabort] | set tserr [msg_load tryload/1.0 $err_evalabort] | |||
testouterr_cmd sh {load tryload/2.0} $ans $tserr | testouterr_cmd sh {load tryload/2.0} $ans $tserr | |||
setenv_var TESTSUITE_TRYLOAD catch4 | setenv_var TESTSUITE_TRYLOAD catch4 | |||
set ln [expr {[cmpversion $tclsh_version 8.5] < 1 ? {2} : {8}}] | set ln [expr {[cmpversion $tclsh_version 8.5] < 1 ? {2} : {8}}] | |||
set tserr [escre [msg_load tryload/1.0 [msg_moderr {invalid command name "unk"} {unk<EXM>} $mp/tryload/1.0 $ln]]] | set tserr [escre [msg_load tryload/1.0 [msg_moderr {invalid command name "unk"} {unk<EXM>} $mp/tryload/1.0 $ln]]] | |||
testouterr_cmd_re sh {load tryload/2.0} $ans $tserr | testouterr_cmd_re sh {load tryload/2.0} $ans $tserr | |||
# multiple argument passed to try-load | # multiple argument passed to try-load | |||
setenv_var TESTSUITE_TRYLOAD multi1 | setenv_var TESTSUITE_TRYLOAD multi1 | |||
set ans [list] | set ans [list] | |||
lappend ans [list set TS1 ok] | lappend ans [list set TS1 ok] | |||
lappend ans [list set __MODULES_LMPREREQ tryload/2.0&tryload/1.0] | lappend ans [list set __MODULES_LMPREREQ tryload/2.0&tryload/2.0|unk/1.0&tryload /2.0|tryload/1.0] | |||
lappend ans [list set _LMFILES_ $mp/tryload/1.0:$mp/tryload/2.0] | lappend ans [list set _LMFILES_ $mp/tryload/1.0:$mp/tryload/2.0] | |||
lappend ans [list set LOADEDMODULES tryload/1.0:tryload/2.0] | lappend ans [list set LOADEDMODULES tryload/1.0:tryload/2.0] | |||
lappend ans [list set __MODULES_LMTAG tryload/1.0&auto-loaded] | lappend ans [list set __MODULES_LMTAG tryload/1.0&auto-loaded] | |||
set tserr [msg_top_load tryload/2.0 {} tryload/1.0 {}] | set tserr [msg_top_load tryload/2.0 {} tryload/1.0 {}] | |||
testouterr_cmd_re sh {load tryload/2.0} $ans $tserr | testouterr_cmd_re sh {load tryload/2.0} $ans $tserr | |||
setenv_var TESTSUITE_TRYLOAD multi2 | setenv_var TESTSUITE_TRYLOAD multi2 | |||
set tserr [msg_load tryload/1.0 $err_evalabort] | set tserr [msg_load tryload/1.0 $err_evalabort] | |||
testouterr_cmd sh {load tryload/2.0} ERR $tserr | testouterr_cmd sh {load tryload/2.0} ERR $tserr | |||
setenv_var TESTSUITE_TRYLOAD multi3 | ||||
set ans [list] | ||||
lappend ans [list set TS1 ok] | ||||
lappend ans [list set __MODULES_LMPREREQ tryload/2.0&tryload/2.0|tryload/1.0&try | ||||
load/2.0|foo/1.0] | ||||
lappend ans [list set _LMFILES_ $mp/tryload/1.0:$mp/foo/1.0:$mp/tryload/2.0] | ||||
lappend ans [list set LOADEDMODULES tryload/1.0:foo/1.0:tryload/2.0] | ||||
lappend ans [list set __MODULES_LMTAG tryload/1.0&auto-loaded:foo/1.0&auto-loade | ||||
d] | ||||
set tserr [msg_top_load tryload/2.0 {} {tryload/1.0 foo/1.0} {}] | ||||
testouterr_cmd sh {load tryload/2.0} $ans $tserr | ||||
if {$auto_handling} { | ||||
setenv_loaded_module [list tryload/1.0 foo/1.0 tryload/2.0] [list $mp/tryloa | ||||
d/1.0 $mp/foo/1.0 $mp/tryload/2.0] | ||||
setenv_var __MODULES_LMPREREQ tryload/2.0&tryload/2.0|tryload/1.0&tryload/2. | ||||
0|foo/1.0 | ||||
set tserr [msg_load tryload/2.0 $err_evalabort]\n\n[msg_unload foo/1.0 [err_ | ||||
depre tryload/2.0]] | ||||
testouterr_cmd sh {unload foo/1.0} ERR $tserr | ||||
unsetenv_loaded_module | ||||
unsetenv_var __MODULES_LMPREREQ | ||||
} | ||||
} | } | |||
# | # | |||
# test from sourced modulefile | # test from sourced modulefile | |||
# | # | |||
# regular load | # regular load | |||
setenv_var TESTSUITE_TRYLOAD regular1 | setenv_var TESTSUITE_TRYLOAD regular1 | |||
set ans [list] | set ans [list] | |||
lappend ans [list set TS1 ok] | lappend ans [list set TS1 ok] | |||
End of changes. 13 change blocks. | ||||
7 lines changed or deleted | 54 lines changed or added |