From 671daf06b832940bb331242d07462c0f69be9618 Mon Sep 17 00:00:00 2001 From: Miroslav Lichvar Date: Fri, 24 Aug 2018 14:56:04 +0200 Subject: [PATCH] test: avoid using eval in shell scripts --- test/simulation/test.common | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/test/simulation/test.common b/test/simulation/test.common index 36523cb..8309f40 100644 --- a/test/simulation/test.common +++ b/test/simulation/test.common @@ -75,10 +75,9 @@ default_client_min_mean_out_interval=0.0 default_client_max_min_out_interval=inf # Initialize test settings from their defaults -for defopt in $(declare | grep '^default_'); do - defoptname=${defopt%%=*} +for defoptname in ${!default_*}; do optname=${defoptname#default_} - eval "[ -z \"\${$optname:+a}\" ] && $optname=\"\$$defoptname\"" + declare "$optname"="${!defoptname}" done test_start() { @@ -358,14 +357,13 @@ check_packet_port() { # Print test settings which differ from default value print_nondefaults() { - local defopt defoptname optname + local defoptname optname test_message 2 1 "non-default settings:" - declare | grep '^default_*' | while read defopt; do - defoptname=${defopt%%=*} + for defoptname in ${!default_*}; do optname=${defoptname#default_} - eval "[ \"\$$optname\" = \"\$$defoptname\" ]" || \ - test_message 3 1 $(eval "echo $optname=\$$optname") + [ "${!defoptname}" = "${!optname}" ] || \ + test_message 3 1 $optname=${!optname} done }