From: Nico Boehr <nrb@linux.ibm.com>
To: kvm@vger.kernel.org
Cc: mhartmay@linux.ibm.com, frankja@linux.ibm.com, thuth@redhat.com,
pbonzini@redhat.com
Subject: [kvm-unit-tests PATCH v3 1/1] runtime: indicate failure on crash/timeout/abort in TAP
Date: Tue, 22 Mar 2022 14:44:07 +0100 [thread overview]
Message-ID: <20220322134407.614587-2-nrb@linux.ibm.com> (raw)
In-Reply-To: <20220322134407.614587-1-nrb@linux.ibm.com>
When we have crashes, timeouts or aborts, there is currently no indication for
this in the TAP output. When all reports() up to this point succeeded, this
might result in a TAP file looking completely fine even though things went
terribly wrong.
For example, when I set the timeout for the diag288 test on s390x to 1 second,
it fails because it takes quite long, which is properly indicated in the
normal output:
$ ./run_tests.sh diag288
FAIL diag288 (timeout; duration=1s)
But, when I enable TAP output, I get this:
$ ./run_tests.sh -t diag288
TAP version 13
ok 1 - diag288: diag288: privileged: Program interrupt: expected(2) == received(2)
ok 2 - diag288: diag288: specification: uneven: Program interrupt: expected(6) == received(6)
ok 3 - diag288: diag288: specification: unsupported action: Program interrupt: expected(6) == received(6)
ok 4 - diag288: diag288: specification: unsupported function: Program interrupt: expected(6) == received(6)
ok 5 - diag288: diag288: specification: no init: Program interrupt: expected(6) == received(6)
ok 6 - diag288: diag288: specification: min timer: Program interrupt: expected(6) == received(6)
1..6
Which looks like a completely fine TAP file, but actually we ran into a timeout
and didn't even run all tests.
With this patch, we get an additional line at the end which properly shows
something went wrong:
not ok 7 - diag288: timeout; duration=1s
Signed-off-by: Nico Boehr <nrb@linux.ibm.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
---
scripts/runtime.bash | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/scripts/runtime.bash b/scripts/runtime.bash
index 6d5fced94246..86405604522d 100644
--- a/scripts/runtime.bash
+++ b/scripts/runtime.bash
@@ -163,8 +163,17 @@ function run()
print_result "SKIP" $testname "$summary"
elif [ $ret -eq 124 ]; then
print_result "FAIL" $testname "" "timeout; duration=$timeout"
+ if [ "$tap_output" = "yes" ]; then
+ echo "not ok TEST_NUMBER - ${testname}: timeout; duration=$timeout" >&3
+ fi
elif [ $ret -gt 127 ]; then
- print_result "FAIL" $testname "" "terminated on SIG$(kill -l $(($ret - 128)))"
+ signame="SIG"$(kill -l $(($ret - 128)))
+ print_result "FAIL" $testname "" "terminated on $signame"
+ if [ "$tap_output" = "yes" ]; then
+ echo "not ok TEST_NUMBER - ${testname}: terminated on $signame" >&3
+ fi
+ elif [ $ret -eq 127 ] && [ "$tap_output" = "yes" ]; then
+ echo "not ok TEST_NUMBER - ${testname}: aborted" >&3
else
print_result "FAIL" $testname "$summary"
fi
--
2.31.1
next prev parent reply other threads:[~2022-03-22 13:44 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-22 13:44 [kvm-unit-tests PATCH v3 0/1] runtime: indicate failure on crash/timeout/abort in TAP Nico Boehr
2022-03-22 13:44 ` Nico Boehr [this message]
2022-03-23 8:20 ` [kvm-unit-tests PATCH v3 1/1] " Thomas Huth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220322134407.614587-2-nrb@linux.ibm.com \
--to=nrb@linux.ibm.com \
--cc=frankja@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=mhartmay@linux.ibm.com \
--cc=pbonzini@redhat.com \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).