]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
test: avoid using eval in shell scripts
authorMiroslav Lichvar <mlichvar@redhat.com>
Fri, 24 Aug 2018 12:56:04 +0000 (14:56 +0200)
committerMiroslav Lichvar <mlichvar@redhat.com>
Fri, 24 Aug 2018 16:09:29 +0000 (18:09 +0200)
test/simulation/test.common

index 36523cb6d23a379e989b8369bf98adf932febf15..8309f40d3dcbc897c4635c01f8b7e0de3796b882 100644 (file)
@@ -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
 }