(testsuite) set +o history for bash < 3.2.41
Bash < 3.2.41 has a bug where 'history' disappears from SHELLOPTS whenever a shopt setting is sourced or eval'ed. Disabling 'history' makes it not show in tests "Environment should not be modified" for bash < 3.2.41. Added helper function `is_bash_version_minimal()' to test/lib/library.sh.
This commit is contained in:
parent
8eaf5a1c2a
commit
c6a8b856de
@ -24,3 +24,24 @@ echo_array() {
|
||||
local IFS=$'\n'
|
||||
eval echo \"\${$1[*]}\" | sort
|
||||
}
|
||||
|
||||
|
||||
# Check if current bash version meets specified minimum
|
||||
# @param $1 (integer) Major version number
|
||||
# @param $2 (integer) Minor version number
|
||||
# @param $3 (integer) Patch level
|
||||
# @return 0 if success, > 0 if not
|
||||
is_bash_version_minimal() {
|
||||
[[ (
|
||||
${BASH_VERSINFO[0]} -gt $1
|
||||
) || (
|
||||
${BASH_VERSINFO[0]} -eq $1 &&
|
||||
${BASH_VERSINFO[1]} -gt $2
|
||||
) || (
|
||||
${BASH_VERSINFO[0]} -eq $1 &&
|
||||
${BASH_VERSINFO[1]} -eq $2 &&
|
||||
${BASH_VERSINFO[2]} -ge $3
|
||||
)
|
||||
]]
|
||||
} # is_bash_version_minimal()
|
||||
|
||||
|
@ -18,6 +18,12 @@ proc unit_start {} {
|
||||
assert_bash_exec {} "bash --rcfile config/bashrc"
|
||||
assert_bash_exec {BASH_COMPLETION_DIR=$(cd ..; pwd)/contrib}
|
||||
assert_bash_exec {BASH_COMPLETION=$(cd ..; pwd)/bash_completion}
|
||||
# Bash < 3.2.41 has a bug where 'history' disappears from SHELLOPTS
|
||||
# whenever a shopt setting is sourced or eval'ed. Disabling 'history'
|
||||
# makes it not show in tests "Environment should not be modified"
|
||||
# for bash < 3.2.41.
|
||||
# -- FVu, Tue Sep 15 22:52:00 CEST 2009
|
||||
assert_bash_exec {is_bash_version_minimal 3 2 41 || set +o history}
|
||||
assert_bash_exec {source $BASH_COMPLETION}
|
||||
}; # unit_start()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user