mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2025-04-30 02:50:57 +00:00
Retry if a test case fails because of an unexpected resend
Palliative for https://github.com/ARMmbed/mbedtls/issues/3377. If a test case fails due to an unexpected resend, allow retrying, like in the case of a client timeout. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
parent
a28fd41ed1
commit
2d3c9f898b
|
@ -795,14 +795,14 @@ analyze_test_commands() {
|
||||||
# * $TIMES_LEFT: if nonzero, a RETRY outcome is allowed
|
# * $TIMES_LEFT: if nonzero, a RETRY outcome is allowed
|
||||||
#
|
#
|
||||||
# Outputs:
|
# Outputs:
|
||||||
# * $outcome: one of PASS/RETRY/FAIL
|
# * $outcome: one of PASS/RETRY*/FAIL
|
||||||
check_test_failure() {
|
check_test_failure() {
|
||||||
outcome=FAIL
|
outcome=FAIL
|
||||||
|
|
||||||
if [ $TIMES_LEFT -gt 0 ] &&
|
if [ $TIMES_LEFT -gt 0 ] &&
|
||||||
grep '===CLIENT_TIMEOUT===' $CLI_OUT >/dev/null
|
grep '===CLIENT_TIMEOUT===' $CLI_OUT >/dev/null
|
||||||
then
|
then
|
||||||
outcome=RETRY
|
outcome="RETRY(client-timeout)"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -863,14 +863,22 @@ check_test_failure() {
|
||||||
|
|
||||||
"-S")
|
"-S")
|
||||||
if grep -v '^==' $SRV_OUT | grep -v 'Serious error when reading debug info' | grep "$2" >/dev/null; then
|
if grep -v '^==' $SRV_OUT | grep -v 'Serious error when reading debug info' | grep "$2" >/dev/null; then
|
||||||
fail "pattern '$2' MUST NOT be present in the Server output"
|
if [ "$2" = "resend" ] && [ $TIMES_LEFT -gt 0 ]; then
|
||||||
|
outcome="RETRY(resend)"
|
||||||
|
else
|
||||||
|
fail "pattern '$2' MUST NOT be present in the Server output"
|
||||||
|
fi
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"-C")
|
"-C")
|
||||||
if grep -v '^==' $CLI_OUT | grep -v 'Serious error when reading debug info' | grep "$2" >/dev/null; then
|
if grep -v '^==' $CLI_OUT | grep -v 'Serious error when reading debug info' | grep "$2" >/dev/null; then
|
||||||
fail "pattern '$2' MUST NOT be present in the Client output"
|
if [ "$2" = "resend" ] && [ $TIMES_LEFT -gt 0 ]; then
|
||||||
|
outcome="RETRY(resend)"
|
||||||
|
else
|
||||||
|
fail "pattern '$2' MUST NOT be present in the Client output"
|
||||||
|
fi
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
@ -1053,7 +1061,7 @@ run_test() {
|
||||||
check_test_failure "$@"
|
check_test_failure "$@"
|
||||||
case $outcome in
|
case $outcome in
|
||||||
PASS) break;;
|
PASS) break;;
|
||||||
RETRY) printf "RETRY ";;
|
RETRY*) printf "$outcome ";;
|
||||||
FAIL) return;;
|
FAIL) return;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
Loading…
Reference in a new issue