Skip to content

Commit b0af0ce

Browse files
committed
Fix/silence shellcheck warnings for contest-api.sh.
1 parent 897073e commit b0af0ce

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

contest-api/check-api.sh

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -64,24 +64,26 @@ verbose()
6464
if [ $# -eq 1 ]; then
6565
echo "$1"
6666
else
67+
# shellcheck disable=SC2059
6768
printf "$@"
6869
fi
6970
fi
7071
}
7172

7273
usage()
7374
{
75+
PROGNAME=$(basename "$0")
7476
cat <<EOF
75-
$(basename $0) - Validate a Contest API implementation with JSON schema.
77+
$PROGNAME - Validate a Contest API implementation with JSON schema.
7678
77-
Usage: $(basename $0) [option]... URL
79+
Usage: $PROGNAME [option]... URL
7880
7981
This program validates a Contest API implementation against the
8082
specification: https://ccs-specs.icpc.io/contest_api
8183
8284
The URL must point to the base of the API, for example:
8385
84-
$(basename $0) -n -c '-knS' -a 'strict=1' https://example.com/api
86+
$PROGNAME -n -c '-knS' -a 'strict=1' https://example.com/api
8587
8688
where the options -knS passed to curl make it ignore SSL certificate
8789
errors, use ~/.netrc for credentials, and be verbose. The option -a
@@ -160,7 +162,7 @@ fi
160162

161163
TMP=$(mktemp -d)
162164

163-
MYDIR=$(dirname $0)
165+
MYDIR=$(dirname "$0")
164166

165167
query_endpoint()
166168
{
@@ -183,6 +185,7 @@ query_endpoint()
183185
fi
184186

185187
set +e
188+
# shellcheck disable=SC2086
186189
HTTPCODE=$(curl $CURLOPTS -w "%{http_code}\n" -o "$OUTPUT" "${URL}${ARGS:+?$ARGS}")
187190
EXITCODE="$?"
188191
set -e
@@ -203,10 +206,10 @@ query_endpoint()
203206
elif [ $EXITCODE -ne 0 ]; then
204207
verbose "Warning: curl returned exitcode $EXITCODE for '$URL'."
205208
return $EXITCODE
206-
elif [ $HTTPCODE -ne 200 ]; then
209+
elif [ "$HTTPCODE" -ne 200 ]; then
207210
[ -n "$OPTIONAL" ] || verbose "Warning: curl returned HTTP status $HTTPCODE for '$URL'."
208211
return 1
209-
elif [ ! -e "$OUTPUT" -o ! -s "$OUTPUT" ]; then
212+
elif [ ! -e "$OUTPUT" ] || [ ! -s "$OUTPUT" ]; then
210213
[ -n "$OPTIONAL" ] || verbose "Warning: no or empty file downloaded by curl."
211214
return 1
212215
fi
@@ -250,7 +253,7 @@ if query_endpoint "$OUTPUT" "$URL" ; then
250253
verbose '%20s: ' "$ENDPOINT"
251254
validate_schema "$OUTPUT" "$SCHEMA"
252255
EXIT=$?
253-
[ $EXIT -ne 0 -a $EXIT -ne 23 ] && exit $EXIT
256+
[ $EXIT -ne 0 ] && [ $EXIT -ne 23 ] && exit $EXIT
254257
CONTESTS=$(jq -r '.[].id' "$OUTPUT")
255258
else
256259
verbose '%20s: Failed to download\n' "$ENDPOINT"
@@ -314,13 +317,14 @@ $ENDPOINT"
314317
validate_schema "$OUTPUT" "$SCHEMA"
315318
EXIT=$?
316319
[ $EXIT -gt $EXITCODE ] && EXITCODE=$EXIT
317-
[ $EXIT -ne 0 -a -n "$DEBUG" ] && cat "$OUTPUT"
320+
[ $EXIT -ne 0 ] && [ -n "$DEBUG" ] && cat "$OUTPUT"
318321
else
319322
verbose '%20s: Failed to download\n' "$ENDPOINT"
320323
fi
321324

322325
if [ -n "$CHECK_CONSISTENCY" ]; then
323-
eval ${EXTRAPROP:-STRICT=1} $MYDIR/check-api-consistency.php "$TMP/$CONTEST" $ENDPOINTS_CHECK_CONSISTENT
326+
# shellcheck disable=SC2086
327+
eval ${EXTRAPROP:-STRICT=1} "$MYDIR"/check-api-consistency.php "$TMP/$CONTEST" $ENDPOINTS_CHECK_CONSISTENT
324328
EXIT=$?
325329
[ $EXIT -gt $EXITCODE ] && EXITCODE=$EXIT
326330
fi
@@ -343,6 +347,6 @@ if [ -n "$CHECK_ERRORS" ]; then
343347
done
344348
fi
345349

346-
[ -n "$DEBUG" ] || rm -rf $TMP
350+
[ -n "$DEBUG" ] || rm -rf "$TMP"
347351

348352
exit $EXITCODE

0 commit comments

Comments
 (0)