From 842839eafe695959adeea688c3e97f0801cbcaae Mon Sep 17 00:00:00 2001 From: Xavier Delaruelle Date: Mon, 22 May 2017 06:35:56 +0200 Subject: [PATCH] Add tests for bad or deprecated 'module-info' cmds --- testsuite/modulefiles/info/others | 55 +++++++++++++++ testsuite/modules.50-cmds/284-info-others.exp | 68 +++++++++++++++++++ testsuite/modules.90-avail/070-full.exp | 50 +++++++------- 3 files changed, 148 insertions(+), 25 deletions(-) create mode 100644 testsuite/modulefiles/info/others create mode 100644 testsuite/modules.50-cmds/284-info-others.exp diff --git a/testsuite/modulefiles/info/others b/testsuite/modulefiles/info/others new file mode 100644 index 00000000..2c222fcb --- /dev/null +++ b/testsuite/modulefiles/info/others @@ -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]" +} diff --git a/testsuite/modules.50-cmds/284-info-others.exp b/testsuite/modules.50-cmds/284-info-others.exp new file mode 100644 index 00000000..5830265d --- /dev/null +++ b/testsuite/modules.50-cmds/284-info-others.exp @@ -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 diff --git a/testsuite/modules.90-avail/070-full.exp b/testsuite/modules.90-avail/070-full.exp index d4c7e2d0..e8fb98ca 100644 --- a/testsuite/modules.90-avail/070-full.exp +++ b/testsuite/modules.90-avail/070-full.exp @@ -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