#!/bin/bash apk add jq apk add bc mkdir $STRESS_TEST_RESULT_FOLDER ESCAPED_PASSWORD=$(sed -e 's/[&\\/]/\\&/g; s/$/\\/' -e '$s/\\$//' <<<"$STRESS_TEST_PASSWORD") ESCAPED_PASSWORD=$(sed -e 's/\&/\&/g' <<<"$ESCAPED_PASSWORD") sed -i "s/STRESS_TEST_PASSWORD/$ESCAPED_PASSWORD/g" $STRESS_TEST_RECIPE_FILE sed -i "s/STRESS_TEST_ERROR_LOG_FILE/$STRESS_TEST_ERROR_LOG_FILE/g" $STRESS_TEST_RECIPE_FILE ESCAPED_PATH=$(sed -e 's/[&\\/]/\\&/g; s/$/\\/' -e '$s/\\$//' <<<"$STRESS_TEST_USERNAMES_FILE") sed -i "s/STRESS_TEST_USERNAMES_FILE/$ESCAPED_PATH/g" $STRESS_TEST_RECIPE_FILE jmeter -n -t $STRESS_TEST_RECIPE_FILE -l $STRESS_TEST_RESULT_LOG_FILE -e -o ./$STRESS_TEST_RESULT_FOLDER exitStatus=0 while read -r stepKey do while read -r configProp do configValue=$(jq ".$stepKey.$configProp" $STRESS_TEST_CONFIG_FILE) resultValue=$(jq ".$stepKey.$configProp" ./$STRESS_TEST_RESULT_FOLDER/statistics.json) if (( $(echo "$configValue < $resultValue" | bc -l) )) then exitStatus=1 echo "Error: $stepKey $configProp: Config value (expected - $configValue) is LESS than actual ($resultValue)" fi done <<<$(jq ".$stepKey | keys[]" $STRESS_TEST_CONFIG_FILE) done <<<$(jq '. | keys[]' $STRESS_TEST_CONFIG_FILE) exit $exitStatus