From 455499bccd1e3e99c9f6df358469b215280a3ea0 Mon Sep 17 00:00:00 2001 From: Xavier Delaruelle Date: Wed, 13 Oct 2021 06:52:43 +0200 Subject: [PATCH] ts: add getvariant --return-value tests in 50/472 --- testsuite/modulefiles.3/variant/5.1 | 34 ++++++ testsuite/modules.50-cmds/472-getvariant.exp | 119 +++++++++++++++++++ 2 files changed, 153 insertions(+) create mode 100644 testsuite/modulefiles.3/variant/5.1 diff --git a/testsuite/modulefiles.3/variant/5.1 b/testsuite/modulefiles.3/variant/5.1 new file mode 100644 index 00000000..10b65313 --- /dev/null +++ b/testsuite/modulefiles.3/variant/5.1 @@ -0,0 +1,34 @@ +#%Module + +if {![info exists env(TESTSUITE_GETVARIANT)] || $env(TESTSUITE_GETVARIANT) ne {return1}} { + variant foo val1 val2 val3 +} + +if {[info exists env(TESTSUITE_GETVARIANT)]} { + switch -- $env(TESTSUITE_GETVARIANT) { + toomany1 { + setenv testsuite [getvariant foo {} other] + } + toomany2 { + setenv testsuite [getvariant --return-value foo {} other] + } + toofew1 { + setenv testsuite [getvariant] + } + toofew2 { + setenv testsuite [getvariant --return-value] + } + misplaced1 { + setenv testsuite [getvariant foo --return-value] + } + misplaced2 { + setenv testsuite [getvariant foo bar --return-value] + } + return1 { + setenv testsuite [getvariant --return-value foo bar] + } + return2 { + setenv testsuite [getvariant --return-value foo] + } + } +} diff --git a/testsuite/modules.50-cmds/472-getvariant.exp b/testsuite/modules.50-cmds/472-getvariant.exp index e832d3f1..8a4181ad 100644 --- a/testsuite/modules.50-cmds/472-getvariant.exp +++ b/testsuite/modules.50-cmds/472-getvariant.exp @@ -173,6 +173,125 @@ testouterr_cmd_re sh {test variant/5.0 foo=val1 b?r\ =} OK $tserr # see 70/375 +# +# --return-value test +# + +set module variant/5.1 +set modulefile $mp/$module +set modulefilere $mpre/$module + +setenv_var TESTSUITE_GETVARIANT toomany1 +set tserr [msg_load $module{foo=val1} [msg_moderr {wrong # args: should be "getvariant ?--return-value? name ?valifundef?"} {getvariant foo {} other} $modulefile 10]] +testouterr_cmd sh "load $module foo=val1" ERR $tserr + +set tserr "$modlin +$modulefilere: + +variant\\s*foo\\s*val1 val2 val3 +[escre [msg_moderr {wrong # args: should be "getvariant ?--return-value? name ?valifundef?"} {getvariant foo {} other} $modulefile 10 { }]] +$modlin" +testouterr_cmd_re sh "display $module foo=val1" ERR $tserr + +setenv_var TESTSUITE_GETVARIANT toomany2 +set tserr [msg_load $module{foo=val1} [msg_moderr {wrong # args: should be "getvariant ?--return-value? name ?valifundef?"} {getvariant --return-value foo {} other} $modulefile 13]] +testouterr_cmd sh "load $module foo=val1" ERR $tserr + +set tserr "$modlin +$modulefilere: + +variant\\s*foo\\s*val1 val2 val3 +[escre [msg_moderr {wrong # args: should be "getvariant ?--return-value? name ?valifundef?"} {getvariant --return-value foo {} other} $modulefile 13 { }]] +$modlin" +testouterr_cmd_re sh "display $module foo=val1" ERR $tserr + +setenv_var TESTSUITE_GETVARIANT toofew1 +set tserr [msg_load $module{foo=val1} [msg_moderr {wrong # args: should be "getvariant ?--return-value? name ?valifundef?"} {getvariant} $modulefile 16]] +testouterr_cmd sh "load $module foo=val1" ERR $tserr + +set tserr "$modlin +$modulefilere: + +variant\\s*foo\\s*val1 val2 val3 +[escre [msg_moderr {wrong # args: should be "getvariant ?--return-value? name ?valifundef?"} {getvariant} $modulefile 16 { }]] +$modlin" +testouterr_cmd_re sh "display $module foo=val1" ERR $tserr + +setenv_var TESTSUITE_GETVARIANT toofew2 +set ans [list] +lappend ans [list set __MODULES_LMVARIANT {variant/5.1&foo|val1|0|0}] +lappend ans [list set _LMFILES_ $mp/variant/5.1] +lappend ans [list set LOADEDMODULES variant/5.1] +lappend ans [list set testsuite {}] +testouterr_cmd sh "load $module foo=val1" $ans {} + +set tserr "$modlin +$modulefilere: + +variant\\s*foo\\s*val1 val2 val3 +setenv\\s*testsuite {--return-value} +$modlin" +testouterr_cmd_re sh "display $module foo=val1" OK $tserr + +setenv_var TESTSUITE_GETVARIANT misplaced1 +set ans [list] +lappend ans [list set __MODULES_LMVARIANT {variant/5.1&foo|val1|0|0}] +lappend ans [list set _LMFILES_ $mp/variant/5.1] +lappend ans [list set LOADEDMODULES variant/5.1] +lappend ans [list set testsuite {val1}] +testouterr_cmd sh "load $module foo=val1" $ans {} + +set tserr "$modlin +$modulefilere: + +variant\\s*foo\\s*val1 val2 val3 +setenv\\s*testsuite {foo} +$modlin" +testouterr_cmd_re sh "display $module foo=val1" OK $tserr + +setenv_var TESTSUITE_GETVARIANT misplaced2 +set tserr [msg_load $module{foo=val1} [msg_moderr {wrong # args: should be "getvariant ?--return-value? name ?valifundef?"} {getvariant foo bar --return-value} $modulefile 25]] +testouterr_cmd sh "load $module foo=val1" ERR $tserr + +set tserr "$modlin +$modulefilere: + +variant\\s*foo\\s*val1 val2 val3 +[escre [msg_moderr {wrong # args: should be "getvariant ?--return-value? name ?valifundef?"} {getvariant foo bar --return-value} $modulefile 25 { }]] +$modlin" +testouterr_cmd_re sh "display $module foo=val1" ERR $tserr + +setenv_var TESTSUITE_GETVARIANT return1 +set ans [list] +lappend ans [list set _LMFILES_ $mp/variant/5.1] +lappend ans [list set LOADEDMODULES variant/5.1] +lappend ans [list set testsuite {bar}] +testouterr_cmd sh "load $module" $ans {} + +set tserr "$modlin +$modulefilere: + +setenv\\s*testsuite bar +$modlin" +testouterr_cmd_re sh "display $module" OK $tserr + +setenv_var TESTSUITE_GETVARIANT return2 +set ans [list] +lappend ans [list set __MODULES_LMVARIANT {variant/5.1&foo|val1|0|0}] +lappend ans [list set _LMFILES_ $mp/variant/5.1] +lappend ans [list set LOADEDMODULES variant/5.1] +lappend ans [list set testsuite val1] +testouterr_cmd sh "load $module foo=val1" $ans {} + +set tserr "$modlin +$modulefilere: + +variant\\s*foo\\s*val1 val2 val3 +setenv\\s*testsuite val1 +$modlin" +testouterr_cmd_re sh "display $module foo=val1" OK $tserr + + # # Cleanup #