Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 0712ec3

Browse files
committed
tests: fix shellcheck issues and syntax errors in run_tests.sh
This fixes several instances of the following shellcheck issues: https://www.shellcheck.net/wiki/SC2046 -- Quote this to prevent word splitting. https://shellcheck.net/wiki/SC3037 (warning): In POSIX sh, echo flags are undefined. https://shellchelleck.net/wiki/SC2268 (style): Avoid x-prefix in comparisons as it no longer serves a purpose. https://shellcheck.net/wiki/SC2009 (info): Consider using pgrep instead of grepping ps output. https://shellcheck.net/wiki/SC3028 (warning): In POSIX sh, SECONDS is undefined. SC2059 (info): Don't use variables in the printf format string COUNT appears unused. Verify use (or export if used externally). https://shellcheck.net/wiki/SC2162 (info): read without -r will mangle backslashes. https://shellcheck.net/wiki/SC2034 (warning): READ appears unused. Verify use (or export if used externally). https://shellcheck.net/wiki/SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly). https://shellcheck.net/wiki/SC2086 (info): Double quote to prevent globbing and word splitting. Signed-off-by: Michael Adam <[email protected]> tests: fix syntax errors in run_tests.sh Signed-off-by: Michael Adam <[email protected]>
1 parent 74f5f59 commit 0712ec3

File tree

1 file changed

+72
-69
lines changed

1 file changed

+72
-69
lines changed

tests/scripts/run_tests.sh

Lines changed: 72 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
# this program; if not, see <http://www.gnu.org/licenses/>.
1919

2020

21-
SCRIPTS_DIR=$(cd $(dirname $0) && pwd)
21+
SCRIPTS_DIR=$(cd "$(dirname "$0")" && pwd)
2222
BASEDIR=$SCRIPTS_DIR/../..
2323
TESTS_DIR=$SCRIPTS_DIR/..
2424
TESTENV_DIR=$TESTS_DIR/env
@@ -51,27 +51,27 @@ WEBCLIENT_LOG=$LOG_DIR/webclient.log
5151
WEBCLIENT_BIN=$SCRIPTS_DIR/webclient.pl
5252

5353
provision_initial() {
54-
if test -e $TESTENV_DIR ; then
54+
if test -e "$TESTENV_DIR" ; then
5555
TESTENV_DIR_OLD=$TESTENV_DIR.old
56-
if test -e $TESTENV_DIR_OLD ; then
57-
rm -rf $TESTENV_DIR_OLD
56+
if test -e "$TESTENV_DIR_OLD" ; then
57+
rm -rf "$TESTENV_DIR_OLD"
5858
fi
59-
mv $TESTENV_DIR $TESTENV_DIR.old
59+
mv "$TESTENV_DIR" "$TESTENV_DIR".old
6060
fi
6161

62-
mkdir -p $LOG_DIR
62+
mkdir -p "$LOG_DIR"
6363
}
6464

6565
provision_tinyproxy() {
66-
mkdir -p $TINYPROXY_DATA_DIR
67-
cp $BASEDIR/data/templates/default.html $TINYPROXY_DATA_DIR
68-
cp $BASEDIR/data/templates/debug.html $TINYPROXY_DATA_DIR
69-
cp $BASEDIR/data/templates/stats.html $TINYPROXY_DATA_DIR
70-
mkdir -p $TINYPROXY_PID_DIR
71-
mkdir -p $TINYPROXY_LOG_DIR
72-
mkdir -p $TINYPROXY_CONF_DIR
73-
74-
cat >>$TINYPROXY_CONF_FILE<<EOF
66+
mkdir -p "$TINYPROXY_DATA_DIR"
67+
cp "$BASEDIR"/data/templates/default.html "$TINYPROXY_DATA_DIR"
68+
cp "$BASEDIR"/data/templates/debug.html "$TINYPROXY_DATA_DIR"
69+
cp "$BASEDIR"/data/templates/stats.html "$TINYPROXY_DATA_DIR"
70+
mkdir -p "$TINYPROXY_PID_DIR"
71+
mkdir -p "$TINYPROXY_LOG_DIR"
72+
mkdir -p "$TINYPROXY_CONF_DIR"
73+
74+
cat >>"$TINYPROXY_CONF_FILE"<<EOF
7575
User $TINYPROXY_USER
7676
#Group $TINYPROXY_GROUP
7777
Port $TINYPROXY_PORT
@@ -103,85 +103,87 @@ AddHeader "X-My-Header3" "Powered by Tinyproxy"
103103
Upstream http 255.255.255.255:65535 ".invalid"
104104
EOF
105105

106-
cat << 'EOF' > $TINYPROXY_FILTER_FILE
106+
cat << 'EOF' > "$TINYPROXY_FILTER_FILE"
107107
.*\.google-analytics\.com$
108108
EOF
109109
}
110110

