Add tests for bad or deprecated 'module-info' cmds

This commit is contained in:
Xavier Delaruelle
2017-05-22 06:35:56 +02:00
parent bcb37cb890
commit 842839eafe
3 changed files with 148 additions and 25 deletions

View File

@@ -0,0 +1,55 @@
#%Module1.0
##############################################################################
# Modules Revision 3.0
# Providing a flexible user environment
#
# File: info/%M%
# Revision: %I%
# First Edition: 2017/05/22
# Last Mod.: %U%, %G%
#
# Authors: Xavier Delaruelle, xavier.delaruelle@cea.fr
#
# Description: Testuite modulefile
# Command:
# Sub-Command: module-info
#
# Invocation:
# Result: %R{
# }R%
# Comment: %C{
# Tests the 'module-info' module subcommand with bad or
# deprecated keywords.
# }C%
#
##############################################################################
proc ModulesDisplay { } {
puts stderr "trace: [module-info trace]"
puts stderr "tracepat: [module-info tracepat]"
puts stderr "[module-info bad]"
}
proc ModulesHelp { } {
puts stderr "trace: [module-info trace]"
puts stderr "tracepat: [module-info tracepat]"
puts stderr "[module-info bad]"
}
proc ModulesTest { } {
puts stderr "trace: [module-info trace]"
puts stderr "tracepat: [module-info tracepat]"
puts stderr "[module-info bad]"
return 1
}
if { [module-info mode load] } {
puts stderr "trace: [module-info trace]"
puts stderr "tracepat: [module-info tracepat]"
puts stderr "[module-info bad]"
} elseif { [module-info mode whatis] } {
module-whatis "trace: [module-info trace]"
module-whatis "tracepat: [module-info tracepat]"
module-whatis "[module-info bad]"
}

View File

@@ -0,0 +1,68 @@
##############################################################################
# Modules Revision 3.0
# Providing a flexible user environment
#
# File: modules.50-cmds/%M%
# Revision: %I%
# First Edition: 2017/05/22
# Last Mod.: %U%, %G%
#
# Authors: Xavier Delaruelle, xavier.delaruelle@cea.fr
#
# Description: Testuite testsequence
# Command: load, display, help, test
# Modulefiles: info/others
# Sub-Command:
#
# Comment: %C{
# Tests the 'module-info' module subcommand with bad or
# deprecated keywords.
# }C%
#
##############################################################################
#
# 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 "info/others"
set modulefile "$env(MODULEPATH)/$module"
#
# For sh shell only (no need to check every shells)
#
set trace_msg "trace: "
set tracepat_msg "tracepat: "
set bad_msg "Module ERROR: Occurred in file $modulefile:module-info bad not supported"
#
# The tests
#
# test loading
testouterr_cmd_re "sh" "load $module" "^/bin/false;\$" "^$trace_msg\n$tracepat_msg\n$bad_msg"
# test displaying
testerr_cmd_re "sh" "display $module" "$modlin\n$modulefile:\n\n$trace_msg\n$tracepat_msg\n$bad_msg"
# test help
testerr_cmd_re "sh" "help $module" "$modlin\nModule Specific Help for $modulefile:\n\n$trace_msg\n$tracepat_msg\n$bad_msg"
# test test
testerr_cmd_re "sh" "test $module" "$modlin\nModule Specific Test for $modulefile:\n\n$trace_msg\n$tracepat_msg\n$bad_msg"
#
# Cleanup
#
unset modulefile
unset module
unset trace_msg
unset tracepat_msg
unset bad_msg

View File

