aboutsummaryrefslogtreecommitdiff
path: root/tests/qtest/boot-sector.c
diff options
context:
space:
mode:
authorThomas Huth <thuth@redhat.com>2021-02-12 12:31:41 +0100
committerThomas Huth <thuth@redhat.com>2021-02-19 06:29:05 +0100
commit45d10d724b421c9a96720cc870de9533206ccdc9 (patch)
tree5c722e5a623058d75fb97356ff5d3b87a42f24da /tests/qtest/boot-sector.c
parent3473f6ed88169e755123396447a5c119e74814c3 (diff)
tests/qtest/boot-sector: Check that the guest did not panic
The s390-ccw bios code panics if it can not boot successfully. In this case, it does not make sense that we wait the full 600 seconds for the boot sector test to finish and can signal the failure immediately, thus let's check the status of the guest with the "query-status" QMP command here, too. Reported-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20210212113141.854871-1-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
Diffstat (limited to 'tests/qtest/boot-sector.c')
-rw-r--r--tests/qtest/boot-sector.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/qtest/boot-sector.c b/tests/qtest/boot-sector.c
index 24df5c4734..ea8f264661 100644
--- a/tests/qtest/boot-sector.c
+++ b/tests/qtest/boot-sector.c
@@ -138,6 +138,7 @@ void boot_sector_test(QTestState *qts)
uint8_t signature_low;
uint8_t signature_high;
uint16_t signature;
+ QDict *qrsp, *qret;
int i;
/* Wait at most 600 seconds (test is slow with TCI and --enable-debug) */
@@ -155,6 +156,14 @@ void boot_sector_test(QTestState *qts)
if (signature == SIGNATURE) {
break;
}
+
+ /* check that guest is still in "running" state and did not panic */
+ qrsp = qtest_qmp(qts, "{ 'execute': 'query-status' }");
+ qret = qdict_get_qdict(qrsp, "return");
+ g_assert_nonnull(qret);
+ g_assert_cmpstr(qdict_get_try_str(qret, "status"), ==, "running");
+ qobject_unref(qrsp);
+
g_usleep(TEST_DELAY);
}