From: Cleber Rosa <crosa@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
"Thomas Huth" <thuth@redhat.com>,
"Beraldo Leal" <bleal@redhat.com>,
"Sriram Yagnaraman" <sriram.yagnaraman@ericsson.com>,
"David Woodhouse" <dwmw2@infradead.org>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Leif Lindholm" <quic_llindhol@quicinc.com>,
"Jiaxun Yang" <jiaxun.yang@flygoat.com>,
kvm@vger.kernel.org, "Alex Bennée" <alex.bennee@linaro.org>,
"Marcin Juszkiewicz" <marcin.juszkiewicz@linaro.org>,
"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
qemu-arm@nongnu.org, "Radoslaw Biernacki" <rad@semihalf.com>,
"Cleber Rosa" <crosa@redhat.com>, "Paul Durrant" <paul@xen.org>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Akihiko Odaki" <akihiko.odaki@daynix.com>
Subject: [PATCH 13/13] Avocado tests: allow for parallel execution of tests
Date: Fri, 26 Jul 2024 09:44:38 -0400 [thread overview]
Message-ID: <20240726134438.14720-14-crosa@redhat.com> (raw)
In-Reply-To: <20240726134438.14720-1-crosa@redhat.com>
The updated Avocado version allows for the execution of tests in
parallel.
While on a CI environment it may not be a good idea to increase the
parallelization level in a single runner, developers may leverage that
on specific CI runners or on their development environments.
This also multiplies the timeout for each test accordingly. The
reason is that more concurrency can lead to less resources, and less
resources can lead to some specific tests taking longer to complete
and then time out. The timeout factor being used here is very
conservative (being equal to the amount of parallel tasks). The worst
this possibly oversized timeout value can do is making users wait a
bit longer for the job to finish if a test hangs.
Overall, users can expect a much quicker turnaround on most systems
with a value such as 8 on a 12 core machine.
Signed-off-by: Cleber Rosa <crosa@redhat.com>
---
docs/devel/testing.rst | 12 ++++++++++++
tests/Makefile.include | 6 +++++-
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/docs/devel/testing.rst b/docs/devel/testing.rst
index 23d3f44f52..5600123743 100644
--- a/docs/devel/testing.rst
+++ b/docs/devel/testing.rst
@@ -983,6 +983,18 @@ of Avocado or ``make check-avocado``, and can also be queried using:
pyvenv/bin/avocado list tests/avocado
+To run tests in parallel, the ``AVOCADO_PARALLEL`` environment
+variable can be defined with a value different than ``1`` (its default
+value). Example:
+
+ .. code::
+
+ make check-avocado AVOCADO_PARALLEL=4
+
+Please exercise care when using parallel execution with the QEMU
+Avocado tests as a higher system load can cause time sensitive tests
+to timeout and be interrupted.
+
Manual Installation
~~~~~~~~~~~~~~~~~~~
diff --git a/tests/Makefile.include b/tests/Makefile.include
index 6618bfed70..545b5155f9 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -94,6 +94,9 @@ TESTS_RESULTS_DIR=$(BUILD_DIR)/tests/results
ifndef AVOCADO_TESTS
AVOCADO_TESTS=tests/avocado
endif
+ifndef AVOCADO_PARALLEL
+ AVOCADO_PARALLEL=1
+endif
# Controls the output generated by Avocado when running tests.
# Any number of command separated loggers are accepted. For more
# information please refer to "avocado --help".
@@ -141,7 +144,8 @@ check-avocado: check-venv $(TESTS_RESULTS_DIR) get-vm-images
--show=$(AVOCADO_SHOW) run --job-results-dir=$(TESTS_RESULTS_DIR) \
$(if $(AVOCADO_TAGS),, --filter-by-tags-include-empty \
--filter-by-tags-include-empty-key) \
- $(AVOCADO_CMDLINE_TAGS) \
+ $(AVOCADO_CMDLINE_TAGS) --max-parallel-tasks=$(AVOCADO_PARALLEL) \
+ -p timeout_factor=$(AVOCADO_PARALLEL) \
$(if $(GITLAB_CI),,--failfast) $(AVOCADO_TESTS), \
"AVOCADO", "tests/avocado")
--
2.45.2
next prev parent reply other threads:[~2024-07-26 13:46 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-26 13:44 [PATCH 00/13] Bump Avocado to 103.0 LTS and update tests for compatibility and new features Cleber Rosa
2024-07-26 13:44 ` [PATCH 01/13] tests/avocado: mips: fallback to HTTP given certificate expiration Cleber Rosa
2024-07-29 11:49 ` Philippe Mathieu-Daudé
2024-07-26 13:44 ` [PATCH 02/13] tests/avocado: mips: add hint for fetchasset plugin Cleber Rosa
2024-07-29 13:31 ` Philippe Mathieu-Daudé
2024-07-26 13:44 ` [PATCH 03/13] tests/avocado/intel_iommu.py: increase timeout Cleber Rosa
2024-07-29 10:30 ` Daniel P. Berrangé
2024-08-01 1:02 ` Cleber Rosa
2024-08-12 7:33 ` Eric Auger
2024-07-26 13:44 ` [PATCH 04/13] tests/avocado: add cdrom permission related tests Cleber Rosa
2024-07-26 13:44 ` [PATCH 05/13] tests/avocado: machine aarch64: standardize location and RO access Cleber Rosa
2024-07-29 10:34 ` Daniel P. Berrangé
2024-07-29 11:54 ` Cleber Rosa
2024-07-26 13:44 ` [PATCH 06/13] tests/avocado: use more distinct names for assets Cleber Rosa
2024-07-29 10:49 ` Daniel P. Berrangé
2024-07-29 11:54 ` Philippe Mathieu-Daudé
2024-08-01 3:20 ` Cleber Rosa
2024-08-01 3:12 ` Cleber Rosa
2024-08-01 16:05 ` Alex Bennée
2024-07-26 13:44 ` [PATCH 07/13] tests/avocado/kvm_xen_guest.py: cope with asset RW requirements Cleber Rosa
2024-07-29 10:58 ` Daniel P. Berrangé
2024-07-29 12:03 ` David Woodhouse
2024-08-01 14:26 ` Alex Bennée
2024-08-01 15:39 ` Cleber Rosa
2024-07-26 13:44 ` [PATCH 08/13] testa/avocado: test_arm_emcraft_sf2: handle RW requirements for asset Cleber Rosa
2024-07-29 10:59 ` Daniel P. Berrangé
2024-07-26 13:44 ` [PATCH 09/13] tests/avocado/boot_xen.py: fetch kernel during test setUp() Cleber Rosa
2024-07-29 11:01 ` Daniel P. Berrangé
2024-08-01 3:24 ` Cleber Rosa
2024-07-26 13:44 ` [PATCH 10/13] tests/avocado/tuxrun_baselines.py: use Avocado's zstd support Cleber Rosa
2024-07-29 11:02 ` Daniel P. Berrangé
2024-07-29 14:39 ` Philippe Mathieu-Daudé
2024-08-01 3:39 ` Cleber Rosa
2024-08-01 12:59 ` Philippe Mathieu-Daudé
2024-08-01 15:18 ` Cleber Rosa
2024-07-26 13:44 ` [PATCH 11/13] tests/avocado/machine_aarch64_sbsaref.py: allow for rw usage of image Cleber Rosa
2024-07-29 11:05 ` Daniel P. Berrangé
2024-07-26 13:44 ` [PATCH 12/13] Bump avocado to 103.0 Cleber Rosa
2024-07-29 11:08 ` Daniel P. Berrangé
2024-07-29 12:02 ` Philippe Mathieu-Daudé
2024-08-01 0:48 ` Cleber Rosa
2024-07-26 13:44 ` Cleber Rosa [this message]
2024-07-28 15:27 ` [PATCH 00/13] Bump Avocado to 103.0 LTS and update tests for compatibility and new features Akihiko Odaki
2024-07-29 14:40 ` Philippe Mathieu-Daudé
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=20240726134438.14720-14-crosa@redhat.com \
--to=crosa@redhat.com \
--cc=akihiko.odaki@daynix.com \
--cc=alex.bennee@linaro.org \
--cc=bleal@redhat.com \
--cc=dwmw2@infradead.org \
--cc=jiaxun.yang@flygoat.com \
--cc=kvm@vger.kernel.org \
--cc=marcin.juszkiewicz@linaro.org \
--cc=paul@xen.org \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=quic_llindhol@quicinc.com \
--cc=rad@semihalf.com \
--cc=sriram.yagnaraman@ericsson.com \
--cc=thuth@redhat.com \
--cc=wainersm@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