Adapted function test for E release
Issue-ID: NONRTRIC-563
Signed-off-by: BjornMagnussonXA <bjorn.magnusson@est.tech>
Change-Id: If30d21ec87d7d754231d7dcd6811843037cf26d8
diff --git a/test/common/testcase_common.sh b/test/common/testcase_common.sh
index 66cbd96..702fbf8 100755
--- a/test/common/testcase_common.sh
+++ b/test/common/testcase_common.sh
@@ -27,7 +27,7 @@
echo "Args: remote|remote-remove docker|kube --env-file <environment-filename> [release] [auto-clean] [--stop-at-error] "
echo " [--ricsim-prefix <prefix> ] [--use-local-image <app-nam>+] [--use-snapshot-image <app-nam>+]"
echo " [--use-staging-image <app-nam>+] [--use-release-image <app-nam>+] [--image-repo <repo-address]"
- echo " [--repo-policy local|remote] [--cluster-timeout <timeout-in seconds>]"
+ echo " [--repo-policy local|remote] [--cluster-timeout <timeout-in seconds>] [--print-stats]"
}
if [ $# -eq 1 ] && [ "$1" == "help" ]; then
@@ -55,6 +55,8 @@
echo "--image-repo - Url to optional image repo. Only locally built images will be re-tagged and pushed to this repo"
echo "--repo-policy - Policy controlling which images to re-tag and push if param --image-repo is set. Default is 'local'"
echo "--cluster-timeout - Optional timeout for cluster where it takes time to obtain external ip/host-name. Timeout in seconds. "
+ echo "--print-stats - Print current test stats after each test."
+
echo ""
echo "List of app short names supported: "$APP_SHORT_NAMES
exit 0
@@ -194,6 +196,9 @@
RES_CONF_FAIL=0
RES_DEVIATION=0
+#Var to control if current stats shall be printed
+PRINT_CURRENT_STATS=0
+
#File to keep deviation messages
DEVIATION_FILE=".tmp_deviations"
rm $DEVIATION_FILE &> /dev/null
@@ -204,6 +209,7 @@
if [ $? -eq 127 ]; then
echo -e $RED"Function not found, setting script to FAIL"$ERED
((RES_CONF_FAIL++))
+ __print_current_stats
fi
}
trap trap_fnc ERR
@@ -220,10 +226,18 @@
((TEST_SEQUENCE_NR++))
}
+# Function to print current statistics
+__print_current_stats() {
+ if [ $PRINT_CURRENT_STATS -ne 0 ]; then
+ echo " Currrent stats - tests, passes, fails, conf fails, deviations: $RES_TEST, $RES_PASS, $RES_FAIL, $RES_CONF_FAIL, $RES_DEVIATION"
+ fi
+}
+
# General function to log a failed test case
__log_test_fail_general() {
echo -e $RED" FAIL."$1 $ERED
((RES_FAIL++))
+ __print_current_stats
__check_stop_at_error
}
@@ -231,6 +245,7 @@
__log_test_fail_status_code() {
echo -e $RED" FAIL. Exepected status "$1", got "$2 $3 $ERED
((RES_FAIL++))
+ __print_current_stats
__check_stop_at_error
}
@@ -238,6 +253,7 @@
__log_test_fail_body() {
echo -e $RED" FAIL, returned body not correct"$ERED
((RES_FAIL++))
+ __print_current_stats
__check_stop_at_error
}
@@ -245,6 +261,7 @@
__log_test_fail_not_supported() {
echo -e $RED" FAIL, function not supported"$ERED
((RES_FAIL++))
+ __print_current_stats
__check_stop_at_error
}
@@ -255,6 +272,7 @@
fi
((RES_PASS++))
echo -e $GREEN" PASS"$EGREEN
+ __print_current_stats
}
#Counter for configurations
@@ -272,6 +290,7 @@
__log_conf_fail_general() {
echo -e $RED" FAIL."$1 $ERED
((RES_CONF_FAIL++))
+ __print_current_stats
__check_stop_at_error
}
@@ -279,6 +298,7 @@
__log_conf_fail_status_code() {
echo -e $RED" FAIL. Exepected status "$1", got "$2 $3 $ERED
((RES_CONF_FAIL++))
+ __print_current_stats
__check_stop_at_error
}
@@ -286,6 +306,7 @@
__log_conf_fail_body() {
echo -e $RED" FAIL, returned body not correct"$ERED
((RES_CONF_FAIL++))
+ __print_current_stats
__check_stop_at_error
}
@@ -295,6 +316,7 @@
echo $@
fi
echo -e $GREEN" OK"$EGREEN
+ __print_current_stats
}
#Var for measuring execution time
@@ -576,6 +598,14 @@
fi
fi
fi
+ if [ $paramerror -eq 0 ]; then
+ if [ "$1" == "--print-stats" ]; then
+ PRINT_CURRENT_STATS=1
+ echo "Option set - Print stats"
+ shift;
+ foundparm=0
+ fi
+ fi
done
echo ""
@@ -1506,6 +1536,7 @@
((RES_DEVIATION++))
echo -e $BOLD$YELLOW" Test case deviation: ${@:1}"$EYELLOW$EBOLD
echo "Line: ${BASH_LINENO[0]} - ${@:1}" >> $DEVIATION_FILE
+ __print_current_stats
echo ""
}
@@ -2496,6 +2527,7 @@
if [ $duration -gt $6 ]; then
((RES_FAIL++))
echo -e $RED" FAIL${ERED} - ${3} ${4} ${5} not reached in ${6} seconds, result = ${result}"
+ __print_current_stats
__check_stop_at_error
return
fi
@@ -2503,26 +2535,31 @@
((RES_PASS++))
echo -e " Result=${result} after ${duration} seconds${SAMELINE}"
echo -e $GREEN" PASS${EGREEN} - Result=${result} after ${duration} seconds"
+ __print_current_stats
return
elif [ $4 = ">" ] && [ "$result" -gt $5 ]; then
((RES_PASS++))
echo -e " Result=${result} after ${duration} seconds${SAMELINE}"
echo -e $GREEN" PASS${EGREEN} - Result=${result} after ${duration} seconds"
+ __print_current_stats
return
elif [ $4 = "<" ] && [ "$result" -lt $5 ]; then
((RES_PASS++))
echo -e " Result=${result} after ${duration} seconds${SAMELINE}"
echo -e $GREEN" PASS${EGREEN} - Result=${result} after ${duration} seconds"
+ __print_current_stats
return
elif [ $4 = "contain_str" ] && [[ $result =~ $5 ]]; then
((RES_PASS++))
echo -e " Result=${result} after ${duration} seconds${SAMELINE}"
echo -e $GREEN" PASS${EGREEN} - Result=${result} after ${duration} seconds"
+ __print_current_stats
return
else
if [ $duration -gt $6 ]; then
((RES_FAIL++))
echo -e $RED" FAIL${ERED} - ${3} ${4} ${5} not reached in ${6} seconds, result = ${result}"
+ __print_current_stats
__check_stop_at_error
return
fi
@@ -2551,22 +2588,28 @@
if [ $retcode -ne 0 ]; then
((RES_FAIL++))
echo -e $RED" FAIL ${ERED}- ${3} ${4} ${5} not reached, result = ${result}"
+ __print_current_stats
__check_stop_at_error
elif [ $4 = "=" ] && [ "$result" -eq $5 ]; then
((RES_PASS++))
echo -e $GREEN" PASS${EGREEN} - Result=${result}"
+ __print_current_stats
elif [ $4 = ">" ] && [ "$result" -gt $5 ]; then
((RES_PASS++))
echo -e $GREEN" PASS${EGREEN} - Result=${result}"
+ __print_current_stats
elif [ $4 = "<" ] && [ "$result" -lt $5 ]; then
((RES_PASS++))
echo -e $GREEN" PASS${EGREEN} - Result=${result}"
+ __print_current_stats
elif [ $4 = "contain_str" ] && [[ $result =~ $5 ]]; then
((RES_PASS++))
echo -e $GREEN" PASS${EGREEN} - Result=${result}"
+ __print_current_stats
else
((RES_FAIL++))
echo -e $RED" FAIL${ERED} - ${3} ${4} ${5} not reached, result = ${result}"
+ __print_current_stats
__check_stop_at_error
fi
else