ts: test --message option in 20/115

This commit is contained in:
Xavier Delaruelle
2020-08-23 21:19:05 +02:00
parent 67e1540542
commit 06c18f55a5
3 changed files with 108 additions and 4 deletions

View File

@@ -454,3 +454,45 @@ if {[info exists env(TESTSUITE_HIDE1_CASC7_SET9)]} {
if {[info exists env(TESTSUITE_HIDE1_CASC7_SET10)]} {
module-hide hide1
}
# 20/115 module-forbid --message tests
if {[info exists env(TESTSUITE_FORBID1_MSG_SET1)]} {
module-forbid --message {Lorem ipsum dolor sit amet, consectetur adipiscing elit.} hide1/5.0
}
if {[info exists env(TESTSUITE_FORBID1_MSG_SET2)]} {
module-forbid --message {Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper.} hide1/5.0
}
if {[info exists env(TESTSUITE_FORBID1_MSG_SET3)]} {
module-forbid hide1/5.0 --message "Lorem ipsum dolor sit amet, consectetur adipiscing elit.\nSed non risus. Suspendisse lectus tortor, dignissim sit amet,\nadipiscing nec, ultricies sed, dolor.\n Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi."
}
if {[info exists env(TESTSUITE_FORBID1_MSG_SET4)]} {
module-forbid --message {foo bar} --message {Lorem ipsum dolor sit amet, consectetur adipiscing elit.} hide1/5.0
}
if {[info exists env(TESTSUITE_FORBID1_MSG_SET5)]} {
module-forbid --message {Lorem ipsum dolor sit amet, consectetur adipiscing elit.} hide1/5.0
module-forbid hide1/5.0
}
if {[info exists env(TESTSUITE_FORBID1_MSG_SET6)]} {
module-forbid hide1/5.0
module-forbid --message {Lorem ipsum dolor sit amet, consectetur adipiscing elit.} hide1/5.0
}
if {[info exists env(TESTSUITE_FORBID1_MSG_SET7)]} {
module-forbid --message {Lorem ipsum dolor sit amet, consectetur adipiscing elit.} hide1/5.0
module-forbid hide1
}
if {[info exists env(TESTSUITE_FORBID1_MSG_SET8)]} {
module-forbid hide1
module-forbid --message {Lorem ipsum dolor sit amet, consectetur adipiscing elit.} hide1/5.0
}
if {[info exists env(TESTSUITE_FORBID1_MSG_SET9)]} {
module-forbid --message {Lorem ipsum dolor sit amet, consectetur adipiscing elit.} hide1
module-forbid hide1/5.0
}
if {[info exists env(TESTSUITE_FORBID1_MSG_SET10)]} {
module-forbid hide1/5.0
module-forbid --message {Lorem ipsum dolor sit amet, consectetur adipiscing elit.} hide1
}
if {[info exists env(TESTSUITE_FORBID1_MSG_ERR1)]} {
module-forbid hide1/5.0 --message
}

View File

@@ -203,8 +203,12 @@ proc moderr_minverreq {modfile minver} {
return "$::moderr_msgs: Modulefile requires at least Modules version $minver\n In '$modfile'\n$::err_contact"
}
proc err_accessdenied {mod} {
return "$::error_msgs: Access to module '$mod' is denied"
proc err_accessdenied {mod {extramsg {}}} {
set msg "$::error_msgs: Access to module '$mod' is denied"
if {$extramsg ne {}} {
append msg "\n $extramsg"
}
return $msg
}
proc err_unablelocate {mod} {

View File

@@ -94,7 +94,7 @@ set errmsg {module-forbid -foo hide2}
if {[cmpversion $tclsh_version 8.6] == -1} {
if {[cmpversion $tclsh_version 8.5] == -1} {
set errmsg "switch -glob -- \$arg \{<EXTMATCH>...\"
(procedure \"module-forbid\" line 8)
(procedure \"module-forbid\" line 12)
invoked from within
\"$errmsg"
}
@@ -119,7 +119,7 @@ set errmsg {module-forbid --foo hide2}
if {[cmpversion $tclsh_version 8.6] == -1} {
if {[cmpversion $tclsh_version 8.5] == -1} {
set errmsg "switch -glob -- \$arg \{<EXTMATCH>...\"
(procedure \"module-forbid\" line 8)
(procedure \"module-forbid\" line 12)
invoked from within
\"$errmsg"
}
@@ -668,6 +668,64 @@ unsetenv_loaded_module
unsetenv_var TESTSUITE_FORBID3_SET2
# test --message option
setenv_var TESTSUITE_FORBID1_MSG_SET1 1
testouterr_cmd sh {load hide1/5.0} ERR [err_accessdenied hide1/5.0 {Lorem ipsum dolor sit amet, consectetur adipiscing elit.}]
testouterr_cmd sh {whatis hide1/5.0} ERR [err_accessdenied hide1/5.0 {Lorem ipsum dolor sit amet, consectetur adipiscing elit.}]
unsetenv_var TESTSUITE_FORBID1_MSG_SET1
setenv_var TESTSUITE_FORBID1_MSG_SET2 1
testouterr_cmd sh {load hide1/5.0} ERR [err_accessdenied hide1/5.0 {Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper.}]
unsetenv_var TESTSUITE_FORBID1_MSG_SET2
setenv_var TESTSUITE_FORBID1_MSG_SET3 1
testouterr_cmd sh {load hide1/5.0} ERR [err_accessdenied hide1/5.0 "Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n Sed non risus. Suspendisse lectus tortor, dignissim sit amet,\n adipiscing nec, ultricies sed, dolor.\n Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi."]
unsetenv_var TESTSUITE_FORBID1_MSG_SET3
setenv_var TESTSUITE_FORBID1_MSG_SET4 1
testouterr_cmd sh {load hide1/5.0} ERR [err_accessdenied hide1/5.0 {Lorem ipsum dolor sit amet, consectetur adipiscing elit.}]
unsetenv_var TESTSUITE_FORBID1_MSG_SET4
setenv_var TESTSUITE_FORBID1_MSG_SET5 1
testouterr_cmd sh {load hide1/5.0} ERR [err_accessdenied hide1/5.0]
unsetenv_var TESTSUITE_FORBID1_MSG_SET5
setenv_var TESTSUITE_FORBID1_MSG_SET6 1
testouterr_cmd sh {load hide1/5.0} ERR [err_accessdenied hide1/5.0 {Lorem ipsum dolor sit amet, consectetur adipiscing elit.}]
unsetenv_var TESTSUITE_FORBID1_MSG_SET6
setenv_var TESTSUITE_FORBID1_MSG_SET7 1
testouterr_cmd sh {load hide1/5.0} ERR [err_accessdenied hide1/5.0]
unsetenv_var TESTSUITE_FORBID1_MSG_SET7
setenv_var TESTSUITE_FORBID1_MSG_SET8 1
testouterr_cmd sh {load hide1/5.0} ERR [err_accessdenied hide1/5.0]
unsetenv_var TESTSUITE_FORBID1_MSG_SET8
setenv_var TESTSUITE_FORBID1_MSG_SET9 1
testouterr_cmd sh {load hide1/5.0} ERR [err_accessdenied hide1/5.0 {Lorem ipsum dolor sit amet, consectetur adipiscing elit.}]
unsetenv_var TESTSUITE_FORBID1_MSG_SET9
setenv_var TESTSUITE_FORBID1_MSG_SET10 1
testouterr_cmd sh {load hide1/5.0} ERR [err_accessdenied hide1/5.0 {Lorem ipsum dolor sit amet, consectetur adipiscing elit.}]
unsetenv_var TESTSUITE_FORBID1_MSG_SET10
# module-forbid specification errors
setenv_var TESTSUITE_FORBID1_MSG_ERR1 1
testouterr_cmd sh {avail -t hide1/5.0} OK $mp:\nhide1/5.0
set tserr "$modlin $mpre $modlin\n\\s*hide1/5.0: hide1/5.0"
testouterr_cmd_re sh {whatis hide1@5.0} OK $tserr
set ans [list]
lappend ans [list setpath LOADEDMODULES hide1/5.0]
lappend ans [list setpath _LMFILES_ $mp/hide1/5.0]
lappend ans [list setpath MODULES_LMALTNAME hide1/5.0&as|hide1/latest]
lappend ans [list ERR]
if {[cmpversion $tclsh_version 8.6] == -1} {
set custom " invoked from within
\"if \{\[info exists env(TESTSUITE_FORBID1_MSG_ERR1)\]\} \{
module-forbid hide1/5.0 --message
\}\""
set linenum 496
} else {
set custom {}
set linenum 497
}
set tserr [msg_moderr {Missing value for '--message' option} {module-forbid hide1/5.0 --message} $mp/hide1/.modulerc $linenum { } {} {} $custom]
testouterr_cmd sh {load hide1/5.0} $ans $tserr
unsetenv_var TESTSUITE_FORBID1_MSG_ERR1
#
# Cleanup
#