mirror of
https://github.com/envmodules/modules.git
synced 2026-05-30 00:12:31 +08:00
ts: test noglob_eval_shells over autoinit subcmd
This commit is contained in:
4
.github/workflows/linux_tests.yaml
vendored
4
.github/workflows/linux_tests.yaml
vendored
@@ -63,7 +63,7 @@ jobs:
|
||||
tcl85-nolibtclenvmodules:
|
||||
runs-on: ubuntu-18.04
|
||||
env:
|
||||
CONFIGURE_OPTS: --with-tclsh=tclsh8.5 --prefix=/tmp/modules --disable-libtclenvmodules --with-tcl=/usr/lib/tcl8.5 --enable-versioning --with-loadedmodules=null:dot --without-pager --disable-avail-indepth --with-terminal-background=light --with-unload-match-order=returnfirst --disable-implicit-default --with-search-match=contains --with-locked-configs=extra_siteconfig --disable-auto-handling --disable-extended-default --disable-advanced-version-spec --disable-color --with-icase=never
|
||||
CONFIGURE_OPTS: --with-tclsh=tclsh8.5 --prefix=/tmp/modules --disable-libtclenvmodules --with-tcl=/usr/lib/tcl8.5 --enable-versioning --with-loadedmodules=null:dot --without-pager --disable-avail-indepth --with-terminal-background=light --with-unload-match-order=returnfirst --disable-implicit-default --with-search-match=contains --with-locked-configs=extra_siteconfig --disable-auto-handling --disable-extended-default --disable-advanced-version-spec --disable-color --with-icase=never --with-noglob-eval-shells=
|
||||
COVERAGE: y
|
||||
EXTRA_SCRIPT_PRETEST: make install-testinitrc install-testsiteconfig
|
||||
EXTRA_SCRIPT_POSTTEST: make uninstall-testconfig
|
||||
@@ -115,7 +115,7 @@ jobs:
|
||||
tcl85-2:
|
||||
runs-on: ubuntu-18.04
|
||||
env:
|
||||
CONFIGURE_OPTS: --with-tclsh=tclsh8.5 --prefix=/tmp/modules --with-tcl=/usr/lib/tcl8.5 --enable-quarantine-support --enable-silent-shell-debug-support --enable-modulespath --with-pager=more --with-dark-background-colors=hi --with-locked-configs=implicit_default --enable-wa-277 --enable-advanced-version-spec --disable-ml --disable-implicit-requirement --enable-set-shell-startup
|
||||
CONFIGURE_OPTS: --with-tclsh=tclsh8.5 --prefix=/tmp/modules --with-tcl=/usr/lib/tcl8.5 --enable-quarantine-support --enable-silent-shell-debug-support --enable-modulespath --with-pager=more --with-dark-background-colors=hi --with-locked-configs=implicit_default --enable-wa-277 --enable-advanced-version-spec --disable-ml --disable-implicit-requirement --enable-set-shell-startup --with-noglob-eval-shells=zsh:sh:ksh:bash
|
||||
COVERAGE: y
|
||||
EXTRA_SCRIPT_PRETEST: make install-testinitrc-1 install-testetcrc install-testmodspath
|
||||
EXTRA_SCRIPT_POSTTEST: make uninstall-testconfig
|
||||
|
||||
@@ -30,6 +30,9 @@ if {[info exists env(TESTSUITE_INITRC)]} {
|
||||
module use [getenv TESTSUITEDIR]/modulefiles.3
|
||||
module load refresh/5.0
|
||||
}
|
||||
noglobeval1 {
|
||||
module config noglob_eval_shells zsh
|
||||
}
|
||||
}
|
||||
}
|
||||
catch {module load unk}
|
||||
|
||||
@@ -91,7 +91,7 @@ if {[info exists insmodrcdata] && [info exists exmodrcdata] && $exmodrcdata eq $
|
||||
}
|
||||
|
||||
set custom {module restore unk}
|
||||
set custom [escre [msg_moderr {Collection unk cannot be found} $custom $modrc 36 { }]]
|
||||
set custom [escre [msg_moderr {Collection unk cannot be found} $custom $modrc 39 { }]]
|
||||
|
||||
set tserr_initrc_exinstalled "[msg_load mj]\nload m1\nload m2\n\n[msg_top_load m2 {} m1 {}]\n\nunload m2\n[msg_unload m2]\nunload m1\n[msg_unload m1]\n[msg_unload mj]\nload m1\n[msg_load m1]\nload m3\n[msg_load m3]\n[msg_load {'space yc/4'}]\n$err_path'unk'\n$custom"
|
||||
set tserr_initrc1_exinstalled [msg_load null]
|
||||
@@ -155,6 +155,43 @@ set func_silentdbg ""
|
||||
set end_silentdbg ""
|
||||
}
|
||||
|
||||
set func_noglobeval "\\s*case \"\\\$-\" in
|
||||
\\s*\\\*f\\\*\\\) _mlshopt='' ;;
|
||||
\\s*\\\*\\\) set -f; _mlshopt='f' ;;
|
||||
\\s*esac;\n"
|
||||
set end_noglobeval "\\s*if \\\[ -n \"\\\${_mlshopt:-}\" \\\]; then
|
||||
\\s*set \\\+\\\$_mlshopt;
|
||||
\\s*fi;
|
||||
\\s*unset _mlshopt;\n"
|
||||
if {{sh} in [split $install_noglobevalshells :]} {
|
||||
set func_noglobeval_sh $func_noglobeval
|
||||
set end_noglobeval_sh $end_noglobeval
|
||||
} else {
|
||||
set func_noglobeval_sh {}
|
||||
set end_noglobeval_sh {}
|
||||
}
|
||||
if {{bash} in [split $install_noglobevalshells :]} {
|
||||
set func_noglobeval_bash $func_noglobeval
|
||||
set end_noglobeval_bash $end_noglobeval
|
||||
} else {
|
||||
set func_noglobeval_bash {}
|
||||
set end_noglobeval_bash {}
|
||||
}
|
||||
if {{ksh} in [split $install_noglobevalshells :]} {
|
||||
set func_noglobeval_ksh $func_noglobeval
|
||||
set end_noglobeval_ksh $end_noglobeval
|
||||
} else {
|
||||
set func_noglobeval_ksh {}
|
||||
set end_noglobeval_ksh {}
|
||||
}
|
||||
if {{zsh} in [split $install_noglobevalshells :]} {
|
||||
set func_noglobeval_zsh $func_noglobeval
|
||||
set end_noglobeval_zsh $end_noglobeval
|
||||
} else {
|
||||
set func_noglobeval_zsh {}
|
||||
set end_noglobeval_zsh {}
|
||||
}
|
||||
|
||||
set func_clean_ifs_quar "\\s*if \\\[ -n \"\\\${_mlIFS\\\+x}\" \\\]; then
|
||||
\\s*IFS=\\\$_mlIFS;
|
||||
\\s*else
|
||||
@@ -166,9 +203,14 @@ set func_clean_ifs $func_clean_ifs_quar
|
||||
} else {
|
||||
set func_clean_ifs ""
|
||||
}
|
||||
set func_end "\\s*_mlstatus=\\\$\\\?;\n$func_clean_ifs$end_silentdbg\\s*return \\\$_mlstatus;"
|
||||
set func_end_quar "\\s*_mlstatus=\\\$\\\?;\n$func_clean_ifs_quar$end_silentdbg\\s*return \\\$_mlstatus;"
|
||||
set func_end_silentdbg "\\s*_mlstatus=\\\$\\\?;\n$end_silentdbg_silentdbg\\s*return \\\$_mlstatus;"
|
||||
set func_end_sh "\\s*_mlstatus=\\\$\\\?;\n$func_clean_ifs$end_noglobeval_sh$end_silentdbg\\s*return \\\$_mlstatus;"
|
||||
set func_end_bash "\\s*_mlstatus=\\\$\\\?;\n$func_clean_ifs$end_noglobeval_bash$end_silentdbg\\s*return \\\$_mlstatus;"
|
||||
set func_end_ksh "\\s*_mlstatus=\\\$\\\?;\n$func_clean_ifs$end_noglobeval_ksh$end_silentdbg\\s*return \\\$_mlstatus;"
|
||||
set func_end_zsh "\\s*_mlstatus=\\\$\\\?;\n$func_clean_ifs$end_noglobeval_zsh$end_silentdbg\\s*return \\\$_mlstatus;"
|
||||
set func_end_bash_quar "\\s*_mlstatus=\\\$\\\?;\n$func_clean_ifs_quar$end_noglobeval_bash$end_silentdbg\\s*return \\\$_mlstatus;"
|
||||
set func_end_bash_silentdbg "\\s*_mlstatus=\\\$\\\?;\n$end_noglobeval_bash$end_silentdbg_silentdbg\\s*return \\\$_mlstatus;"
|
||||
set func_end_bash_nonoglobeval "\\s*_mlstatus=\\\$\\\?;\n$func_clean_ifs$end_silentdbg\\s*return \\\$_mlstatus;"
|
||||
set func_end_zsh_noglobeval "\\s*_mlstatus=\\\$\\\?;\n$func_clean_ifs$end_noglobeval$end_silentdbg\\s*return \\\$_mlstatus;"
|
||||
|
||||
set func_modcmd_bash_quar "\\s*if \\\[ -n \"\\\${_mlre:-}\" \\\]; then
|
||||
\\s*_mlre=\"\\\${_mlre:-}__MODULES_QUARANTINE_SET=1 \";
|
||||
@@ -260,13 +302,15 @@ set add_func_fish "\nfunction module
|
||||
\\s*end
|
||||
end"
|
||||
|
||||
set func_bash_quar "$func_name\\\(\\\) {\n$func_silentdbg$func_quar_sh_quar$func_modcmd_bash_quar\n$func_end_quar\n};$add_func_sh"
|
||||
set func_bash_silentdbg "$func_name\\\(\\\) {\n$func_silentdbg_silentdbg$func_quar_sh$func_modcmd_bash\n$func_end_silentdbg\n};$add_func_sh"
|
||||
set func_bash_quar "$func_name\\\(\\\) {\n$func_silentdbg$func_noglobeval_bash$func_quar_sh_quar$func_modcmd_bash_quar\n$func_end_bash_quar\n};$add_func_sh"
|
||||
set func_bash_silentdbg "$func_name\\\(\\\) {\n$func_silentdbg_silentdbg$func_noglobeval_bash$func_quar_sh$func_modcmd_bash\n$func_end_bash_silentdbg\n};$add_func_sh"
|
||||
set func_bash_nonoglobeval "$func_name\\\(\\\) {\n$func_silentdbg$func_quar_sh$func_modcmd_bash\n$func_end_bash_nonoglobeval\n};$add_func_sh"
|
||||
set func_zsh_noglobeval "$func_name\\\(\\\) {\n$func_silentdbg$func_noglobeval$func_quar_zsh$func_modcmd_zsh\n$func_end_zsh_noglobeval\n};$add_func_sh"
|
||||
|
||||
set func_sh "$func_name\\\(\\\) {\n$func_silentdbg$func_quar_sh$func_modcmd_sh\n$func_end\n};$add_func_sh"
|
||||
set func_bash "$func_name\\\(\\\) {\n$func_silentdbg$func_quar_sh$func_modcmd_bash\n$func_end\n};$add_func_sh"
|
||||
set func_ksh "$func_name\\\(\\\) {\n$func_silentdbg$func_quar_sh$func_modcmd_ksh\n$func_end\n};$add_func_ksh"
|
||||
set func_zsh "$func_name\\\(\\\) {\n$func_silentdbg$func_quar_zsh$func_modcmd_zsh\n$func_end\n};$add_func_sh"
|
||||
set func_sh "$func_name\\\(\\\) {\n$func_silentdbg$func_noglobeval_sh$func_quar_sh$func_modcmd_sh\n$func_end_sh\n};$add_func_sh"
|
||||
set func_bash "$func_name\\\(\\\) {\n$func_silentdbg$func_noglobeval_bash$func_quar_sh$func_modcmd_bash\n$func_end_bash\n};$add_func_sh"
|
||||
set func_ksh "$func_name\\\(\\\) {\n$func_silentdbg$func_noglobeval_ksh$func_quar_sh$func_modcmd_ksh\n$func_end_ksh\n};$add_func_ksh"
|
||||
set func_zsh "$func_name\\\(\\\) {\n$func_silentdbg$func_noglobeval_zsh$func_quar_zsh$func_modcmd_zsh\n$func_end_zsh\n};$add_func_sh"
|
||||
|
||||
set eval_cmd_csh [expr {$install_wa277 eq {y} ? "eval `$tclshlocre $modulecmd_pathre csh \\\\!\\*`" : "eval \"`$tclshlocre $modulecmd_pathre csh \\\\!\\*:q`\""}]
|
||||
set eval_cmd_tcsh [expr {$install_wa277 eq {y} ? "eval `$tclshlocre $modulecmd_pathre tcsh \\\\!\\*`" : "eval \"`$tclshlocre $modulecmd_pathre tcsh \\\\!\\*:q`\""}]
|
||||
@@ -554,10 +598,14 @@ append func_bash_quar "
|
||||
\\s*ml\\\(\\\) { module ml \"\\\$\\\@\"; };"
|
||||
append func_bash_silentdbg "
|
||||
\\s*ml\\\(\\\) { module ml \"\\\$\\\@\"; };"
|
||||
append func_bash_nonoglobeval "
|
||||
\\s*ml\\\(\\\) { module ml \"\\\$\\\@\"; };"
|
||||
append func_ksh "
|
||||
\\s*ml\\\(\\\) { module ml \"\\\$\\\@\"; };"
|
||||
append func_zsh "
|
||||
\\s*ml\\\(\\\) { module ml \"\\\$\\\@\"; };"
|
||||
append func_zsh_noglobeval "
|
||||
\\s*ml\\\(\\\) { module ml \"\\\$\\\@\"; };"
|
||||
append func_csh "
|
||||
\\s*alias ml 'module ml \\\\!\\\*' ;"
|
||||
append func_tcsh "
|
||||
@@ -1153,7 +1201,7 @@ if {!$insmodspath && $initrc_exinstalled && !$install_setshellstartup && $modrc
|
||||
}
|
||||
set linenum [expr {[cmpversion $tclsh_version 8.6] == -1 ? 14 : 21}]
|
||||
set custom {module restore unk}
|
||||
set custom [escre [msg_moderr {Collection unk cannot be found} $custom $modrc 36 { }]]
|
||||
set custom [escre [msg_moderr {Collection unk cannot be found} $custom $modrc 39 { }]]
|
||||
set tserr "[msg_load mj]\nload m1\nload m2\n\n[msg_top_load m2 {} m1 {}]\n\nunload m2\n[msg_unload m2]\nunload m1\n[msg_unload m1]\n[msg_unload mj]\nload m1\n[msg_load m1]\nload m3\n[msg_load m3]\n[msg_load {'space yc/4'}]\n$err_path'unk'\n$custom"
|
||||
testouterr_cmd_re bash autoinit $ans $tserr
|
||||
|
||||
@@ -1182,7 +1230,7 @@ if {!$insmodspath && $initrc_exinstalled && !$install_setshellstartup && $modrc
|
||||
}
|
||||
set linenum [expr {[cmpversion $tclsh_version 8.6] == -1 ? 14 : 21}]
|
||||
set custom {module restore unk}
|
||||
set custom [escre [msg_moderr {Collection unk cannot be found} $custom $modrc 36 { }]]
|
||||
set custom [escre [msg_moderr {Collection unk cannot be found} $custom $modrc 39 { }]]
|
||||
set tserr "[msg_load mj]\nload m1\nload m2\n\n[msg_top_load m2 {} m1 {}]\n\nunload m2\n[msg_unload m2]\nunload m1\n[msg_unload m1]\n[msg_unload mj]\nload m1\n[msg_load m1]\nload m3\n[msg_load m3]\n[msg_load {'space yc/4'}]\n$err_path'unk'\n$custom"
|
||||
testouterr_cmd_re bash autoinit $ans $tserr
|
||||
|
||||
@@ -1220,12 +1268,65 @@ if {!$insmodspath && $initrc_exinstalled && !$install_setshellstartup && $modrc
|
||||
lappend ans [list unset __MODULES_AUTOINIT_INPROGRESS]
|
||||
set linenum [expr {[cmpversion $tclsh_version 8.6] == -1 ? 14 : 21}]
|
||||
set custom {module restore unk}
|
||||
set custom [escre [msg_moderr {Collection unk cannot be found} $custom $modrc 36 { }]]
|
||||
set custom [escre [msg_moderr {Collection unk cannot be found} $custom $modrc 39 { }]]
|
||||
set tserr "[msg_load mj]\nload m1\nload m2\n\n[msg_top_load m2 {} m1 {}]\n\nunload m2\n[msg_unload m2]\nunload m1\n[msg_unload m1]\n[msg_unload mj]\nload m1\n[msg_load m1]\nload m3\n[msg_load m3]\n[msg_load {'space yc/4'}]\n[msg_load refresh/5.0]\n$err_path'unk'\n$custom"
|
||||
testouterr_cmd_re bash autoinit $ans $tserr
|
||||
|
||||
unsetenv_var TESTSUITE_INITRC
|
||||
|
||||
# test impact of noglob eval enablement through initrc config file
|
||||
setenv_var TESTSUITE_INITRC noglobeval1
|
||||
|
||||
set ans [list]
|
||||
lappend ans [list ERR]
|
||||
lappend ans [list [set "func_bash_nonoglobeval"]]
|
||||
if {$install_versioning eq "y"} {
|
||||
lappend ans [list set MODULE_VERSION_STACK "(.*)"]
|
||||
}
|
||||
lappend ans [list set MODULES_CMD $modulecmd_path]
|
||||
lappend ans [list unset __MODULES_AUTOINIT_INPROGRESS]
|
||||
lappend ans [list set MODULESHOME $moduleshome]
|
||||
lappend ans [list set MODULES_NOGLOB_EVAL_SHELLS zsh]
|
||||
lappend ans [list set __MODULES_LMPREREQ m3&m1]
|
||||
lappend ans [list set _LMFILES_ "$modpath.deps/m1:$modpath.deps/m3:$modpath wspace/space yc/4"]
|
||||
lappend ans [list set LOADEDMODULES "m1:m3:space yc/4"]
|
||||
lappend ans [list set __MODULES_LMTAG m1&auto-loaded]
|
||||
lappend ans [list set MODULEPATH "$modpath wspace:$modpath.deps"]
|
||||
if {$install_versioning eq "y"} {
|
||||
lappend ans [list set MODULE_VERSION "(.*)"]
|
||||
}
|
||||
set linenum [expr {[cmpversion $tclsh_version 8.6] == -1 ? 14 : 21}]
|
||||
set custom {module restore unk}
|
||||
set custom [escre [msg_moderr {Collection unk cannot be found} $custom $modrc 39 { }]]
|
||||
set tserr "[msg_load mj]\nload m1\nload m2\n\n[msg_top_load m2 {} m1 {}]\n\nunload m2\n[msg_unload m2]\nunload m1\n[msg_unload m1]\n[msg_unload mj]\nload m1\n[msg_load m1]\nload m3\n[msg_load m3]\n[msg_load {'space yc/4'}]\n$err_path'unk'\n$custom"
|
||||
testouterr_cmd_re bash autoinit $ans $tserr
|
||||
|
||||
set ans [list]
|
||||
lappend ans [list ERR]
|
||||
lappend ans [list [set "func_zsh_noglobeval"]]
|
||||
if {$install_versioning eq "y"} {
|
||||
lappend ans [list set MODULE_VERSION_STACK "(.*)"]
|
||||
}
|
||||
lappend ans [list set MODULES_CMD $modulecmd_path]
|
||||
lappend ans [list unset __MODULES_AUTOINIT_INPROGRESS]
|
||||
lappend ans [list set MODULESHOME $moduleshome]
|
||||
lappend ans [list set MODULES_NOGLOB_EVAL_SHELLS zsh]
|
||||
lappend ans [list set __MODULES_LMPREREQ m3&m1]
|
||||
lappend ans [list set _LMFILES_ "$modpath.deps/m1:$modpath.deps/m3:$modpath wspace/space yc/4"]
|
||||
lappend ans [list set LOADEDMODULES "m1:m3:space yc/4"]
|
||||
lappend ans [list set __MODULES_LMTAG m1&auto-loaded]
|
||||
lappend ans [list set MODULEPATH "$modpath wspace:$modpath.deps"]
|
||||
if {$install_versioning eq "y"} {
|
||||
lappend ans [list set MODULE_VERSION "(.*)"]
|
||||
}
|
||||
set linenum [expr {[cmpversion $tclsh_version 8.6] == -1 ? 14 : 21}]
|
||||
set custom {module restore unk}
|
||||
set custom [escre [msg_moderr {Collection unk cannot be found} $custom $modrc 39 { }]]
|
||||
set tserr "[msg_load mj]\nload m1\nload m2\n\n[msg_top_load m2 {} m1 {}]\n\nunload m2\n[msg_unload m2]\nunload m1\n[msg_unload m1]\n[msg_unload mj]\nload m1\n[msg_load m1]\nload m3\n[msg_load m3]\n[msg_load {'space yc/4'}]\n$err_path'unk'\n$custom"
|
||||
testouterr_cmd_re zsh autoinit $ans $tserr
|
||||
|
||||
unsetenv_var TESTSUITE_INITRC
|
||||
|
||||
# save installed initrc as following tests will test specific configuration
|
||||
file rename -force $modrc $modrc.orig
|
||||
|
||||
|
||||
Reference in New Issue
Block a user