From: "Alex Bennée" <alex.bennee@linaro.org>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: qemu-devel@nongnu.org, "Thomas Huth" <thuth@redhat.com>,
"Ani Sinha" <anisinha@redhat.com>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: Re: [PATCH v2 00/18] test/functional: improve functional test debugging & fix tuxrun
Date: Thu, 21 Nov 2024 16:41:20 +0000 [thread overview]
Message-ID: <87v7wgletr.fsf@draig.linaro.org> (raw)
In-Reply-To: <20241121154218.1423005-1-berrange@redhat.com> ("Daniel P. Berrangé"'s message of "Thu, 21 Nov 2024 15:42:00 +0000")
Daniel P. Berrangé <berrange@redhat.com> writes:
> This started out as a series to get rid of the many GBs of temp
> files the functional tests leave behind. Then it expanded into
> improving the functional test debugging by ensuring we preserve
> the QEMU stdout/stderr log file created by the QEMUMachine class.
> In the course of doing that I encountered some other minor points
> worth fixing, and then got side tracked into looking at the tuxrun
> hangs with aarch64be. Investigating the latter exposed some further
> holes in the debugging story prompting yet more patches, as well as
> a final solution for tuxrun. So this series does:
>
> * Purge all scratch files created by tests
> * Preserve the stdout/stderr log file
> * Capture debug log messages on QEMUMachine
> * Provide a QMP backdoor for debugging stuck QEMUs
> * Enhance console handling for partial line matches
> * Fix the tuxrun tests by eliminating sleeps
>
> There's quite alot of code here, but at the same time it feels like
> the kind of stuff that'll be valuable either in the 9.2 release, or
> in the soon to exist 9.2 stable branch.
>
> NB, with this series applied Thomas' tuxrun conversion to functional
> testing survives 200 iterations on my machine, whereas it would
> reliably hang in < 20, and often in < 10, before.
Queued to testing/next, thanks.
I'll combine with plugins/next and some other misc fixes and post a
pre-PR for next week.
>
> Changed in v2:
>
> - Changed console interaction to forbid 'failure_message'
> without 'success_message'
> - Reword console interaction log messages
> - Avoid stack trace when seeing early failure
> - Rewrote comment in acpi bits test
> - Avoid duplicate os.environ access
>
> Daniel P. Berrangé (18):
> tests/functional: fix mips64el test to honour workdir
> tests/functional: automatically clean up scratch files after tests
> tests/functional: remove "AVOCADO" from env variable name
> tests/functional: remove todo wrt avocado.utils.wait_for
> tests/functional: remove leftover :avocado: tags
> tests/functional: remove obsolete reference to avocado bug
> tests/functional: remove comments talking about avocado
> tests/functional: honour self.workdir in ACPI bits tests
> tests/functional: put QEMUMachine logs in testcase log directory
> tests/functional: honour requested test VM name in QEMUMachine
> tests/functional: enable debug logging for QEMUMachine
> tests/functional: logs details of console interaction operations
> tests/functional: don't try to wait for the empty string
> tests/functional: require non-NULL success_message for console wait
> tests/functional: rewrite console handling to be bytewise
> tests/functional: remove time.sleep usage from tuxrun tests
> tests/functional: add a QMP backdoor for debugging stalled tests
> tests/functional: avoid accessing log_filename on earlier failures
>
> docs/devel/testing/functional.rst | 16 +++++
> tests/functional/qemu_test/cmd.py | 89 +++++++++++++++++++-----
> tests/functional/qemu_test/testcase.py | 43 +++++++++---
> tests/functional/qemu_test/tuxruntest.py | 17 ++---
> tests/functional/test_acpi_bits.py | 57 +++++----------
> tests/functional/test_arm_bpim2u.py | 20 ------
> tests/functional/test_arm_orangepi.py | 27 -------
> tests/functional/test_m68k_nextcube.py | 3 +-
> tests/functional/test_mips64el_malta.py | 4 +-
> tests/functional/test_virtio_gpu.py | 3 +-
> 10 files changed, 150 insertions(+), 129 deletions(-)
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
prev parent reply other threads:[~2024-11-21 16:41 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-21 15:42 [PATCH v2 00/18] test/functional: improve functional test debugging & fix tuxrun Daniel P. Berrangé
2024-11-21 15:42 ` [PATCH v2 01/18] tests/functional: fix mips64el test to honour workdir Daniel P. Berrangé
2024-11-21 15:42 ` [PATCH v2 02/18] tests/functional: automatically clean up scratch files after tests Daniel P. Berrangé
2024-11-21 15:42 ` [PATCH v2 03/18] tests/functional: remove "AVOCADO" from env variable name Daniel P. Berrangé
2024-11-21 15:42 ` [PATCH v2 04/18] tests/functional: remove todo wrt avocado.utils.wait_for Daniel P. Berrangé
2024-11-21 15:42 ` [PATCH v2 05/18] tests/functional: remove leftover :avocado: tags Daniel P. Berrangé
2024-11-21 15:42 ` [PATCH v2 06/18] tests/functional: remove obsolete reference to avocado bug Daniel P. Berrangé
2024-11-21 15:42 ` [PATCH v2 07/18] tests/functional: remove comments talking about avocado Daniel P. Berrangé
2024-11-21 15:42 ` [PATCH v2 08/18] tests/functional: honour self.workdir in ACPI bits tests Daniel P. Berrangé
2024-11-21 15:42 ` [PATCH v2 09/18] tests/functional: put QEMUMachine logs in testcase log directory Daniel P. Berrangé
2024-11-21 15:42 ` [PATCH v2 10/18] tests/functional: honour requested test VM name in QEMUMachine Daniel P. Berrangé
2024-11-21 15:42 ` [PATCH v2 11/18] tests/functional: enable debug logging for QEMUMachine Daniel P. Berrangé
2024-11-21 19:01 ` Thomas Huth
2024-11-21 15:42 ` [PATCH v2 12/18] tests/functional: logs details of console interaction operations Daniel P. Berrangé
2024-11-21 15:42 ` [PATCH v2 13/18] tests/functional: don't try to wait for the empty string Daniel P. Berrangé
2024-11-21 15:42 ` [PATCH v2 14/18] tests/functional: require non-NULL success_message for console wait Daniel P. Berrangé
2024-11-21 15:42 ` [PATCH v2 15/18] tests/functional: rewrite console handling to be bytewise Daniel P. Berrangé
2024-11-21 15:42 ` [PATCH v2 16/18] tests/functional: remove time.sleep usage from tuxrun tests Daniel P. Berrangé
2024-11-21 15:42 ` [PATCH v2 17/18] tests/functional: add a QMP backdoor for debugging stalled tests Daniel P. Berrangé
2024-11-21 15:42 ` [PATCH v2 18/18] tests/functional: avoid accessing log_filename on earlier failures Daniel P. Berrangé
2024-11-21 16:41 ` Alex Bennée [this message]
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=87v7wgletr.fsf@draig.linaro.org \
--to=alex.bennee@linaro.org \
--cc=anisinha@redhat.com \
--cc=berrange@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.