111111
start_tinyproxy() {
112-
echo -n "starting tinyproxy..."
113-
$VALGRIND $TINYPROXY_BIN -c $TINYPROXY_CONF_FILE 2> $TINYPROXY_STDERR_LOG
112+
printf "starting tinyproxy..."
113+
$VALGRIND "$TINYPROXY_BIN" -c "$TINYPROXY_CONF_FILE" 2> "$TINYPROXY_STDERR_LOG"
114114
echo " done (listening on $TINYPROXY_IP:$TINYPROXY_PORT)"
115115
}
116116

117117
reload_config() {
118-
echo -n "signaling tinyproxy to reload config..."
119-
pid=$(cat $TINYPROXY_PID_FILE)
118+
printf "signaling tinyproxy to reload config..."
119+
pid=$(cat "$TINYPROXY_PID_FILE")
120120
#1: SIGHUP
121-
kill -1 $pid && echo "ok" || echo "fail"
121+
kill -1 "$pid" && echo "ok" || echo "fail"
122122
}
123123

124124
stop_tinyproxy() {
125-
echo -n "killing tinyproxy..."
126-
pid=$(cat $TINYPROXY_PID_FILE)
127-
kill $pid
128-
if test "x$?" = "x0" ; then
125+
printf "killing tinyproxy..."
126+
pid=$(cat "$TINYPROXY_PID_FILE")
127+
kill "$pid"
128+
if test "$?" = "0" ; then
129129
echo " ok"
130130
else
131131
echo " error killing pid $pid"
132-
ps aux | grep tinyproxy
132+
pgrep tinyproxy
133133
echo "### printing logfile"
134-
cat $TINYPROXY_LOG_FILE
134+
cat "$TINYPROXY_LOG_FILE"
135135
echo "### printing stderr logfile"
136-
cat $TINYPROXY_STDERR_LOG
136+
cat "$TINYPROXY_STDERR_LOG"
137137
fi
138138
}
139139

140140
provision_webserver() {
141-
mkdir -p $WEBSERVER_PID_DIR
142-
mkdir -p $WEBSERVER_LOG_DIR
141+
mkdir -p "$WEBSERVER_PID_DIR"
142+
mkdir -p "$WEBSERVER_LOG_DIR"
143143
}
144144

145145
start_webserver() {
146-
echo -n "starting web server..."
147-
$WEBSERVER_BIN --port $WEBSERVER_PORT --log-dir $WEBSERVER_LOG_DIR --pid-file $WEBSERVER_PID_FILE
148-
echo " done (listening on $WEBSERVER_IP:$WEBSERVER_PORT)"
146+
printf "starting web server..."
147+
"$WEBSERVER_BIN" --port "$WEBSERVER_PORT" --log-dir "$WEBSERVER_LOG_DIR" --pid-file "$WEBSERVER_PID_FILE"
148+
echo " done. listening on $WEBSERVER_IP:$WEBSERVER_PORT"
149+
"$WEBSERVER_BIN" --port "$WEBSERVER_PORT" --log-dir "$WEBSERVER_LOG_DIR" --pid-file "$WEBSERVER_PID_FILE"
150+
echo " done. listening on $WEBSERVER_IP:$WEBSERVER_PORT"
149151
}
150152

151153
stop_webserver() {
152-
echo -n "killing webserver..."
153-
kill $(cat $WEBSERVER_PID_FILE)
154-
if test "x$?" = "x0" ; then
154+
printf "killing webserver..."
155+
kill "$(cat "$WEBSERVER_PID_FILE")"
156+
if test "$?" = "0" ; then
155157
echo " ok"
156158
else
157159
echo " error"
158-
fi
160+
fi
159161
}
160162

161163
wait_for_some_seconds() {
162-
SECONDS=$1
163-
if test "x$SECONDS" = "x" ; then
164-
SECONDS=1
164+
seconds=$1
165+
if test "$seconds" = "" ; then
166+
seconds=1
165167
fi
166168

167-
echo -n "waiting for $SECONDS seconds."
169+
printf 'waiting for %s seconds.' "$seconds"
168170

169-
for COUNT in $(seq 1 $SECONDS) ; do
171+
for COUNT in $(seq 1 "$seconds") ; do
170172
sleep 1
171-
echo -n "."
173+
printf ' %s ' "$COUNT"
172174
done
173-
echo " done"
175+
echo ' done'
174176
}
175177

