mirror of
https://github.com/rvalitov/zabbix-php-fpm.git
synced 2023-11-05 03:30:27 +01:00
[fix] correct output for arguments specified, correct time elapsed asserts
This commit is contained in:
parent
37d980cff0
commit
d4b2ff46a6
40
tests/all.sh
40
tests/all.sh
@ -148,13 +148,17 @@ function StartTimer() {
|
|||||||
|
|
||||||
function printElapsedTime() {
|
function printElapsedTime() {
|
||||||
local END_TIME
|
local END_TIME
|
||||||
local ELAPSED_TIME
|
ELAPSED_TIME
|
||||||
|
|
||||||
END_TIME=$(date +%s%N)
|
END_TIME=$(date +%s%N)
|
||||||
ELAPSED_TIME=$(echo "($END_TIME - $START_TIME)/1000000" | bc)
|
ELAPSED_TIME=$(echo "($END_TIME - $START_TIME)/1000000" | bc)
|
||||||
printYellow "Elapsed time $ELAPSED_TIME ms"
|
printYellow "Elapsed time $ELAPSED_TIME ms"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function assertExecutionTime() {
|
||||||
|
assertTrue "The script worked for too long" "[ $ELAPSED_TIME -lt $MAX_TIME ]"
|
||||||
|
}
|
||||||
|
|
||||||
function getPHPVersion() {
|
function getPHPVersion() {
|
||||||
TEST_STRING=$1
|
TEST_STRING=$1
|
||||||
PHP_VERSION=$(echo "$TEST_STRING" | grep -oP "(\d\.\d)")
|
PHP_VERSION=$(echo "$TEST_STRING" | grep -oP "(\d\.\d)")
|
||||||
@ -607,6 +611,7 @@ testStatusScriptSocket() {
|
|||||||
IS_OK=$(echo "$DATA" | grep -F '{"pool":"')
|
IS_OK=$(echo "$DATA" | grep -F '{"pool":"')
|
||||||
printElapsedTime
|
printElapsedTime
|
||||||
assertNotNull "Failed to get status from pool $TEST_SOCKET: $DATA" "$IS_OK"
|
assertNotNull "Failed to get status from pool $TEST_SOCKET: $DATA" "$IS_OK"
|
||||||
|
assertExecutionTime
|
||||||
printGreen "Success test of $TEST_SOCKET"
|
printGreen "Success test of $TEST_SOCKET"
|
||||||
printSuccess "${FUNCNAME[0]}"
|
printSuccess "${FUNCNAME[0]}"
|
||||||
}
|
}
|
||||||
@ -620,6 +625,7 @@ testStatusScriptPort() {
|
|||||||
IS_OK=$(echo "$DATA" | grep -F '{"pool":"')
|
IS_OK=$(echo "$DATA" | grep -F '{"pool":"')
|
||||||
printElapsedTime
|
printElapsedTime
|
||||||
assertNotNull "Failed to get status from pool $PHP_POOL: $DATA" "$IS_OK"
|
assertNotNull "Failed to get status from pool $PHP_POOL: $DATA" "$IS_OK"
|
||||||
|
assertExecutionTime
|
||||||
printGreen "Success test of $PHP_POOL"
|
printGreen "Success test of $PHP_POOL"
|
||||||
printSuccess "${FUNCNAME[0]}"
|
printSuccess "${FUNCNAME[0]}"
|
||||||
}
|
}
|
||||||
@ -629,6 +635,7 @@ testZabbixStatusSocket() {
|
|||||||
IS_OK=$(echo "$DATA" | grep -F '{"pool":"')
|
IS_OK=$(echo "$DATA" | grep -F '{"pool":"')
|
||||||
printElapsedTime
|
printElapsedTime
|
||||||
assertNotNull "Failed to get status from pool $PHP_POOL: $DATA" "$IS_OK"
|
assertNotNull "Failed to get status from pool $PHP_POOL: $DATA" "$IS_OK"
|
||||||
|
assertExecutionTime
|
||||||
printGreen "Success test of $PHP_POOL"
|
printGreen "Success test of $PHP_POOL"
|
||||||
printSuccess "${FUNCNAME[0]}"
|
printSuccess "${FUNCNAME[0]}"
|
||||||
}
|
}
|
||||||
@ -641,6 +648,7 @@ testZabbixStatusPort() {
|
|||||||
IS_OK=$(echo "$DATA" | grep -F '{"pool":"')
|
IS_OK=$(echo "$DATA" | grep -F '{"pool":"')
|
||||||
printElapsedTime
|
printElapsedTime
|
||||||
assertNotNull "Failed to get status from pool $PHP_POOL: $DATA" "$IS_OK"
|
assertNotNull "Failed to get status from pool $PHP_POOL: $DATA" "$IS_OK"
|
||||||
|
assertExecutionTime
|
||||||
printGreen "Success test of $PHP_POOL"
|
printGreen "Success test of $PHP_POOL"
|
||||||
printSuccess "${FUNCNAME[0]}"
|
printSuccess "${FUNCNAME[0]}"
|
||||||
}
|
}
|
||||||
@ -650,18 +658,39 @@ testDiscoverScriptReturnsData() {
|
|||||||
IS_OK=$(echo "$DATA" | grep -F '{"data":[{"{#POOLNAME}"')
|
IS_OK=$(echo "$DATA" | grep -F '{"data":[{"{#POOLNAME}"')
|
||||||
printElapsedTime
|
printElapsedTime
|
||||||
assertNotNull "Discover script failed: $DATA" "$IS_OK"
|
assertNotNull "Discover script failed: $DATA" "$IS_OK"
|
||||||
|
assertExecutionTime
|
||||||
printSuccess "${FUNCNAME[0]}"
|
printSuccess "${FUNCNAME[0]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
testDiscoverScriptDebug() {
|
testDiscoverScriptDebug() {
|
||||||
|
local DATA
|
||||||
|
local NUMBER_OF_ERRORS
|
||||||
DATA=$(sudo -u zabbix sudo "/etc/zabbix/zabbix_php_fpm_discovery.sh" "debug" "nosleep" "/php-fpm-status")
|
DATA=$(sudo -u zabbix sudo "/etc/zabbix/zabbix_php_fpm_discovery.sh" "debug" "nosleep" "/php-fpm-status")
|
||||||
NUMBER_OF_ERRORS=$(echo "$DATA" | grep -o -F 'Error:' | wc -l)
|
NUMBER_OF_ERRORS=$(echo "$DATA" | grep -o -F 'Error:' | wc -l)
|
||||||
|
|
||||||
|
if [[ $NUMBER_OF_ERRORS -gt 0 ]]; then
|
||||||
|
ERRORS_LIST=$(echo "$DATA" | grep -F 'Error:')
|
||||||
|
printYellow "Errors list:"
|
||||||
|
printYellow "$ERRORS_LIST"
|
||||||
|
travis_fold_start "testDiscoverScriptDebug_full" "ⓘ Full output"
|
||||||
|
echo "$DATA"
|
||||||
|
travis_fold_end
|
||||||
|
fi
|
||||||
|
printElapsedTime
|
||||||
|
assertEquals "Discover script errors mismatch" "0" "$NUMBER_OF_ERRORS"
|
||||||
|
assertExecutionTime
|
||||||
|
printSuccess "${FUNCNAME[0]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
testDiscoverScriptTimeout() {
|
||||||
|
DATA=$(sudo -u zabbix sudo "/etc/zabbix/zabbix_php_fpm_discovery.sh" "debug" "nosleep" "max_tasks" "1" "/php-fpm-status")
|
||||||
|
NUMBER_OF_ERRORS=$(echo "$DATA" | grep -o -F 'Error:' | wc -l)
|
||||||
PHP_COUNT=$(getNumberOfPHPVersions)
|
PHP_COUNT=$(getNumberOfPHPVersions)
|
||||||
if [[ $PHP_COUNT != "$NUMBER_OF_ERRORS" ]]; then
|
if [[ $PHP_COUNT != "$NUMBER_OF_ERRORS" ]]; then
|
||||||
ERRORS_LIST=$(echo "$DATA" | grep -F 'Error:')
|
ERRORS_LIST=$(echo "$DATA" | grep -F 'Error:')
|
||||||
printYellow "Errors list:"
|
printYellow "Errors list:"
|
||||||
printYellow "$ERRORS_LIST"
|
printYellow "$ERRORS_LIST"
|
||||||
travis_fold_start "testDiscoverScriptDebug_full" "ⓘ Full output"
|
travis_fold_start "testDiscoverScriptTimeout_full" "ⓘ Full output"
|
||||||
echo "$DATA"
|
echo "$DATA"
|
||||||
travis_fold_end
|
travis_fold_end
|
||||||
fi
|
fi
|
||||||
@ -675,6 +704,7 @@ testZabbixDiscoverReturnsData() {
|
|||||||
IS_OK=$(echo "$DATA" | grep -F '{"data":[{"{#POOLNAME}"')
|
IS_OK=$(echo "$DATA" | grep -F '{"data":[{"{#POOLNAME}"')
|
||||||
printElapsedTime
|
printElapsedTime
|
||||||
assertNotNull "Discover script failed: $DATA" "$IS_OK"
|
assertNotNull "Discover script failed: $DATA" "$IS_OK"
|
||||||
|
assertExecutionTime
|
||||||
printSuccess "${FUNCNAME[0]}"
|
printSuccess "${FUNCNAME[0]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -694,6 +724,7 @@ testDiscoverScriptSleep() {
|
|||||||
fi
|
fi
|
||||||
assertTrue "No success time checks detected" "[ $CHECK_OK_COUNT -gt 0 ] || [ $STOP_OK_COUNT -eq 1 ]"
|
assertTrue "No success time checks detected" "[ $CHECK_OK_COUNT -gt 0 ] || [ $STOP_OK_COUNT -eq 1 ]"
|
||||||
assertTrue "No success stop checks detected" "[ $STOP_OK_COUNT -gt 0 ]"
|
assertTrue "No success stop checks detected" "[ $STOP_OK_COUNT -gt 0 ]"
|
||||||
|
assertExecutionTime
|
||||||
printSuccess "${FUNCNAME[0]}"
|
printSuccess "${FUNCNAME[0]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -715,7 +746,7 @@ testDiscoverScriptRunDuration() {
|
|||||||
printYellow "Success time checks: $CHECK_OK_COUNT"
|
printYellow "Success time checks: $CHECK_OK_COUNT"
|
||||||
printYellow "Stop time checks: $STOP_OK_COUNT"
|
printYellow "Stop time checks: $STOP_OK_COUNT"
|
||||||
|
|
||||||
assertTrue "The script worked for too long" "[ $ELAPSED_TIME -lt $MAX_TIME ]"
|
assertExecutionTime
|
||||||
printSuccess "${FUNCNAME[0]}"
|
printSuccess "${FUNCNAME[0]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -727,8 +758,7 @@ testZabbixDiscoverRunDuration() {
|
|||||||
MAX_TIME=$(echo "$ZABBIX_TIMEOUT * 1000" | bc)
|
MAX_TIME=$(echo "$ZABBIX_TIMEOUT * 1000" | bc)
|
||||||
|
|
||||||
printElapsedTime
|
printElapsedTime
|
||||||
|
assertExecutionTime
|
||||||
assertTrue "The script worked for too long" "[ $ELAPSED_TIME -lt $MAX_TIME ]"
|
|
||||||
printSuccess "${FUNCNAME[0]}"
|
printSuccess "${FUNCNAME[0]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -691,10 +691,13 @@ while [ $ARG_ID -le $ARGS_COUNT ]; do
|
|||||||
ARG=$1
|
ARG=$1
|
||||||
if [[ $ARG == "debug" ]]; then
|
if [[ $ARG == "debug" ]]; then
|
||||||
DEBUG_MODE="1"
|
DEBUG_MODE="1"
|
||||||
echo "Debug mode enabled"
|
PrintDebug "Debug mode enabled"
|
||||||
|
if [[ $ARG_ID -ne 1 ]]; then
|
||||||
|
PrintDebug "Error: argument 'debug' if used must be the first argument"
|
||||||
|
fi
|
||||||
elif [[ $ARG == "sleep" ]]; then
|
elif [[ $ARG == "sleep" ]]; then
|
||||||
USE_SLEEP_TIMEOUT="1"
|
USE_SLEEP_TIMEOUT="1"
|
||||||
echo "Debug: Sleep timeout enabled"
|
PrintDebug "Debug: Sleep timeout enabled"
|
||||||
elif [[ $ARG == "max_tasks" ]]; then
|
elif [[ $ARG == "max_tasks" ]]; then
|
||||||
ARG_ID=$((ARG_ID + 1))
|
ARG_ID=$((ARG_ID + 1))
|
||||||
shift 1
|
shift 1
|
||||||
@ -702,7 +705,7 @@ while [ $ARG_ID -le $ARGS_COUNT ]; do
|
|||||||
if [[ $ARG -ge 1 ]]; then
|
if [[ $ARG -ge 1 ]]; then
|
||||||
MAX_PARALLEL_TASKS=$1
|
MAX_PARALLEL_TASKS=$1
|
||||||
fi
|
fi
|
||||||
echo "Debug: argument 'max_tasks' = '$ARG' detected, the resulting parameter is set to $MAX_PARALLEL_TASKS"
|
PrintDebug "Debug: argument 'max_tasks' = '$ARG' detected, the resulting parameter is set to $MAX_PARALLEL_TASKS"
|
||||||
elif [[ $ARG == "max_time" ]]; then
|
elif [[ $ARG == "max_time" ]]; then
|
||||||
ARG_ID=$((ARG_ID + 1))
|
ARG_ID=$((ARG_ID + 1))
|
||||||
shift 1
|
shift 1
|
||||||
@ -710,16 +713,16 @@ while [ $ARG_ID -le $ARGS_COUNT ]; do
|
|||||||
if [[ $ARG -ge 1 ]]; then
|
if [[ $ARG -ge 1 ]]; then
|
||||||
MAX_EXECUTION_TIME=$1
|
MAX_EXECUTION_TIME=$1
|
||||||
fi
|
fi
|
||||||
echo "Debug: argument 'max_time' = '$ARG' detected, the resulting parameter is set to $MAX_EXECUTION_TIME"
|
PrintDebug "Debug: argument 'max_time' = '$ARG' detected, the resulting parameter is set to $MAX_EXECUTION_TIME"
|
||||||
elif [[ $ARG == "nosleep" ]]; then
|
elif [[ $ARG == "nosleep" ]]; then
|
||||||
MAX_EXECUTION_TIME="10000000"
|
MAX_EXECUTION_TIME="10000000"
|
||||||
echo "Debug: Timeout checks disabled"
|
PrintDebug "Debug: Timeout checks disabled"
|
||||||
elif [[ $ARG == "?" ]] || [[ $ARG == "help" ]] || [[ $ARG == "/?" ]]; then
|
elif [[ $ARG == "?" ]] || [[ $ARG == "help" ]] || [[ $ARG == "/?" ]]; then
|
||||||
$S_CAT <<EOF
|
$S_CAT <<EOF
|
||||||
NAME: discovery script for zabbix-php-fpm
|
NAME: discovery script for zabbix-php-fpm
|
||||||
USAGE: $0 [ARGUMENTS...]
|
USAGE: $0 [debug] [ARGUMENTS...]
|
||||||
ARGUMENTS:
|
ARGUMENTS:
|
||||||
debug - to display verbose output on screen
|
debug - to display verbose output on screen, if you use this argument, then put it first
|
||||||
nosleep - to disable timeout checks, used for testing only
|
nosleep - to disable timeout checks, used for testing only
|
||||||
sleep - to enable forced timeouts between operations, used for testing only
|
sleep - to enable forced timeouts between operations, used for testing only
|
||||||
max_tasks <VALUE> - sets maximum number of allowed parallel tasks to VALUE (must be >=1)
|
max_tasks <VALUE> - sets maximum number of allowed parallel tasks to VALUE (must be >=1)
|
||||||
|
Loading…
Reference in New Issue
Block a user