[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] tests/qtest/boot-sector: Check that the guest did not panic
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH] tests/qtest/boot-sector: Check that the guest did not panic |
Date: |
Fri, 12 Feb 2021 14:18:06 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 |
On 2/12/21 12:31 PM, Thomas Huth wrote:
> 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>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> tests/qtest/boot-sector.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> 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");
Interesting idea. Does it make sense to have a similar (optional?) check
done in QEMUMachine? This could benefit integration tests, quicker exit
on failure.
> + qobject_unref(qrsp);
> +
> g_usleep(TEST_DELAY);
> }
>
>