From 280b89d87c21124922729782c2cb7ff1db046231 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sun, 18 Apr 2021 00:31:35 +0200 Subject: [PATCH] lint: Apply shellcheck suggestions for bash scripts in test/* --- test/create_test_db | 16 ++++++++-------- test/memory-tests.sh | 34 +++++++++++++++++----------------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/test/create_test_db b/test/create_test_db index c27e61785..dfd50a78b 100755 --- a/test/create_test_db +++ b/test/create_test_db @@ -2,7 +2,7 @@ usage() { echo "$0 " - exit -1 + exit 1 } if [ -z "$1" ]; then @@ -20,19 +20,19 @@ if [[ $1 != postgres://* ]]; then usage fi -BASEPATH=$( cd $(dirname $0) ; pwd -P ) +BASEPATH=$( cd "$(dirname "$0")" && pwd -P ) URI="$1" #Extract host and port--we need this to form the new connection string -HOST_PORT=$(echo $URI | cut -d'/' -f3 | cut -d'@' -f2 ) +HOST_PORT=$(echo "$URI" | cut -d'/' -f3 | cut -d'@' -f2 ) DB=$2 # Specify the username of choice, or let the script create a random unique user by appending the database name TEST_USER_NAME=postgrest_test_authenticator # New password will get assigned only if the user does not already exist # Otherwise make sure to provide the correct password for the existing user -TEST_USER_PASS=$(cat /dev/urandom | env LC_CTYPE=C tr -dc 'a-zA-Z0-9' | fold -w 16 | head -n 1) +TEST_USER_PASS=$(< /dev/urandom env LC_CTYPE=C tr -dc 'a-zA-Z0-9' | fold -w 16 | head -n 1) -PGOPTIONS='-c client_min_messages=WARNING' psql "$URI" -Xq >/dev/null -c 'select rolcreatedb from pg_authid where rolname = current_user;' 2>/dev/null -if [ $? -ne 0 ]; then +if ! PGOPTIONS='-c client_min_messages=WARNING' psql "$URI" -Xq >/dev/null -c 'select rolcreatedb from pg_authid where rolname = current_user;' 2>/dev/null; +then echo "ERROR: Please specify the user with 'Create DB' permissions, and ensure that the default database for the username exists." exit 1 fi @@ -60,9 +60,9 @@ ALTER DATABASE $DB SET LC_TIME = 'POSIX'; EOF #Remove database path from the connection uri--prevents setting up the new database name with PGDATABASE -URI=$(echo $URI | cut -d'/' -f1-3) +URI=$(echo "$URI" | cut -d'/' -f1-3) -PGDATABASE=$DB PGOPTIONS='-c client_min_messages=WARNING' psql "$URI" --set=db=$DB -Xq < /dev/null & pgrPID="$!"; } pgrStop(){ kill "$pgrPID" 2>/dev/null; } checkPgrStarted(){ - while pgrStarted && test $(rootStatus) -ne 200 + while pgrStarted && test "$(rootStatus)" -ne 200 do sleep 1 done @@ -39,9 +39,9 @@ rootStatus(){ jsonKeyTest(){ pgrStart checkPgrStarted - factor=$(( 3*$(numfmt --from=si $1)/4 )) # 3/4 on $1 is need to maintain the specified size because of base64 + factor=$(( 3*$(numfmt --from=si "$1")/4 )) # 3/4 on $1 is need to maintain the specified size because of base64 payload="{\"blob\" : \"$(dd if=/dev/zero bs=$factor count=1 status=none | base64)\"}" - httpStatus=$(echo $payload | curl -s -H "Content-Type: application/json" --request $2 -d @- -w '%{http_code}' http://localhost:$pgrPort$3 | tr -d '"') + httpStatus=$(echo "$payload" | curl -s -H "Content-Type: application/json" --request "$2" -d @- -w '%{http_code}' http://localhost:"$pgrPort""$3" | tr -d '"') if test "$httpStatus" -ge 200 && test "$httpStatus" -lt 210 then pgrStop @@ -49,10 +49,10 @@ jsonKeyTest(){ do sleep 1 done - BYTES_FMT=$(cat postgrest.prof | grep -o -P '(?<=alloc =).*(?=bytes)' | tr -d ' ') - BYTES=$(echo $BYTES_FMT | tr -d ',') - MAX_BYTES=$(numfmt --from=si $4) - if test $BYTES -le $MAX_BYTES + BYTES_FMT=$(< postgrest.prof grep -o -P '(?<=alloc =).*(?=bytes)' | tr -d ' ') + BYTES=$(echo "$BYTES_FMT" | tr -d ',') + MAX_BYTES=$(numfmt --from=si "$4") + if test "$BYTES" -le "$MAX_BYTES" then ok "$2 $3: with a json key of $1 the memory usage($BYTES_FMT bytes) is less than $4" else @@ -69,14 +69,14 @@ postJsonArrayTest(){ checkPgrStarted arr=() arr+=('[') - for i in $(seq 1 $(expr $1 - 1)) + for i in $(seq 1 $(("$1" - 1))) do arr+=("{\"id\": $i, \"body\": \"xxxxxxx\"},") done arr+=("{\"id\": $1, \"body\": \"xxxxxxx\"}") arr+=(']') - payload=$(echo ${arr[*]}) - httpStatus=$(echo $payload | curl -s -H "Content-Type: application/json" -d @- -w '%{http_code}' http://localhost:$pgrPort$2 | tr -d '"') + payload="${arr[*]}" + httpStatus=$(echo "$payload" | curl -s -H "Content-Type: application/json" -d @- -w '%{http_code}' http://localhost:"$pgrPort""$2" | tr -d '"') if test "$httpStatus" -ge 200 && test "$httpStatus" -lt 210 then pgrStop @@ -84,11 +84,11 @@ postJsonArrayTest(){ do sleep 1 done - BYTES_FMT=$(cat postgrest.prof | grep -o -P '(?<=alloc =).*(?=bytes)' | tr -d ' ') - BYTES=$(echo $BYTES_FMT | tr -d ',') - MAX_BYTES=$(numfmt --from=si $3) - PAYLOAD_SIZE=$(echo $payload | wc -c | numfmt --to=si) - if test $BYTES -le $MAX_BYTES + BYTES_FMT=$(< postgrest.prof grep -o -P '(?<=alloc =).*(?=bytes)' | tr -d ' ') + BYTES=$(echo "$BYTES_FMT" | tr -d ',') + MAX_BYTES=$(numfmt --from=si "$3") + PAYLOAD_SIZE=$(echo "$payload" | wc -c | numfmt --to=si) + if test "$BYTES" -le "$MAX_BYTES" then ok "POST $2: with a json payload of $PAYLOAD_SIZE that has $1 array values the memory usage($BYTES_FMT bytes) is less than $3" else