test: avoid using eval in shell scripts
This commit is contained in:
parent
b189a5386b
commit
671daf06b8
1 changed files with 6 additions and 8 deletions
|
@ -75,10 +75,9 @@ default_client_min_mean_out_interval=0.0
|
||||||
default_client_max_min_out_interval=inf
|
default_client_max_min_out_interval=inf
|
||||||
|
|
||||||
# Initialize test settings from their defaults
|
# Initialize test settings from their defaults
|
||||||
for defopt in $(declare | grep '^default_'); do
|
for defoptname in ${!default_*}; do
|
||||||
defoptname=${defopt%%=*}
|
|
||||||
optname=${defoptname#default_}
|
optname=${defoptname#default_}
|
||||||
eval "[ -z \"\${$optname:+a}\" ] && $optname=\"\$$defoptname\""
|
declare "$optname"="${!defoptname}"
|
||||||
done
|
done
|
||||||
|
|
||||||
test_start() {
|
test_start() {
|
||||||
|
@ -358,14 +357,13 @@ check_packet_port() {
|
||||||
|
|
||||||
# Print test settings which differ from default value
|
# Print test settings which differ from default value
|
||||||
print_nondefaults() {
|
print_nondefaults() {
|
||||||
local defopt defoptname optname
|
local defoptname optname
|
||||||
|
|
||||||
test_message 2 1 "non-default settings:"
|
test_message 2 1 "non-default settings:"
|
||||||
declare | grep '^default_*' | while read defopt; do
|
for defoptname in ${!default_*}; do
|
||||||
defoptname=${defopt%%=*}
|
|
||||||
optname=${defoptname#default_}
|
optname=${defoptname#default_}
|
||||||
eval "[ \"\$$optname\" = \"\$$defoptname\" ]" || \
|
[ "${!defoptname}" = "${!optname}" ] || \
|
||||||
test_message 3 1 $(eval "echo $optname=\$$optname")
|
test_message 3 1 $optname=${!optname}
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue