From: "Alex Bennée" <alex.bennee@linaro.org>
To: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
Cc: qemu-devel@nongnu.org, "Peter Xu" <peterx@redhat.com>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Thomas Huth" <th.huth+qemu@posteo.eu>,
"Song Gao" <gaosong@loongson.cn>, "John Snow" <jsnow@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Kyle Evans" <kevans@freebsd.org>,
"Pierrick Bouvier" <pierrick.bouvier@linaro.org>,
"Cleber Rosa" <crosa@redhat.com>, "Warner Losh" <imp@bsdimp.com>,
"Brad Smith" <brad@comstyle.com>,
"Thomas Huth" <thuth@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Max Filippov" <jcmvbkbc@gmail.com>,
"Brian Cain" <brian.cain@oss.qualcomm.com>,
"Fabiano Rosas" <farosas@suse.de>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Richard Henderson" <richard.henderson@linaro.org>,
qemu-arm@nongnu.org
Subject: Re: [PATCH v2 03/16] tests/Makefile.include: add binary dependency to run-tcg-tests-% rules
Date: Thu, 28 May 2026 11:13:30 +0100 [thread overview]
Message-ID: <87o6hzx2np.fsf@draig.linaro.org> (raw)
In-Reply-To: <86385e93-5425-4145-8a9f-0f72ed5de022@oss.qualcomm.com> (Pierrick Bouvier's message of "Wed, 27 May 2026 13:55:20 -0700")
Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> writes:
> On 5/26/2026 11:17 PM, Alex Bennée wrote:
>> Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> writes:
>>
<snip>
>>
>> What do you mean? I run check-tcg all the time.
>>
>> Which containers fail to build for you? The main cross-compiler one
>> (debian-all-test-cross) is built all the time.
>>
>
> Build is working out of the box now.
> However, it seems that only tests for aarch64, arm and x86_64 are run
> when using containers without having installed cross compilers.
> Maybe it's another carefully handcrafted feature of tcg Makefiles?
Works for me over here. Do you have podman or docker installed?
It's true the Makefile has to jump through some hoops to compute
TCG_TESTS_TARGETS from TCG_TESTS_WITH_COMPILERS (config-host.mak) and
CONFIGURED_TCG_TARGETS (via $(wildcard *-config-target.h)). Is that
where it fails?
As I've said before I'm not wedded to Makefiles, in fact I would look
forward to a world when I can run an individual test directly from
meson. However I'm not prepared to throw away functionality, especially
the ability of new developers/testers to build the tests without having
to install cross-compilers. That would take us back to the *before
times* when TCG tests where hardly ever run and tended to bitrot.
>>> But well, if the cross-container thing is *really* a blocker, we can
>>> just wrap build and run in a script per cross compiler, that does
>>> docker/podman build && docker/podman run and call that.
>>
>> We still have the remnants of that in the docker.py script although for
>> most containers we moved to invoking docker (or podman) directly.
>>
>
> Maybe that's why I encountered issues in the past, and now it works out
> of the box.
The original script attempted to deal with caching layers and the
consequences of custom USER/UID on local machines. Nowadays it is mostly
used as a basic wrapper around "probe" for the runtime and is still used
by the binfmt_misc and toolchain wrappers.
For porting to meson it might be worth just having a minimal wrapper
just for building rather than mess with it.
>> Also bear in mind the containers are also used to cross build QEMU
>> itself.
>>
>>>
>>> Now we solved the problem with system tests, and cross compilers, is
>>> there another thing that is absolutely needed from Makefiles?
>>>
>>>>> If it's not the case, then we should definitely move into the direction
>>>>> of migrating all this to meson, and rely on meson tests infrastructure.
>>>>>
>
> To add on top of this, I would be happy to help with the transition, but
> I want to make sure you'll accept it first, with a list of
> requirements.
For check-tcg the requirements are simple:
- support building tests with containers
- handle all existing tests
- per-arch *-user and *-softmmu
- including post test validation checks (conditional-diff-out, validate-memory-counts.py, etc...)
- per-target overrides (some targets are broken for some tests)
- custom QEMU_OPTS for some tests
- including sub-arch tests (e.g. x86_64 includes i386, mips64el includes mips64 etc...)
- multiarch tests for all *-user targets
- multiarch tests for all *-softmmu targets with boot.S
- gdbstub tests
- don't forget gdb feature probing for arch and arch features (e.g. GDB_HAS_SME_TILES)
- record/replay tests
- tcg plugin tests
- modulate plugins over tests to avoid combinatorial explosion
- filter some plugins from general testing (e.g. patch)
- filter some plugins based on mode (e.g. syscall)
- specific plugins with specific tests (e.g. patch, memory)
- support build variations
- compiler feature probing to gate tests
- custom cflags for some tests
- alternate cflag builds for some tests (e.g. sha512-[vector|sse|mvx|...])
- build scripts (e.g. test-mmx.py)
with meson TCG_TEST_FILTER should be obsolete.
> I'm a bit tired of seeing patches in your subsystems get stuck for
> weeks, without any proper review, to finally be (re)posted again in a
> new series, blocked for more weeks, and finally reach upstream one month
> later or worse. It's truly exhausting for everyone contributing in such
> places.
What can I say - reviews are welcome. I always list what patches are
still waiting for review in the cover letter. I should also add for
testing/next I try to be extra careful that regressions don't slip in
because keeping the testing sub-system stable is important to support
things like bisection.
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
next prev parent reply other threads:[~2026-05-28 10:13 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-21 13:17 [PATCH v2 00/16] testing/next: various updates (MacOS, docker, gitlab) Alex Bennée
2026-05-21 13:17 ` [PATCH v2 01/16] Makefile: include tests/Makefile.include before ninja calculation Alex Bennée
2026-05-22 17:51 ` Pierrick Bouvier
2026-05-21 13:17 ` [PATCH v2 02/16] tests/Makefile.include: fix typo in comment Alex Bennée
2026-05-22 17:51 ` Pierrick Bouvier
2026-05-21 13:17 ` [PATCH v2 03/16] tests/Makefile.include: add binary dependency to run-tcg-tests-% rules Alex Bennée
2026-05-22 18:03 ` Pierrick Bouvier
2026-05-22 19:02 ` Alex Bennée
2026-05-22 19:44 ` Pierrick Bouvier
2026-05-23 8:56 ` Alex Bennée
2026-05-25 15:46 ` Pierrick Bouvier
2026-05-25 17:18 ` Pierrick Bouvier
2026-05-25 18:43 ` Alex Bennée
2026-05-25 19:22 ` Pierrick Bouvier
2026-05-26 10:47 ` Alex Bennée
2026-05-26 17:15 ` Pierrick Bouvier
2026-05-26 17:58 ` Alex Bennée
2026-05-26 18:07 ` Pierrick Bouvier
2026-05-27 6:17 ` Alex Bennée
2026-05-27 20:55 ` Pierrick Bouvier
2026-05-28 10:13 ` Alex Bennée [this message]
2026-05-28 16:41 ` Pierrick Bouvier
2026-05-28 18:03 ` Alex Bennée
2026-05-28 18:43 ` Pierrick Bouvier
2026-05-28 20:04 ` Alex Bennée
2026-05-28 20:19 ` Pierrick Bouvier
2026-06-03 19:03 ` Alex Bennée
2026-06-03 21:03 ` Pierrick Bouvier
2026-05-21 13:17 ` [PATCH v2 04/16] accel/tcg: move jit thread manipulation into do_tb_phys_invalidate Alex Bennée
2026-05-21 13:17 ` [PATCH v2 05/16] ci: drop cirrus MacOS build Alex Bennée
2026-05-22 17:51 ` Pierrick Bouvier
2026-05-21 13:17 ` [PATCH v2 06/16] gitlab: add initial MacOS 15 on gitlab runner Alex Bennée
2026-05-22 17:52 ` Pierrick Bouvier
2026-05-21 13:17 ` [PATCH v2 07/16] gitlab: add MacOS 26 job " Alex Bennée
2026-05-22 17:52 ` Pierrick Bouvier
2026-05-21 13:17 ` [PATCH v2 08/16] gitlab: update issue template for binary test cases Alex Bennée
2026-05-21 13:17 ` [PATCH v2 09/16] MAINTAINERS: add a section for AI agents Alex Bennée
2026-05-21 13:17 ` [PATCH v2 10/16] MAINTAINERS: Fix docker/dockerfiles/debian-hexagon-cross.docker path Alex Bennée
2026-05-21 13:17 ` [PATCH v2 11/16] MAINTAINERS: Cover debian-loongarch-cross.docker with LoongArch section Alex Bennée
2026-05-21 13:17 ` [PATCH v2 12/16] MAINTAINERS: Cover debian-xtensa-cross.docker with Xtensa section Alex Bennée
2026-05-21 13:17 ` [PATCH v2 13/16] MAINTAINERS: Cover debian-tricore-cross.docker with TriCore section Alex Bennée
2026-05-21 13:17 ` [PATCH v2 14/16] MAINTAINERS: Cover python.docker with Python library section Alex Bennée
2026-05-21 13:17 ` [PATCH v2 15/16] docker: Remove LegacyKeyValueFormat warnings in non-generated files Alex Bennée
2026-05-21 13:17 ` [PATCH v2 16/16] docker: Remove LegacyKeyValueFormat warnings in generated files Alex Bennée
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=87o6hzx2np.fsf@draig.linaro.org \
--to=alex.bennee@linaro.org \
--cc=berrange@redhat.com \
--cc=brad@comstyle.com \
--cc=brian.cain@oss.qualcomm.com \
--cc=crosa@redhat.com \
--cc=farosas@suse.de \
--cc=gaosong@loongson.cn \
--cc=imp@bsdimp.com \
--cc=jcmvbkbc@gmail.com \
--cc=jsnow@redhat.com \
--cc=kevans@freebsd.org \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=peterx@redhat.com \
--cc=philmd@linaro.org \
--cc=pierrick.bouvier@linaro.org \
--cc=pierrick.bouvier@oss.qualcomm.com \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=th.huth+qemu@posteo.eu \
--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.