176178
run_basic_webclient_request() {
177-
$WEBCLIENT_BIN $1 $2 > $WEBCLIENT_LOG 2>&1
179+
"$WEBCLIENT_BIN" "$1" "$2" > "$WEBCLIENT_LOG" 2>&1
178180
WEBCLIENT_EXIT_CODE=$?
179-
if test "x$WEBCLIENT_EXIT_CODE" = "x0" ; then
181+
if test "$WEBCLIENT_EXIT_CODE" = "0" ; then
180182
echo " ok"
181183
else
182-
echo "ERROR ($WEBCLIENT_EXIT_CODE)"
184+
echo "ERROR: $WEBCLIENT_EXIT_CODE"
183185
echo "webclient output:"
184-
cat $WEBCLIENT_LOG
186+
cat "$WEBCLIENT_LOG"
185187
echo "######################################"
186188
fi
187189

@@ -192,15 +194,15 @@ run_failure_webclient_request() {
192194
ec=$1
193195
expected_error=$(($1 - 399))
194196
shift
195-
$WEBCLIENT_BIN "$1" "$2" "$3" "$4" > $WEBCLIENT_LOG 2>&1
197+
"$WEBCLIENT_BIN" "$1" "$2" "$3" "$4" > "$WEBCLIENT_LOG" 2>&1
196198
WEBCLIENT_EXIT_CODE=$?
197-
if test "x$WEBCLIENT_EXIT_CODE" = "x$expected_error" ; then
199+
if test "$WEBCLIENT_EXIT_CODE" = "$expected_error" ; then
198200
echo " ok, got expected error code $ec"
199201
return 0
200202
else
201-
echo "ERROR ($WEBCLIENT_EXIT_CODE)"
203+
echo "ERROR: $WEBCLIENT_EXIT_CODE"
202204
echo "webclient output:"
203-
cat $WEBCLIENT_LOG
205+
cat "$WEBCLIENT_LOG"
204206
echo "######################################"
205207
fi
206208

@@ -221,35 +223,35 @@ wait_for_some_seconds 1
221223
FAILED=0
222224

223225
basic_test() {
224-
echo -n "checking direct connection to web server..."
226+
printf "checking direct connection to web server..."
225227
run_basic_webclient_request "$WEBSERVER_IP:$WEBSERVER_PORT" /
226-
test "x$?" = "x0" || FAILED=$((FAILED + 1))
228+
test "$?" = "0" || FAILED=$((FAILED + 1))
227229

228-
echo -n "testing connection through tinyproxy..."
230+
printf "testing connection through tinyproxy..."
229231
run_basic_webclient_request "$TINYPROXY_IP:$TINYPROXY_PORT" "http://$WEBSERVER_IP:$WEBSERVER_PORT/"
230-
test "x$?" = "x0" || FAILED=$((FAILED + 1))
232+
test "$?" = "0" || FAILED=$((FAILED + 1))
231233

232-
echo -n "requesting statspage via stathost url..."
234+
printf "requesting statspage via stathost url..."
233235
run_basic_webclient_request "$TINYPROXY_IP:$TINYPROXY_PORT" "http://$TINYPROXY_STATHOST_IP"
234-
test "x$?" = "x0" || FAILED=$((FAILED + 1))
236+
test "$?" = "0" || FAILED=$((FAILED + 1))
235237
}
236238

237239
ext_test() {
238-
echo -n "checking bogus request..."
240+
printf "checking bogus request..."
239241
run_failure_webclient_request 400 --method="BIG FART" "$TINYPROXY_IP:$TINYPROXY_PORT" "http://$WEBSERVER_IP:$WEBSERVER_PORT"
240-
test "x$?" = "x0" || FAILED=$((FAILED + 1))
242+
test "$?" = "0" || FAILED=$((FAILED + 1))
241243

242-
echo -n "testing connection to filtered domain..."
244+
printf "testing connection to filtered domain..."
243245
run_failure_webclient_request 403 "$TINYPROXY_IP:$TINYPROXY_PORT" "http://badgoy.google-analytics.com/"
244-
test "x$?" = "x0" || FAILED=$((FAILED + 1))
246+
test "$?" = "0" || FAILED=$((FAILED + 1))
245247

246-
echo -n "requesting connect method to denied port..."
248+
printf "requesting connect method to denied port..."
247249
run_failure_webclient_request 403 --method=CONNECT "$TINYPROXY_IP:$TINYPROXY_PORT" "localhost:12345"
248-
test "x$?" = "x0" || FAILED=$((FAILED + 1))
250+
test "$?" = "0" || FAILED=$((FAILED + 1))
249251

250-
echo -n "testing unavailable backend..."
252+
printf "testing unavailable backend..."
251253
run_failure_webclient_request 502 "$TINYPROXY_IP:$TINYPROXY_PORT" "http://bogus.invalid"
252-
test "x$?" = "x0" || FAILED=$((FAILED + 1))
254+
test "$?" = "0" || FAILED=$((FAILED + 1))
253255
}
254256

255257
basic_test
@@ -259,10 +261,11 @@ ext_test
259261

260262
echo "$FAILED errors"
261263

262-
if test "x$TINYPROXY_TESTS_WAIT" = "xyes"; then
264+
if test "$TINYPROXY_TESTS_WAIT" = "yes"; then
263265
echo "You can continue using the webserver and tinyproxy."
264-
echo -n "hit <enter> to stop the servers and exit: "
265-
read READ
266+
rintf "hit <enter> to stop the servers and exit: "
267+
read -r READ
268+
echo "$READ" > /dev/null
266269
fi
267270

268271
stop_tinyproxy

0 commit comments

Comments
 (0)