# Update the tests given as positional parameters
+TZ=GMT0; export TZ
+
for TEST in "$@"; do
PREFIX=tests
MATCH=0
- while read name input output options
+ while read -r name input output options
do
- [ _$name = _ ] && continue # ignore empty lines
- [ _${name#\#} != _$name ] && continue # ignore comment lines
- [ $name != "$TEST" ] && continue # not the requested test
- [ _$output = _ ] && continue # ignore incomplete lines
+ [ -z "$name" ] && continue # ignore empty lines
+ [ "${name#\#}" != "$name" ] && continue # ignore comment lines
+ [ "$name" != "$TEST" ] && continue # not the requested test
+ [ -z "$output" ] && continue # ignore incomplete lines
MATCH=1
- ./tcpdump -n -t -r "$PREFIX/$input" $options >"$PREFIX/$output"
+ # Word splitting is intentional for $options.
+ # shellcheck disable=SC2086
+ ./tcpdump -# -n -tttt -r "$PREFIX/$input" $options >"$PREFIX/$output"
done < $PREFIX/TESTLIST
[ $MATCH = 0 ] && echo "test $TEST not found" >&2
done