@@ -33,31 +33,31 @@ set len [string length $env(MODULEPATH)]
set lrep [expr {($test_cols - $len - 2)/2}]
set rrep [expr {$test_cols - $len - 2 - $lrep}]
set ts_sh "[string repeat {-} $lrep] $env(MODULEPATH) [string repeat {-} $rrep]
alias/1.0 coll/c info/shells load/25 loc_rc1/1.0(foo) loc_sym/alias5 loc_sym/version7 recurs/modB user/nov
alias/2.0 coll/d info/shellsexp load/26 loc_rc1/2.0 loc_sym/alias6 loc_sym/version8 remove/2.0 user/novice
append/0.1 conflict/full info/specified(foo) load/27 loc_rc2/1.0(bar:blah:foo) loc_sym/exec1 loc_sym/version9 setenv/1.0 user/undef
append/0.2 conflict/module info/type load/28 loc_rc2/2.0 loc_sym/exec2 loc_sym/version10 system/2.0 verbose/msg
append/1.0 continue/1.0 info/user load/29 loc_rc3/1.0(default) loc_sym/getvers1 loc_sym/version11 test/1.0 verbose/off
append/1.1 continue/2.0 info/userexp load/30 loc_rc3/2.0(cur:stable) loc_sym/getvers2 loc_sym/version12 test/1.2 verbose/on
append/2.0 continue/3.0 inforc/1.0 load/all(default) loc_rc3/3.0(chk:exp:new:test) loc_sym/getvers3 loc_sym/version13 test/2.0 verbose/undef
append/2.1 continue/4.0 inforc/2.0(avail:bar:default) loc_def/default loc_rc4/1.0 loc_sym/getvers4 loc_sym/version14 trace/all_off versions/1.1
append/2.2 empty/1.0 inforc/foo(@) loc_def/truedef loc_rc4/2.0(default) loc_sym/getvers5 log/badfac trace/all_on versions/1.2
averssort/1(@) eschars/1.0 load/00 loc_dv1/1.0 loc_rc4/3.0 loc_sym/getvers6 log/err_both_1 uname/domain versions/1.3
averssort/1.2.4(@) exit/1.0 load/10 loc_dv1/2.0 loc_rc5/1.0 loc_sym/getvers7 log/err_both_2 uname/machine verssort/1
averssort/1.10(@) exit/2.0 load/11 loc_dv2/1.0(default) loc_rc5/2.0 loc_sym/getvers8 log/err_file uname/nodename verssort/1.2.1
bad/after(good) exit/3.0 load/12 loc_dv2/2.0 loc_rc6/0.9 loc_sym/versinf1 log/err_syslog uname/release verssort/1.2.4
bad/before getenv/1.0 load/13 loc_dv3/1.0 loc_rc6/1(@) loc_sym/versinf2 module/2.0 uname/sysname verssort/1.8-2015-12-01
bad2/proc help/2.0 load/14 loc_dv3/2.0 loc_rc6/1.2(default:new) loc_sym/versinf3 module/meta uname/version verssort/1.8-2016-02-01
break/1.0 info/command load/15 loc_dv4/1.0 loc_rc6/bar(@) loc_sym/versinf4 prepend/0.1 unsetenv/0.9 verssort/1.10
break/2.0 info/commandexp load/16 loc_dv6/1.0 loc_rc7/0.9 loc_sym/versinf5 prepend/0.2 unsetenv/1.0 whatis/lines
break/3.0 info/isloaded load/17 loc_dv6/2.0/1.0 loc_rc7/1(@) loc_sym/versinf6 prepend/1.0 use/1.0(default) whatis/multiple
break/4.0 info/mode1 load/18 loc_dv7/1.0 loc_rc7/1.2 loc_sym/versinf7 prepend/1.1 use/2.0 whatis/none
chdir/1.0 info/mode2 load/19 loc_dv7/2.0(default) loc_rc7/bar(@) loc_sym/version1 prepend/2.0 use/2.1 whatis/single
chdir/2.0 info/mode3 load/20 loc_dv7/2.0/1.0 loc_sym/1.0 loc_sym/version2 prepend/2.1 use/2.2 whatis/string
chdir/3.0 info/mode4 load/21 loc_dv7/3.0 loc_sym/alias1 loc_sym/version3 prepend/2.2 user/adv x-resource/1
chdir/4.0 info/mode5 load/22 loc_dv8/1.0 loc_sym/alias2 loc_sym/version4 prereq/full user/advanced
coll/a info/mode6 load/23 loc_dv8/2.0 loc_sym/alias3 loc_sym/version5 prereq/module user/exp
coll/b info/name load/24 loc_fq/1.0 loc_sym/alias4 loc_sym/version6 recurs/modA user/expert "
alias/1.0 coll/c info/others load/24 loc_fq/1.0 loc_sym/alias4 loc_sym/version6 recurs/modA user/expert
alias/2.0 coll/d info/shells load/25 loc_rc1/1.0(foo) loc_sym/alias5 loc_sym/version7 recurs/modB user/nov
append/0.1 conflict/full info/shellsexp load/26 loc_rc1/2.0 loc_sym/alias6 loc_sym/version8 remove/2.0 user/novice
append/0.2 conflict/module info/specified(foo) load/27 loc_rc2/1.0(bar:blah:foo) loc_sym/exec1 loc_sym/version9 setenv/1.0 user/undef
append/1.0 continue/1.0 info/type load/28 loc_rc2/2.0 loc_sym/exec2 loc_sym/version10 system/2.0 verbose/msg
append/1.1 continue/2.0 info/user load/29 loc_rc3/1.0(default) loc_sym/getvers1 loc_sym/version11 test/1.0 verbose/off
append/2.0 continue/3.0 info/userexp load/30 loc_rc3/2.0(cur:stable) loc_sym/getvers2 loc_sym/version12 test/1.2 verbose/on
append/2.1 continue/4.0 inforc/1.0 load/all(default) loc_rc3/3.0(chk:exp:new:test) loc_sym/getvers3 loc_sym/version13 test/2.0 verbose/undef
append/2.2 empty/1.0 inforc/2.0(avail:bar:default) loc_def/default loc_rc4/1.0 loc_sym/getvers4 loc_sym/version14 trace/all_off versions/1.1
averssort/1(@) eschars/1.0 inforc/foo(@) loc_def/truedef loc_rc4/2.0(default) loc_sym/getvers5 log/badfac trace/all_on versions/1.2
averssort/1.2.4(@) exit/1.0 load/00 loc_dv1/1.0 loc_rc4/3.0 loc_sym/getvers6 log/err_both_1 uname/domain versions/1.3
averssort/1.10(@) exit/2.0 load/10 loc_dv1/2.0 loc_rc5/1.0 loc_sym/getvers7 log/err_both_2 uname/machine verssort/1
bad/after(good) exit/3.0 load/11 loc_dv2/1.0(default) loc_rc5/2.0 loc_sym/getvers8 log/err_file uname/nodename verssort/1.2.1
bad/before getenv/1.0 load/12 loc_dv2/2.0 loc_rc6/0.9 loc_sym/versinf1 log/err_syslog uname/release verssort/1.2.4
bad2/proc help/2.0 load/13 loc_dv3/1.0 loc_rc6/1(@) loc_sym/versinf2 module/2.0 uname/sysname verssort/1.8-2015-12-01
break/1.0 info/command load/14 loc_dv3/2.0 loc_rc6/1.2(default:new) loc_sym/versinf3 module/meta uname/version verssort/1.8-2016-02-01
break/2.0 info/commandexp load/15 loc_dv4/1.0 loc_rc6/bar(@) loc_sym/versinf4 prepend/0.1 unsetenv/0.9 verssort/1.10
break/3.0 info/isloaded load/16 loc_dv6/1.0 loc_rc7/0.9 loc_sym/versinf5 prepend/0.2 unsetenv/1.0 whatis/lines
break/4.0 info/mode1 load/17 loc_dv6/2.0/1.0 loc_rc7/1(@) loc_sym/versinf6 prepend/1.0 use/1.0(default) whatis/multiple
chdir/1.0 info/mode2 load/18 loc_dv7/1.0 loc_rc7/1.2 loc_sym/versinf7 prepend/1.1 use/2.0 whatis/none
chdir/2.0 info/mode3 load/19 loc_dv7/2.0(default) loc_rc7/bar(@) loc_sym/version1 prepend/2.0 use/2.1 whatis/single
chdir/3.0 info/mode4 load/20 loc_dv7/2.0/1.0 loc_sym/1.0 loc_sym/version2 prepend/2.1 use/2.2 whatis/string
chdir/4.0 info/mode5 load/21 loc_dv7/3.0 loc_sym/alias1 loc_sym/version3 prepend/2.2 user/adv x-resource/1
coll/a info/mode6 load/22 loc_dv8/1.0 loc_sym/alias2 loc_sym/version4 prereq/full user/advanced
coll/b info/name load/23 loc_dv8/2.0 loc_sym/alias3 loc_sym/version5 prereq/module user/exp "
#
# test