* [PATCH v2 00/16] testing/next: functional testing updates for gdb
@ 2026-10-12 17:03 Alex Bennée
2026-10-12 17:03 ` [PATCH v2 01/16] tests/functional: test_acpi_bits requires TCG Alex Bennée
` (15 more replies)
0 siblings, 16 replies; 33+ messages in thread
From: Alex Bennée @ 2026-10-12 17:03 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, Alex Bennée, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
Hi,
This is the current state of my testing/next tree. There a are a few
minor tweaks and fixes that I've picked up. The majority of the new
code adds testing for the gdb stub when used via KVM.
As a result I spoke to Anders who handles the tuxrun images and he was
able to turn on debugging symbols and provide a vmlinux alongside the
bootable image. With these updates I was able to resurrect the old
test script I was running by hand and then plumb it into a functional
test.
So far I've done x86_64, aarch64 and s390x. I can't test ppc because
our CI machines don't support nested KVM. I don't have access to any
riscv kvm capable hardware.
The reason I went on the side-quest is because when working on
cleaning up QEMU's internal KVM api I realised that quite a large
chunk of it is not exercised by our functional tests. This would
ensure that at least:
kvm_arch_update_guest_debug
kvm_arch_get_registers
kvm_arch_set_registers
is exercised and I'm less likely to break things in my re-factor ;-)
v2
- fixed up the sh4 direct call
- dropped the fw tracing test case as tuxrun images cover it all
- added aarch64 and s390x cases
- worked around s390x watchpoint issues
The following still need review:
tests/functional: add tuxrun kvm gdb test for s390x
tests/functional: update s390x tuxrun images
tests/functional: split s390x tuxrun into tcg and kvm run
tests/functional: add tuxrun kvm gdb test for arm64
tests/functional: update arm64 tuxrun images
tests/functional: teach tuxrun about launching gdb tests
tests/functional: allow tuxrun tests to be passed "accel"
Alex.
Alex Bennée (15):
tests/functional: test_acpi_bits requires TCG
meson: move gdb detection into the top level build file
tests/functional: allow tuxrun tests to be passed "accel"
tests/functional: split x86_64 tuxrun into tcg and kvm run
tests/functional: update x86_64 tuxrun images
tests/guest-debug: add --kargs option to run-test
tests/guest-debug: add --symbols option to run-test
tests/functional: teach tuxrun about launching gdb tests
tests/functional: add tuxrun kvm gdb test for x86_64
tests/functional: split aarch64 tuxrun into tcg and kvm run
tests/functional: update arm64 tuxrun images
tests/functional: add tuxrun kvm gdb test for arm64
tests/functional: split s390x tuxrun into tcg and kvm run
tests/functional: update s390x tuxrun images
tests/functional: add tuxrun kvm gdb test for s390x
Max Filippov (1):
tests/tcg: fix buffer overflow in multiarch/linux/linux-sigrtminmax
meson.build | 15 +-
tests/tcg/multiarch/linux/linux-sigrtminmax.c | 2 +-
tests/functional/aarch64/test_tuxrun.py | 35 +++-
.../functional/gdb-scripts/kernel_gdb_test.py | 176 ++++++++++++++++++
tests/functional/meson.build | 5 +-
tests/functional/qemu_test/tuxruntest.py | 103 +++++++++-
tests/functional/s390x/test_tuxrun.py | 33 +++-
tests/functional/sh4/test_tuxrun.py | 2 +-
tests/functional/x86_64/test_acpi_bits.py | 3 +
tests/functional/x86_64/test_tuxrun.py | 45 ++++-
tests/guest-debug/run-test.py | 10 +
tests/tcg/meson.build | 5 -
12 files changed, 391 insertions(+), 43 deletions(-)
create mode 100644 tests/functional/gdb-scripts/kernel_gdb_test.py
--
2.47.3
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH v2 01/16] tests/functional: test_acpi_bits requires TCG
2026-10-12 17:03 [PATCH v2 00/16] testing/next: functional testing updates for gdb Alex Bennée
@ 2026-10-12 17:03 ` Alex Bennée
2026-10-12 17:03 ` [PATCH v2 02/16] tests/tcg: fix buffer overflow in multiarch/linux/linux-sigrtminmax Alex Bennée
` (14 subsequent siblings)
15 siblings, 0 replies; 33+ messages in thread
From: Alex Bennée @ 2026-10-12 17:03 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, Alex Bennée, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich, Thomas Huth
Running a full thorough test suite on a KVM-only build fails due to
acpi bits needing icount, therefor tcg. Declare the restriction so the
test harness can skip it.
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Message-ID: <20260930164649.433573-2-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
v2
- add comment
---
tests/functional/x86_64/test_acpi_bits.py | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tests/functional/x86_64/test_acpi_bits.py b/tests/functional/x86_64/test_acpi_bits.py
index ec716d643bf..d445660f0ed 100755
--- a/tests/functional/x86_64/test_acpi_bits.py
+++ b/tests/functional/x86_64/test_acpi_bits.py
@@ -303,6 +303,9 @@ def test_acpi_smbios_bits(self):
"""The main test case implementation."""
self.set_machine('pc')
+ # see icount comment below
+ self.require_accelerator('tcg')
+
iso_file = self.scratch_file('bits-%d.iso' % self.BITS_INTERNAL_VER)
self.assertTrue(os.access(iso_file, os.R_OK))
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 02/16] tests/tcg: fix buffer overflow in multiarch/linux/linux-sigrtminmax
2026-10-12 17:03 [PATCH v2 00/16] testing/next: functional testing updates for gdb Alex Bennée
2026-10-12 17:03 ` [PATCH v2 01/16] tests/functional: test_acpi_bits requires TCG Alex Bennée
@ 2026-10-12 17:03 ` Alex Bennée
2026-10-12 17:03 ` [PATCH v2 03/16] meson: move gdb detection into the top level build file Alex Bennée
` (13 subsequent siblings)
15 siblings, 0 replies; 33+ messages in thread
From: Alex Bennée @ 2026-10-12 17:03 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, Alex Bennée, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich, Max Filippov
From: Max Filippov <jcmvbkbc@gmail.com>
Fix new_argv allocation size to be `(argc + 2) * sizeof(char *)` bytes,
which matches the way it's used to store `argc + 2` pointers.
This fixes the test for me, which otherwise fails on xtensa with the
following message
linux-sigrtminmax.c: 59: main: Assertion `execve(new_argv[0], new_argv, environ) == 0' failed.'.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Fixes: 6f58b090328 ("tests/tcg: Add SIGRTMIN/SIGRTMAX test")
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-ID: <20260708150541.2137546-1-jcmvbkbc@gmail.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20260930164649.433573-4-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/tcg/multiarch/linux/linux-sigrtminmax.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/tcg/multiarch/linux/linux-sigrtminmax.c b/tests/tcg/multiarch/linux/linux-sigrtminmax.c
index a7059aacd9c..b5ea65f3d39 100644
--- a/tests/tcg/multiarch/linux/linux-sigrtminmax.c
+++ b/tests/tcg/multiarch/linux/linux-sigrtminmax.c
@@ -39,7 +39,7 @@ int main(int argc, char **argv)
assert(qemu);
if (!getenv("QEMU_RTSIG_MAP")) {
- char **new_argv = malloc((argc + 2) + sizeof(char *));
+ char **new_argv = malloc((argc + 2) * sizeof(char *));
int tsig1, hsig1, count1, tsig2, hsig2, count2;
char rt_sigmap[64];
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 03/16] meson: move gdb detection into the top level build file
2026-10-12 17:03 [PATCH v2 00/16] testing/next: functional testing updates for gdb Alex Bennée
2026-10-12 17:03 ` [PATCH v2 01/16] tests/functional: test_acpi_bits requires TCG Alex Bennée
2026-10-12 17:03 ` [PATCH v2 02/16] tests/tcg: fix buffer overflow in multiarch/linux/linux-sigrtminmax Alex Bennée
@ 2026-10-12 17:03 ` Alex Bennée
2026-10-12 17:03 ` [PATCH v2 04/16] tests/functional: allow tuxrun tests to be passed "accel" Alex Bennée
` (12 subsequent siblings)
15 siblings, 0 replies; 33+ messages in thread
From: Alex Bennée @ 2026-10-12 17:03 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, Alex Bennée, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
Currently gdb is only used by TCG based tests but hypervisors want to
use gdbstub too. To be able to test this case we need to always probe
and report the gdb we have.
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20260930164649.433573-5-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
meson.build | 15 +++++++--------
tests/functional/meson.build | 5 ++---
tests/tcg/meson.build | 5 -----
3 files changed, 9 insertions(+), 16 deletions(-)
diff --git a/meson.build b/meson.build
index 48da6cf3e6b..99c836b3ae6 100644
--- a/meson.build
+++ b/meson.build
@@ -163,6 +163,12 @@ else
iasl = find_program(get_option('iasl'), required: true)
endif
+if get_option('gdb') == ''
+ gdb = find_program(['gdb-multiarch', 'gdb'], required: false)
+else
+ gdb = find_program(get_option('gdb'), required: true)
+endif
+
edk2_targets = [ 'arm-softmmu', 'aarch64-softmmu', 'i386-softmmu', 'x86_64-softmmu', 'riscv64-softmmu', 'loongarch64-softmmu' ]
unpack_edk2_blobs = false
foreach target : edk2_targets
@@ -4720,14 +4726,7 @@ summary(summary_info, bool_yn: true, section: 'Directories')
summary_info = {}
summary_info += {'python': '@0@ (version: @1@)'.format(python.full_path(), python.language_version())}
summary_info += {'sphinx-build': sphinx_build}
-
-# FIXME: the [binaries] section of machine files, which can be probed
-# with find_program(), would be great for passing gdb and genisoimage
-# paths from configure to Meson. However, there seems to be no way to
-# hide a program (for example if gdb is too old).
-if config_host.has_key('GDB')
- summary_info += {'gdb': config_host['GDB']}
-endif
+summary_info += {'gdb': gdb}
summary_info += {'iasl': iasl}
summary_info += {'genisoimage': config_host['GENISOIMAGE']}
if host_os == 'windows' and have_ga
diff --git a/tests/functional/meson.build b/tests/functional/meson.build
index c7362dd00ef..68c601d4036 100644
--- a/tests/functional/meson.build
+++ b/tests/functional/meson.build
@@ -83,9 +83,8 @@ foreach speed : ['quick', 'thorough']
separator : ':')
# Define the GDB environment variable if gdb is available.
- gdb = get_option('gdb')
- if gdb != ''
- test_env.set('QEMU_TEST_GDB', gdb)
+ if gdb.found()
+ test_env.set('QEMU_TEST_GDB', gdb.full_path())
endif
foreach test : target_tests
diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build
index 4c0e30756d5..f46216521c2 100644
--- a/tests/tcg/meson.build
+++ b/tests/tcg/meson.build
@@ -1,11 +1,6 @@
env = find_program('env')
docker_wrapper = find_program('../docker/docker.py')
-if get_option('gdb') != ''
- gdb = find_program(get_option('gdb'), required: true)
-else
- gdb = find_program(['gdb-multiarch', 'gdb'], required: false)
-endif
prog_check_plugin_output = find_program('./scripts/check_plugin_output.sh')
prog_gdb_test = find_program('../guest-debug/run-test.py')
prog_record_replay = find_program('./scripts/record_replay.sh')
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 04/16] tests/functional: allow tuxrun tests to be passed "accel"
2026-10-12 17:03 [PATCH v2 00/16] testing/next: functional testing updates for gdb Alex Bennée
` (2 preceding siblings ...)
2026-10-12 17:03 ` [PATCH v2 03/16] meson: move gdb detection into the top level build file Alex Bennée
@ 2026-10-12 17:03 ` Alex Bennée
2026-10-12 21:52 ` marcandre.lureau
2026-10-12 17:03 ` [PATCH v2 05/16] tests/functional: split x86_64 tuxrun into tcg and kvm run Alex Bennée
` (11 subsequent siblings)
15 siblings, 1 reply; 33+ messages in thread
From: Alex Bennée @ 2026-10-12 17:03 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, Alex Bennée, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
For some tests we are about to add we want the flexibility to force
"kvm" so give them that ability.
Message-ID: <20260930164649.433573-7-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
v2
- fix the sh4 direct call to prepare run.
---
tests/functional/qemu_test/tuxruntest.py | 9 +++++++--
tests/functional/sh4/test_tuxrun.py | 2 +-
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/tests/functional/qemu_test/tuxruntest.py b/tests/functional/qemu_test/tuxruntest.py
index 6c442ff0dc4..ca1589fea37 100644
--- a/tests/functional/qemu_test/tuxruntest.py
+++ b/tests/functional/qemu_test/tuxruntest.py
@@ -65,7 +65,7 @@ def fetch_tuxrun_assets(self, kernel_asset, rootfs_asset, dtb_asset=None):
return (kernel_image, disk_image, dtb)
- def prepare_run(self, kernel, disk, drive, dtb=None, console_index=0):
+ def prepare_run(self, accel, kernel, disk, drive, dtb=None, console_index=0):
"""
Setup to run and add the common parameters to the system
"""
@@ -79,6 +79,10 @@ def prepare_run(self, kernel, disk, drive, dtb=None, console_index=0):
self.kcmd_line += f" root=/dev/{self.root}"
self.kcmd_line += f" console={self.console}"
+ # have we specified an accelerator?
+ if accel:
+ self.vm.add_args('-accel', accel)
+
self.vm.add_args('-kernel', kernel,
'-append', self.kcmd_line,
'-blockdev', blockdev)
@@ -118,6 +122,7 @@ def run_tuxtest_tests(self, haltmsg):
def common_tuxrun(self,
kernel_asset,
rootfs_asset,
+ accel=None,
dtb_asset=None,
drive="virtio-blk-device",
haltmsg="reboot: System halted",
@@ -130,7 +135,7 @@ def common_tuxrun(self,
(kernel, disk, dtb) = self.fetch_tuxrun_assets(kernel_asset, rootfs_asset,
dtb_asset)
- self.prepare_run(kernel, disk, drive, dtb, console_index)
+ self.prepare_run(accel, kernel, disk, drive, dtb, console_index)
self.vm.launch()
self.run_tuxtest_tests(haltmsg)
os.remove(disk)
diff --git a/tests/functional/sh4/test_tuxrun.py b/tests/functional/sh4/test_tuxrun.py
index 1748f8c7eff..42b503585b2 100755
--- a/tests/functional/sh4/test_tuxrun.py
+++ b/tests/functional/sh4/test_tuxrun.py
@@ -35,7 +35,7 @@ def test_sh4(self):
self.ASSET_SH4_ROOTFS)
# the console comes on the second serial port
- self.prepare_run(kernel, disk,
+ self.prepare_run(None, kernel, disk,
"driver=ide-hd,bus=ide.0,unit=0",
console_index=1)
self.vm.launch()
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 05/16] tests/functional: split x86_64 tuxrun into tcg and kvm run
2026-10-12 17:03 [PATCH v2 00/16] testing/next: functional testing updates for gdb Alex Bennée
` (3 preceding siblings ...)
2026-10-12 17:03 ` [PATCH v2 04/16] tests/functional: allow tuxrun tests to be passed "accel" Alex Bennée
@ 2026-10-12 17:03 ` Alex Bennée
2026-10-12 17:03 ` [PATCH v2 06/16] tests/functional: update x86_64 tuxrun images Alex Bennée
` (10 subsequent siblings)
15 siblings, 0 replies; 33+ messages in thread
From: Alex Bennée @ 2026-10-12 17:03 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, Alex Bennée, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
Add an explicit "kvm" run to the tuxrun tests. Although running on an
x86_64 host would probably have defaulted to "kvm" anyway we want to
exercise specific features later.
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20260930164649.433573-8-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/functional/x86_64/test_tuxrun.py | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/tests/functional/x86_64/test_tuxrun.py b/tests/functional/x86_64/test_tuxrun.py
index fcbc62b1b0f..729f6447d05 100755
--- a/tests/functional/x86_64/test_tuxrun.py
+++ b/tests/functional/x86_64/test_tuxrun.py
@@ -24,13 +24,28 @@ class TuxRunX86Test(TuxRunBaselineTest):
'4b8b2a99117519c5290e1202cb36eb6c7aaba92b357b5160f5970cf5fb78a751')
def test_x86_64(self):
+ self.require_accelerator("tcg")
+
+ self.set_machine('q35')
+ self.cpu="Nehalem"
+ self.root='sda'
+ self.wait_for_shutdown=False
+ self.common_tuxrun(kernel_asset=self.ASSET_X86_64_KERNEL,
+ rootfs_asset=self.ASSET_X86_64_ROOTFS,
+ drive="driver=ide-hd,bus=ide.0,unit=0",
+ accel="tcg")
+
+ def test_x86_64_kvm(self):
+ self.require_accelerator("kvm")
+
self.set_machine('q35')
self.cpu="Nehalem"
self.root='sda'
self.wait_for_shutdown=False
self.common_tuxrun(kernel_asset=self.ASSET_X86_64_KERNEL,
rootfs_asset=self.ASSET_X86_64_ROOTFS,
- drive="driver=ide-hd,bus=ide.0,unit=0")
+ drive="driver=ide-hd,bus=ide.0,unit=0",
+ accel="kvm")
if __name__ == '__main__':
TuxRunBaselineTest.main()
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 06/16] tests/functional: update x86_64 tuxrun images
2026-10-12 17:03 [PATCH v2 00/16] testing/next: functional testing updates for gdb Alex Bennée
` (4 preceding siblings ...)
2026-10-12 17:03 ` [PATCH v2 05/16] tests/functional: split x86_64 tuxrun into tcg and kvm run Alex Bennée
@ 2026-10-12 17:03 ` Alex Bennée
2026-10-13 8:05 ` Daniel P. Berrangé
2026-10-12 17:03 ` [PATCH v2 07/16] tests/guest-debug: add --kargs option to run-test Alex Bennée
` (9 subsequent siblings)
15 siblings, 1 reply; 33+ messages in thread
From: Alex Bennée @ 2026-10-12 17:03 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, Alex Bennée, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
We now split the fetching of the buildroot image from the kernel
itself. This is because we will want to access additional metadata in
future tests.
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20260930164649.433573-10-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/functional/x86_64/test_tuxrun.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tests/functional/x86_64/test_tuxrun.py b/tests/functional/x86_64/test_tuxrun.py
index 729f6447d05..026b373accb 100755
--- a/tests/functional/x86_64/test_tuxrun.py
+++ b/tests/functional/x86_64/test_tuxrun.py
@@ -17,11 +17,11 @@
class TuxRunX86Test(TuxRunBaselineTest):
ASSET_X86_64_KERNEL = Asset(
- 'https://storage.tuxboot.com/buildroot/20241119/x86_64/bzImage',
- 'f57bfc6553bcd6e0a54aab86095bf642b33b5571d14e3af1731b18c87ed5aef8')
+ 'https://storage.tuxboot.com/kernels/6.18.54/x86_64/bzImage',
+ '24a3ade610c2cc426ff821050de8a35930b0371357d94cc2c334abac6658552b')
ASSET_X86_64_ROOTFS = Asset(
- 'https://storage.tuxboot.com/buildroot/20241119/x86_64/rootfs.ext4.zst',
- '4b8b2a99117519c5290e1202cb36eb6c7aaba92b357b5160f5970cf5fb78a751')
+ 'https://storage.tuxboot.com/buildroot/20260924/x86_64/rootfs.ext4.zst',
+ '8e310455b0244414ccff29c507f7ccfd4032e3587cc405e49ab0322738e3e27c')
def test_x86_64(self):
self.require_accelerator("tcg")
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 07/16] tests/guest-debug: add --kargs option to run-test
2026-10-12 17:03 [PATCH v2 00/16] testing/next: functional testing updates for gdb Alex Bennée
` (5 preceding siblings ...)
2026-10-12 17:03 ` [PATCH v2 06/16] tests/functional: update x86_64 tuxrun images Alex Bennée
@ 2026-10-12 17:03 ` Alex Bennée
2026-10-12 17:03 ` [PATCH v2 08/16] tests/guest-debug: add --symbols " Alex Bennée
` (8 subsequent siblings)
15 siblings, 0 replies; 33+ messages in thread
From: Alex Bennée @ 2026-10-12 17:03 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, Alex Bennée, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
When passing kernel arguments to QEMU with --append we need to take
care that things are properly escaped. It's easier if we get the run
script to do it for us that constructed the nested escaped --qargs.
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20260930164649.433573-11-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/guest-debug/run-test.py | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tests/guest-debug/run-test.py b/tests/guest-debug/run-test.py
index 838c1c26971..4aa24939b7d 100755
--- a/tests/guest-debug/run-test.py
+++ b/tests/guest-debug/run-test.py
@@ -25,6 +25,7 @@ def get_args():
required=True)
parser.add_argument("--qargs", help="Qemu arguments for test")
parser.add_argument("--pargs", help="Program arguments for test")
+ parser.add_argument("--kargs", help="Kernel args to --append")
parser.add_argument("--binary", help="Binary to debug",
required=True)
parser.add_argument("--test", help="GDB test script")
@@ -82,6 +83,8 @@ def log(output, msg):
suspend = ' -S'
cmd = f'{args.qemu} {args.qargs} {args.binary}' \
f'{suspend} -gdb unix:path={socket_name},server=on'
+ if args.kargs:
+ cmd += f" --append '{args.kargs}'"
# There is no guest program command-line in system mode.
assert not args.pargs
else:
@@ -93,6 +96,8 @@ def log(output, msg):
f' {args.binary}'
if args.pargs:
cmd += f' {args.pargs}'
+ # There are no appended args in user-mode
+ assert not args.kargs
log(output, "QEMU CMD: %s" % (cmd))
inferior = subprocess.Popen(shlex.split(cmd))
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 08/16] tests/guest-debug: add --symbols option to run-test
2026-10-12 17:03 [PATCH v2 00/16] testing/next: functional testing updates for gdb Alex Bennée
` (6 preceding siblings ...)
2026-10-12 17:03 ` [PATCH v2 07/16] tests/guest-debug: add --kargs option to run-test Alex Bennée
@ 2026-10-12 17:03 ` Alex Bennée
2026-10-12 17:03 ` [PATCH v2 09/16] tests/functional: teach tuxrun about launching gdb tests Alex Bennée
` (7 subsequent siblings)
15 siblings, 0 replies; 33+ messages in thread
From: Alex Bennée @ 2026-10-12 17:03 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, Alex Bennée, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
Sometimes the debug symbols are not in the kernel binary image but in
a separate elf blob. Provide --symbols to facilitate using them.
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20260930164649.433573-12-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/guest-debug/run-test.py | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tests/guest-debug/run-test.py b/tests/guest-debug/run-test.py
index 4aa24939b7d..0c7cbd137ef 100755
--- a/tests/guest-debug/run-test.py
+++ b/tests/guest-debug/run-test.py
@@ -28,6 +28,7 @@ def get_args():
parser.add_argument("--kargs", help="Kernel args to --append")
parser.add_argument("--binary", help="Binary to debug",
required=True)
+ parser.add_argument("--symbols", help="Symbol file for binary to debug")
parser.add_argument("--test", help="GDB test script")
parser.add_argument('test_args', nargs='*',
help="Additional args for GDB test script. "
@@ -114,6 +115,10 @@ def log(output, msg):
gdb_cmd += " -ex 'set confirm off'"
# connect to remote
gdb_cmd += " -ex 'target remote %s'" % (socket_name)
+
+ if args.symbols:
+ gdb_cmd += " -ex 'symbol-file %s'" % args.symbols
+
# finally the test script itself
if args.test:
if args.test_args:
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 09/16] tests/functional: teach tuxrun about launching gdb tests
2026-10-12 17:03 [PATCH v2 00/16] testing/next: functional testing updates for gdb Alex Bennée
` (7 preceding siblings ...)
2026-10-12 17:03 ` [PATCH v2 08/16] tests/guest-debug: add --symbols " Alex Bennée
@ 2026-10-12 17:03 ` Alex Bennée
2026-10-12 21:52 ` marcandre.lureau
2026-10-12 17:03 ` [PATCH v2 10/16] tests/functional: add tuxrun kvm gdb test for x86_64 Alex Bennée
` (6 subsequent siblings)
15 siblings, 1 reply; 33+ messages in thread
From: Alex Bennée @ 2026-10-12 17:03 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, Alex Bennée, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
This resurrects the hand run test script from d84842be6c5 (tests:
remove test-gdbstub.py) and modernises it to use the shared test
infrastructure for run-test.
We then tweak the common tuxrun code to over an alternative "launch
via gdbstub" helper which reuses the existing code but:
- needs a vmlinux with symbols
- extend qargs with stuff normally added by vm.launch
- passes kargs directly
- runs with the gdb run-test script
- log the run-test output to the console log
Message-ID: <20260930164649.433573-13-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
v2
- add self.vm._machine to qargs
- drop leading spaces in print () calls
- add register read tests
- use gdb.Breakpoint for hwbreak as for swbreak
- drop flaky symbol evaluation, verify hit_count instead
- explicit gdb.BP_BREAKPOINT for CatchBreakpoint
---
.../functional/gdb-scripts/kernel_gdb_test.py | 174 ++++++++++++++++++
tests/functional/qemu_test/tuxruntest.py | 96 +++++++++-
2 files changed, 261 insertions(+), 9 deletions(-)
create mode 100644 tests/functional/gdb-scripts/kernel_gdb_test.py
diff --git a/tests/functional/gdb-scripts/kernel_gdb_test.py b/tests/functional/gdb-scripts/kernel_gdb_test.py
new file mode 100644
index 00000000000..2d62fe01f10
--- /dev/null
+++ b/tests/functional/gdb-scripts/kernel_gdb_test.py
@@ -0,0 +1,174 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+# Generic Kernel GDB script to verify functionality:
+# - Single-stepping
+# - Hardware breakpoints
+# - Software breakpoints
+# - Watchpoints
+#
+# It relies on fairly common kernel points to break at and symbols for
+# the kernel. Address space randomisation (kaslr) needs to be disabled.
+#
+# Copyright (c) 2026 Linaro Limited
+#
+# Author:
+# Alex Bennée <alex.bennee@linaro.org>
+#
+# This is launched by the tuxrun functional tests via tests/guest-debug/run-test.py
+
+import gdb
+from test_gdbstub import main, report
+
+failcount = 0
+
+def parse_registers():
+ """Parse 'info registers' into a name -> value dictionary."""
+ regs = {}
+ for line in gdb.execute("info registers", to_string=True).splitlines():
+ parts = line.split()
+ if len(parts) >= 2:
+ regs[parts[0]] = parts[1]
+ return regs
+
+
+def check_step():
+ "Step an instruction, check it moved."
+ start_pc = gdb.parse_and_eval('$pc')
+ gdb.execute("si")
+ end_pc = gdb.parse_and_eval('$pc')
+
+ return not (start_pc == end_pc)
+
+
+def check_reg_updates(regs_start):
+ regs_end = parse_registers()
+
+ changed = [k for k in regs_start
+ if k in regs_end and regs_start[k] != regs_end[k]]
+
+ report(len(changed) > 0, f"{len(changed)} registers changed.")
+
+
+def check_break(sym_name):
+ "Setup breakpoint, continue and check we stopped."
+ bp = gdb.Breakpoint(sym_name)
+ gdb.execute("c")
+ res = bp.hit_count == 1
+ bp.delete()
+
+ return res
+
+
+# We need to do hbreak manually as the python interface doesn't export it
+def check_hbreak(sym_name):
+ "Setup hardware breakpoint, continue and check we stopped."
+ bp = gdb.Breakpoint(sym_name, type = gdb.BP_HARDWARE_BREAKPOINT)
+ gdb.execute("c")
+ res = bp.hit_count == 1
+ bp.delete()
+
+ return res
+
+
+class WatchPoint(gdb.Breakpoint):
+
+ def get_wpstr(self, sym_name):
+ "Setup sym and wp_str for given symbol."
+ self.sym, ok = gdb.lookup_symbol(sym_name)
+ wp_addr = gdb.parse_and_eval(sym_name).address
+ self.wp_str = '*(%(type)s)(&%(address)s)' % dict(
+ type = wp_addr.type, address = sym_name)
+
+ return(self.wp_str)
+
+ def __init__(self, sym_name, type):
+ wp_str = self.get_wpstr(sym_name)
+ super(WatchPoint, self).__init__(wp_str, gdb.BP_WATCHPOINT, type)
+
+ def stop(self):
+ end_pc = gdb.parse_and_eval('$pc')
+ print("HIT WP @ %s" % (end_pc))
+ return True
+
+
+def do_one_watch(sym, wtype, text):
+
+ wp = WatchPoint(sym, wtype)
+ gdb.execute("c")
+ report_str = "%s for %s (%s)" % (text, sym, wp.sym.value())
+
+ if wp.hit_count > 0:
+ report(True, report_str)
+ wp.delete()
+ else:
+ report(False, report_str)
+
+
+def check_watches(sym_name):
+ "Watch a symbol for any access."
+
+ # Should hit for any read
+ do_one_watch(sym_name, gdb.WP_ACCESS, "awatch")
+
+ # Again should hit for reads
+ do_one_watch(sym_name, gdb.WP_READ, "rwatch")
+
+ # Finally when it is written
+ do_one_watch(sym_name, gdb.WP_WRITE, "watch")
+
+
+class CatchBreakpoint(gdb.Breakpoint):
+ def __init__(self, sym_name):
+ super(CatchBreakpoint, self).__init__(sym_name, type = gdb.BP_BREAKPOINT)
+ self.sym, ok = gdb.lookup_symbol(sym_name)
+
+ def stop(self):
+ end_pc = gdb.parse_and_eval('$pc')
+ print("CB: %s == %s" % (end_pc, self.sym.value()))
+ if end_pc == self.sym.value():
+ report(False, "Hit final catchpoint")
+
+
+def run_test():
+ "Run through the tests one by one"
+
+ # get the initial register state
+ regs_start = parse_registers()
+
+ print("Checking we can step the first few instructions")
+ step_ok = 0
+ for i in range(3):
+ if check_step():
+ step_ok += 1
+
+ report(step_ok == 3, "single step in boot code")
+
+ # check some registers changed
+ print("Checking register access works")
+ check_reg_updates(regs_start)
+
+ print("Checking HW breakpoint works")
+ break_ok = check_hbreak("kernel_init")
+ report(break_ok, "hbreak @ kernel_init")
+
+ # Can't set this up until we are in the kernel proper
+ # if we make it to run_init_process we've over-run and
+ # one of the tests failed
+
+ print("Setup catch-all for run_init_process")
+ cbp = CatchBreakpoint("run_init_process")
+
+ # We should see wait_for_completion called right at the start of
+ # kernel_init
+ print("Checking Normal breakpoint works")
+ break_ok = check_break("wait_for_completion")
+ report(break_ok, "break @ wait_for_completion")
+
+ print("Checking watchpoint works")
+ check_watches("system_state")
+
+ # check we didn't hit the end
+ report(cbp.hit_count == 0, "CatchBreakpoint not hit")
+
+
+main(run_test)
diff --git a/tests/functional/qemu_test/tuxruntest.py b/tests/functional/qemu_test/tuxruntest.py
index ca1589fea37..8e940fd7738 100644
--- a/tests/functional/qemu_test/tuxruntest.py
+++ b/tests/functional/qemu_test/tuxruntest.py
@@ -9,7 +9,9 @@
#
# SPDX-License-Identifier: GPL-2.0-or-later
+import logging
import os
+import subprocess
from qemu_test import QemuSystemTest
from qemu_test import exec_command_and_wait_for_pattern
@@ -18,7 +20,7 @@
class TuxRunBaselineTest(QemuSystemTest):
- KERNEL_COMMON_COMMAND_LINE = 'printk.time=0'
+ KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 nokaslr'
# Tests are ~10-40s, allow for --debug/--enable-gcov overhead
timeout = 100
@@ -55,17 +57,20 @@ def wait_for_console_pattern(self, success_message, vm=None):
failure_message='Kernel panic - not syncing',
vm=vm)
- def fetch_tuxrun_assets(self, kernel_asset, rootfs_asset, dtb_asset=None):
+ def fetch_tuxrun_assets(self, kernel_asset, rootfs_asset,
+ dtb_asset=None, vmlinux_asset=None):
"""
Fetch the TuxBoot assets.
"""
kernel_image = kernel_asset.fetch()
disk_image = self.uncompress(rootfs_asset)
dtb = dtb_asset.fetch() if dtb_asset is not None else None
+ vmlinux = self.uncompress(vmlinux_asset) if vmlinux_asset is not None else None
- return (kernel_image, disk_image, dtb)
+ return (kernel_image, disk_image, dtb, vmlinux)
- def prepare_run(self, accel, kernel, disk, drive, dtb=None, console_index=0):
+ def prepare_run(self, accel, kernel, disk, drive,
+ dtb=None, console_index=0, append = True):
"""
Setup to run and add the common parameters to the system
"""
@@ -83,9 +88,15 @@ def prepare_run(self, accel, kernel, disk, drive, dtb=None, console_index=0):
if accel:
self.vm.add_args('-accel', accel)
- self.vm.add_args('-kernel', kernel,
- '-append', self.kcmd_line,
- '-blockdev', blockdev)
+ if kernel:
+ self.vm.add_args('-kernel', kernel)
+
+ # When using the gdb run script we might not want to include
+ # the kcmd line directly in the QEMU args.
+ if append:
+ self.vm.add_args('-append', self.kcmd_line)
+
+ self.vm.add_args('-blockdev', blockdev)
# Sometimes we need extra devices attached
if self.extradev:
@@ -132,10 +143,77 @@ def common_tuxrun(self,
special with the command line we can process most things using
the tag metadata.
"""
- (kernel, disk, dtb) = self.fetch_tuxrun_assets(kernel_asset, rootfs_asset,
- dtb_asset)
+ (kernel, disk, dtb, _) = self.fetch_tuxrun_assets(kernel_asset,
+ rootfs_asset,
+ dtb_asset)
self.prepare_run(accel, kernel, disk, drive, dtb, console_index)
self.vm.launch()
self.run_tuxtest_tests(haltmsg)
os.remove(disk)
+
+ def common_tuxrun_gdb(self,
+ kernel_asset,
+ vmlinux_asset,
+ rootfs_asset,
+ accel=None,
+ dtb_asset=None,
+ drive="virtio-blk-device",
+ haltmsg="reboot: System halted",
+ console_index=0):
+ """
+ Common path for LKFT tests under gdb. Unlike the common_tuxrun
+ function we need to launch with the gdb test script and deal
+ with munging the arguments for that especially.
+ """
+ (kernel, disk, dtb, vmlinux) = self.fetch_tuxrun_assets(kernel_asset,
+ rootfs_asset,
+ dtb_asset,
+ vmlinux_asset)
+
+ gdb_path = os.getenv("QEMU_TEST_GDB")
+ run_script = self.data_file('..', 'guest-debug','run-test.py')
+ test_script = self.data_file('gdb-scripts', 'kernel_gdb_test.py')
+
+ # Instead of launching QEMU via the functional test machinery
+ # we need to launch it with the gdb run script. We utilise the
+ # existing prepare_run machinery to build the command line but
+ # we pass the kernel args separately to avoid horrible string
+ # escaping.
+
+ self.prepare_run(accel, kernel, disk, drive, dtb,
+ console_index, append = False)
+
+ # the functional test machinery adds more stuff for handling
+ # console redirection which we need to do manually.
+
+ qargs = self.vm.args
+ qargs.extend(["-display", "none", "-serial", "stdio"])
+
+ # and the machine type
+ if self.vm._machine is not None:
+ qargs.extend(["-machine", self.vm._machine])
+
+ cmd = [
+ str(run_script),
+ "--qemu", self.qemu_bin,
+ "--qargs", " ".join(qargs),
+ "--kargs", self.kcmd_line,
+ "--binary", "",
+ "--symbols", str(vmlinux),
+ "--test", str(test_script),
+ "--gdb", gdb_path,
+ ]
+
+ self.log.info(f"run-test: {' '.join(cmd)}")
+
+ res = subprocess.run(cmd, text=True,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT)
+
+ if res.stdout:
+ console_logger = logging.getLogger('console')
+ console_logger.info(res.stdout)
+
+ self.assertEqual(res.returncode, 0,
+ f"run-test.py failed ({res.returncode}):\n")
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 10/16] tests/functional: add tuxrun kvm gdb test for x86_64
2026-10-12 17:03 [PATCH v2 00/16] testing/next: functional testing updates for gdb Alex Bennée
` (8 preceding siblings ...)
2026-10-12 17:03 ` [PATCH v2 09/16] tests/functional: teach tuxrun about launching gdb tests Alex Bennée
@ 2026-10-12 17:03 ` Alex Bennée
2026-10-12 17:03 ` [PATCH v2 11/16] tests/functional: split aarch64 tuxrun into tcg and kvm run Alex Bennée
` (5 subsequent siblings)
15 siblings, 0 replies; 33+ messages in thread
From: Alex Bennée @ 2026-10-12 17:03 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, Alex Bennée, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
With all the bits in place we can now exercise the KVM gdb interfaces.
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20260930164649.433573-14-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/functional/x86_64/test_tuxrun.py | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/tests/functional/x86_64/test_tuxrun.py b/tests/functional/x86_64/test_tuxrun.py
index 026b373accb..1a1138d16ae 100755
--- a/tests/functional/x86_64/test_tuxrun.py
+++ b/tests/functional/x86_64/test_tuxrun.py
@@ -11,7 +11,7 @@
#
# SPDX-License-Identifier: GPL-2.0-or-later
-from qemu_test import Asset
+from qemu_test import Asset, skipIfMissingEnv
from qemu_test.tuxruntest import TuxRunBaselineTest
class TuxRunX86Test(TuxRunBaselineTest):
@@ -19,6 +19,9 @@ class TuxRunX86Test(TuxRunBaselineTest):
ASSET_X86_64_KERNEL = Asset(
'https://storage.tuxboot.com/kernels/6.18.54/x86_64/bzImage',
'24a3ade610c2cc426ff821050de8a35930b0371357d94cc2c334abac6658552b')
+ ASSET_X86_64_VMLINUX = Asset(
+ 'https://storage.tuxboot.com/kernels/6.18.54/x86_64/vmlinux.xz',
+ '77bf44cca48c9c1b9c142e16a2311d58b8ae3462b61bce44bcaf9243b5f26628')
ASSET_X86_64_ROOTFS = Asset(
'https://storage.tuxboot.com/buildroot/20260924/x86_64/rootfs.ext4.zst',
'8e310455b0244414ccff29c507f7ccfd4032e3587cc405e49ab0322738e3e27c')
@@ -47,5 +50,20 @@ def test_x86_64_kvm(self):
drive="driver=ide-hd,bus=ide.0,unit=0",
accel="kvm")
+ @skipIfMissingEnv("QEMU_TEST_GDB")
+ def test_x86_64_kvm_gdb(self):
+ self.require_accelerator("kvm")
+
+ self.set_machine('q35')
+ self.cpu="Nehalem"
+ self.root='sda'
+ self.wait_for_shutdown=False
+ self.common_tuxrun_gdb(kernel_asset=self.ASSET_X86_64_KERNEL,
+ vmlinux_asset=self.ASSET_X86_64_VMLINUX,
+ rootfs_asset=self.ASSET_X86_64_ROOTFS,
+ drive="driver=ide-hd,bus=ide.0,unit=0",
+ accel="kvm")
+
+
if __name__ == '__main__':
TuxRunBaselineTest.main()
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 11/16] tests/functional: split aarch64 tuxrun into tcg and kvm run
2026-10-12 17:03 [PATCH v2 00/16] testing/next: functional testing updates for gdb Alex Bennée
` (9 preceding siblings ...)
2026-10-12 17:03 ` [PATCH v2 10/16] tests/functional: add tuxrun kvm gdb test for x86_64 Alex Bennée
@ 2026-10-12 17:03 ` Alex Bennée
2026-10-12 21:52 ` marcandre.lureau
2026-10-12 17:03 ` [PATCH v2 12/16] tests/functional: update arm64 tuxrun images Alex Bennée
` (4 subsequent siblings)
15 siblings, 1 reply; 33+ messages in thread
From: Alex Bennée @ 2026-10-12 17:03 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, Alex Bennée, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
Add an explicit "kvm" run to the tuxrun tests. Although running on an
aarch64 host would probably have defaulted to "kvm" anyway we want to
exercise specific features later.
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20260930164649.433573-9-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
v2
- pass "host" cpu type for KVM run
---
tests/functional/aarch64/test_tuxrun.py | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/tests/functional/aarch64/test_tuxrun.py b/tests/functional/aarch64/test_tuxrun.py
index 7dd50c3de17..0ef1b126fae 100755
--- a/tests/functional/aarch64/test_tuxrun.py
+++ b/tests/functional/aarch64/test_tuxrun.py
@@ -32,6 +32,16 @@ def test_arm64(self):
self.common_tuxrun(kernel_asset=self.ASSET_ARM64_KERNEL,
rootfs_asset=self.ASSET_ARM64_ROOTFS)
+ def test_arm64_kvm(self):
+ self.set_machine('virt')
+ self.require_accelerator('kvm')
+ self.cpu='host'
+ self.console='ttyAMA0'
+ self.wait_for_shutdown=False
+ self.common_tuxrun(kernel_asset=self.ASSET_ARM64_KERNEL,
+ rootfs_asset=self.ASSET_ARM64_ROOTFS,
+ accel="kvm")
+
ASSET_ARM64BE_KERNEL = Asset(
'https://storage.tuxboot.com/buildroot/20241119/arm64be/Image',
'fd6af4f16689d17a2c24fe0053cc212edcdf77abdcaf301800b8d38fa9f6e109')
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 12/16] tests/functional: update arm64 tuxrun images
2026-10-12 17:03 [PATCH v2 00/16] testing/next: functional testing updates for gdb Alex Bennée
` (10 preceding siblings ...)
2026-10-12 17:03 ` [PATCH v2 11/16] tests/functional: split aarch64 tuxrun into tcg and kvm run Alex Bennée
@ 2026-10-12 17:03 ` Alex Bennée
2026-10-12 21:52 ` marcandre.lureau
2026-10-13 8:09 ` Daniel P. Berrangé
2026-10-12 17:03 ` [PATCH v2 13/16] tests/functional: add tuxrun kvm gdb test for arm64 Alex Bennée
` (3 subsequent siblings)
15 siblings, 2 replies; 33+ messages in thread
From: Alex Bennée @ 2026-10-12 17:03 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, Alex Bennée, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
We now split the fetching of the buildroot image from the kernel
itself. This is because we will want to access additional metadata in
future tests.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/functional/aarch64/test_tuxrun.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tests/functional/aarch64/test_tuxrun.py b/tests/functional/aarch64/test_tuxrun.py
index 0ef1b126fae..6de02e1d8b2 100755
--- a/tests/functional/aarch64/test_tuxrun.py
+++ b/tests/functional/aarch64/test_tuxrun.py
@@ -17,11 +17,11 @@
class TuxRunAarch64Test(TuxRunBaselineTest):
ASSET_ARM64_KERNEL = Asset(
- 'https://storage.tuxboot.com/buildroot/20241119/arm64/Image',
- 'b74743c5e89e1cea0f73368d24ae0ae85c5204ff84be3b5e9610417417d2f235')
+ 'https://storage.tuxboot.com/kernels/6.18.54/arm64/Image.gz',
+ '39f4633bbcb444267d4d829bd28d8868a287c4c160cda64b0fd23fb090571c4e')
ASSET_ARM64_ROOTFS = Asset(
- 'https://storage.tuxboot.com/buildroot/20241119/arm64/rootfs.ext4.zst',
- 'a1acaaae2068df4648d04ff75f532aaa8c5edcd6b936122b6f0db4848a07b465')
+ 'https://storage.tuxboot.com/buildroot/20260924/arm64/rootfs.ext4.zst',
+ '4ab8cec9d1e17dbb1abdf2ae1939ad4f9d0dc2466230f6a119a7c1845cdef0b1')
def test_arm64(self):
self.set_machine('virt')
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 13/16] tests/functional: add tuxrun kvm gdb test for arm64
2026-10-12 17:03 [PATCH v2 00/16] testing/next: functional testing updates for gdb Alex Bennée
` (11 preceding siblings ...)
2026-10-12 17:03 ` [PATCH v2 12/16] tests/functional: update arm64 tuxrun images Alex Bennée
@ 2026-10-12 17:03 ` Alex Bennée
2026-10-12 21:52 ` marcandre.lureau
2026-10-12 17:03 ` [PATCH v2 14/16] tests/functional: split s390x tuxrun into tcg and kvm run Alex Bennée
` (2 subsequent siblings)
15 siblings, 1 reply; 33+ messages in thread
From: Alex Bennée @ 2026-10-12 17:03 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, Alex Bennée, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
As with x86_64 we now have the bits to add a KVM gdb test
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/functional/aarch64/test_tuxrun.py | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/tests/functional/aarch64/test_tuxrun.py b/tests/functional/aarch64/test_tuxrun.py
index 6de02e1d8b2..2ff321582d3 100755
--- a/tests/functional/aarch64/test_tuxrun.py
+++ b/tests/functional/aarch64/test_tuxrun.py
@@ -11,7 +11,7 @@
#
# SPDX-License-Identifier: GPL-2.0-or-later
-from qemu_test import Asset
+from qemu_test import Asset, skipIfMissingEnv
from qemu_test.tuxruntest import TuxRunBaselineTest
class TuxRunAarch64Test(TuxRunBaselineTest):
@@ -19,6 +19,9 @@ class TuxRunAarch64Test(TuxRunBaselineTest):
ASSET_ARM64_KERNEL = Asset(
'https://storage.tuxboot.com/kernels/6.18.54/arm64/Image.gz',
'39f4633bbcb444267d4d829bd28d8868a287c4c160cda64b0fd23fb090571c4e')
+ ASSET_ARM64_VMLINUX = Asset(
+ 'https://storage.tuxboot.com/kernels/6.18.54/arm64/vmlinux.xz',
+ '6487eb113ef6e841aedab6cb6fa704006377d68f64dd544570aa42f462a52b85')
ASSET_ARM64_ROOTFS = Asset(
'https://storage.tuxboot.com/buildroot/20260924/arm64/rootfs.ext4.zst',
'4ab8cec9d1e17dbb1abdf2ae1939ad4f9d0dc2466230f6a119a7c1845cdef0b1')
@@ -42,6 +45,18 @@ def test_arm64_kvm(self):
rootfs_asset=self.ASSET_ARM64_ROOTFS,
accel="kvm")
+ @skipIfMissingEnv("QEMU_TEST_GDB")
+ def test_arm64_kvm_gdb(self):
+ self.set_machine('virt')
+ self.require_accelerator('kvm')
+ self.cpu='host'
+ self.console='ttyAMA0'
+ self.wait_for_shutdown=False
+ self.common_tuxrun_gdb(kernel_asset=self.ASSET_ARM64_KERNEL,
+ vmlinux_asset=self.ASSET_ARM64_VMLINUX,
+ rootfs_asset=self.ASSET_ARM64_ROOTFS,
+ accel="kvm")
+
ASSET_ARM64BE_KERNEL = Asset(
'https://storage.tuxboot.com/buildroot/20241119/arm64be/Image',
'fd6af4f16689d17a2c24fe0053cc212edcdf77abdcaf301800b8d38fa9f6e109')
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 14/16] tests/functional: split s390x tuxrun into tcg and kvm run
2026-10-12 17:03 [PATCH v2 00/16] testing/next: functional testing updates for gdb Alex Bennée
` (12 preceding siblings ...)
2026-10-12 17:03 ` [PATCH v2 13/16] tests/functional: add tuxrun kvm gdb test for arm64 Alex Bennée
@ 2026-10-12 17:03 ` Alex Bennée
2026-10-12 21:52 ` marcandre.lureau
2026-10-12 17:03 ` [PATCH v2 15/16] tests/functional: update s390x tuxrun images Alex Bennée
2026-10-12 17:03 ` [PATCH v2 16/16] tests/functional: add tuxrun kvm gdb test for s390x Alex Bennée
15 siblings, 1 reply; 33+ messages in thread
From: Alex Bennée @ 2026-10-12 17:03 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, Alex Bennée, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
Add an explicit "kvm" run to the tuxrun tests. Although running on an
s390x host would probably have defaulted to "kvm" anyway we want to
exercise specific features later.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/functional/s390x/test_tuxrun.py | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/tests/functional/s390x/test_tuxrun.py b/tests/functional/s390x/test_tuxrun.py
index 8df3c6893b7..086466af81f 100755
--- a/tests/functional/s390x/test_tuxrun.py
+++ b/tests/functional/s390x/test_tuxrun.py
@@ -25,11 +25,22 @@ class TuxRunS390xTest(TuxRunBaselineTest):
def test_s390(self):
self.set_machine('s390-ccw-virtio')
+ self.require_accelerator('tcg')
self.wait_for_shutdown=False
self.common_tuxrun(kernel_asset=self.ASSET_S390X_KERNEL,
rootfs_asset=self.ASSET_S390X_ROOTFS,
drive="virtio-blk-ccw",
haltmsg="Requesting system halt")
+ def test_s390_kvm(self):
+ self.set_machine('s390-ccw-virtio')
+ self.require_accelerator('kvm')
+ self.wait_for_shutdown=False
+ self.common_tuxrun(kernel_asset=self.ASSET_S390X_KERNEL,
+ rootfs_asset=self.ASSET_S390X_ROOTFS,
+ drive="virtio-blk-ccw",
+ haltmsg="Requesting system halt",
+ accel="kvm")
+
if __name__ == '__main__':
TuxRunBaselineTest.main()
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 15/16] tests/functional: update s390x tuxrun images
2026-10-12 17:03 [PATCH v2 00/16] testing/next: functional testing updates for gdb Alex Bennée
` (13 preceding siblings ...)
2026-10-12 17:03 ` [PATCH v2 14/16] tests/functional: split s390x tuxrun into tcg and kvm run Alex Bennée
@ 2026-10-12 17:03 ` Alex Bennée
2026-10-12 21:52 ` marcandre.lureau
2026-10-13 8:08 ` Daniel P. Berrangé
2026-10-12 17:03 ` [PATCH v2 16/16] tests/functional: add tuxrun kvm gdb test for s390x Alex Bennée
15 siblings, 2 replies; 33+ messages in thread
From: Alex Bennée @ 2026-10-12 17:03 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, Alex Bennée, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
We now split the fetching of the buildroot image from the kernel
itself. This is because we will want to access additional metadata in
future tests.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/functional/s390x/test_tuxrun.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tests/functional/s390x/test_tuxrun.py b/tests/functional/s390x/test_tuxrun.py
index 086466af81f..8e0261e2b7f 100755
--- a/tests/functional/s390x/test_tuxrun.py
+++ b/tests/functional/s390x/test_tuxrun.py
@@ -17,11 +17,11 @@
class TuxRunS390xTest(TuxRunBaselineTest):
ASSET_S390X_KERNEL = Asset(
- 'https://storage.tuxboot.com/buildroot/20241119/s390/bzImage',
- 'ee67e91db52a2aed104a7c72b2a08987c678f8179c029626789c35d6dd0fedf1')
+ 'https://storage.tuxboot.com/kernels/6.18.54/s390/bzImage',
+ '5efeb31754b211440e1595ab11355bb006fe78a2c0604ed0a8c55c4598b71aec')
ASSET_S390X_ROOTFS = Asset(
- 'https://storage.tuxboot.com/buildroot/20241119/s390/rootfs.ext4.zst',
- 'bff7971fc2fef56372d98afe4557b82fd0a785a241e44c29b058e577ad1bbb44')
+ 'https://storage.tuxboot.com/buildroot/20260924/s390/rootfs.ext4.zst',
+ '5ba18c4d18831c50a0c743990f7bdee1d3b520629d423c55b668d8fbbac9c6f5')
def test_s390(self):
self.set_machine('s390-ccw-virtio')
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 16/16] tests/functional: add tuxrun kvm gdb test for s390x
2026-10-12 17:03 [PATCH v2 00/16] testing/next: functional testing updates for gdb Alex Bennée
` (14 preceding siblings ...)
2026-10-12 17:03 ` [PATCH v2 15/16] tests/functional: update s390x tuxrun images Alex Bennée
@ 2026-10-12 17:03 ` Alex Bennée
2026-10-12 21:52 ` marcandre.lureau
15 siblings, 1 reply; 33+ messages in thread
From: Alex Bennée @ 2026-10-12 17:03 UTC (permalink / raw)
To: qemu-devel
Cc: Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, Alex Bennée, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
As with x86_64 we now have the bits to add a KVM gdb test. One minor
wrinkle is the s390x only supports WP_WRITE watch points so we skip
the other watch point tests lest we get confusing messages about
failing to insert HW breakpoints.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
tests/functional/gdb-scripts/kernel_gdb_test.py | 10 ++++++----
tests/functional/s390x/test_tuxrun.py | 14 ++++++++++++++
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/tests/functional/gdb-scripts/kernel_gdb_test.py b/tests/functional/gdb-scripts/kernel_gdb_test.py
index 2d62fe01f10..56f0514c943 100644
--- a/tests/functional/gdb-scripts/kernel_gdb_test.py
+++ b/tests/functional/gdb-scripts/kernel_gdb_test.py
@@ -107,11 +107,13 @@ def do_one_watch(sym, wtype, text):
def check_watches(sym_name):
"Watch a symbol for any access."
- # Should hit for any read
- do_one_watch(sym_name, gdb.WP_ACCESS, "awatch")
+ # s390 only supports write watchpoints
+ if "s390" not in gdb.selected_frame().architecture().name():
+ # Should hit for any read
+ do_one_watch(sym_name, gdb.WP_ACCESS, "awatch")
- # Again should hit for reads
- do_one_watch(sym_name, gdb.WP_READ, "rwatch")
+ # Again should hit for reads
+ do_one_watch(sym_name, gdb.WP_READ, "rwatch")
# Finally when it is written
do_one_watch(sym_name, gdb.WP_WRITE, "watch")
diff --git a/tests/functional/s390x/test_tuxrun.py b/tests/functional/s390x/test_tuxrun.py
index 8e0261e2b7f..528af3c08ff 100755
--- a/tests/functional/s390x/test_tuxrun.py
+++ b/tests/functional/s390x/test_tuxrun.py
@@ -19,6 +19,9 @@ class TuxRunS390xTest(TuxRunBaselineTest):
ASSET_S390X_KERNEL = Asset(
'https://storage.tuxboot.com/kernels/6.18.54/s390/bzImage',
'5efeb31754b211440e1595ab11355bb006fe78a2c0604ed0a8c55c4598b71aec')
+ ASSET_S390X_VMLINUX = Asset(
+ 'https://storage.tuxboot.com/kernels/6.18.54/s390/vmlinux.xz',
+ '5bbd4d34e0950f88053a9bfd16078896df4b1ee1696fc2ad62488e681a6bdd8e')
ASSET_S390X_ROOTFS = Asset(
'https://storage.tuxboot.com/buildroot/20260924/s390/rootfs.ext4.zst',
'5ba18c4d18831c50a0c743990f7bdee1d3b520629d423c55b668d8fbbac9c6f5')
@@ -42,5 +45,16 @@ def test_s390_kvm(self):
haltmsg="Requesting system halt",
accel="kvm")
+ def test_s390_kvm_gdb(self):
+ self.set_machine('s390-ccw-virtio')
+ self.require_accelerator('kvm')
+ self.wait_for_shutdown=False
+ self.common_tuxrun_gdb(kernel_asset=self.ASSET_S390X_KERNEL,
+ vmlinux_asset=self.ASSET_S390X_VMLINUX,
+ rootfs_asset=self.ASSET_S390X_ROOTFS,
+ drive="virtio-blk-ccw",
+ haltmsg="Requesting system halt",
+ accel="kvm")
+
if __name__ == '__main__':
TuxRunBaselineTest.main()
--
2.47.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* Re: [PATCH v2 04/16] tests/functional: allow tuxrun tests to be passed "accel"
2026-10-12 17:03 ` [PATCH v2 04/16] tests/functional: allow tuxrun tests to be passed "accel" Alex Bennée
@ 2026-10-12 21:52 ` marcandre.lureau
0 siblings, 0 replies; 33+ messages in thread
From: marcandre.lureau @ 2026-10-12 21:52 UTC (permalink / raw)
To: Alex Bennée
Cc: qemu-devel, Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, John Snow, Eric Farman, Pierrick Bouvier,
Anders Roxell, Marc-André Lureau, Michael S. Tsirkin,
Warner Losh, qemu-arm, Peter Maydell, Yoshinori Sato, Peter Xu,
Klaus Jensen, Song Gao, qemu-s390x, Laurent Vivier,
Ilya Leoshkevich
On Mon, 12 Oct 2026 18:03:18 +0100, Alex Bennée <alex.bennee@linaro.org> wrote:
> For some tests we are about to add we want the flexibility to force
> "kvm" so give them that ability.
>
> Message-ID: <20260930164649.433573-7-alex.bennee@linaro.org>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>
>
> [...]
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
--
Marc-André Lureau <marcandre.lureau@redhat.com>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 12/16] tests/functional: update arm64 tuxrun images
2026-10-12 17:03 ` [PATCH v2 12/16] tests/functional: update arm64 tuxrun images Alex Bennée
@ 2026-10-12 21:52 ` marcandre.lureau
2026-10-13 8:09 ` Daniel P. Berrangé
1 sibling, 0 replies; 33+ messages in thread
From: marcandre.lureau @ 2026-10-12 21:52 UTC (permalink / raw)
To: Alex Bennée
Cc: qemu-devel, Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, John Snow, Eric Farman, Pierrick Bouvier,
Anders Roxell, Marc-André Lureau, Michael S. Tsirkin,
Warner Losh, qemu-arm, Peter Maydell, Yoshinori Sato, Peter Xu,
Klaus Jensen, Song Gao, qemu-s390x, Laurent Vivier,
Ilya Leoshkevich
On Mon, 12 Oct 2026 18:03:26 +0100, Alex Bennée <alex.bennee@linaro.org> wrote:
> We now split the fetching of the buildroot image from the kernel
> itself. This is because we will want to access additional metadata in
> future tests.
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
--
Marc-André Lureau <marcandre.lureau@redhat.com>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 15/16] tests/functional: update s390x tuxrun images
2026-10-12 17:03 ` [PATCH v2 15/16] tests/functional: update s390x tuxrun images Alex Bennée
@ 2026-10-12 21:52 ` marcandre.lureau
2026-10-13 8:08 ` Daniel P. Berrangé
1 sibling, 0 replies; 33+ messages in thread
From: marcandre.lureau @ 2026-10-12 21:52 UTC (permalink / raw)
To: Alex Bennée
Cc: qemu-devel, Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, John Snow, Eric Farman, Pierrick Bouvier,
Anders Roxell, Marc-André Lureau, Michael S. Tsirkin,
Warner Losh, qemu-arm, Peter Maydell, Yoshinori Sato, Peter Xu,
Klaus Jensen, Song Gao, qemu-s390x, Laurent Vivier,
Ilya Leoshkevich
On Mon, 12 Oct 2026 18:03:29 +0100, Alex Bennée <alex.bennee@linaro.org> wrote:
> We now split the fetching of the buildroot image from the kernel
> itself. This is because we will want to access additional metadata in
> future tests.
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
--
Marc-André Lureau <marcandre.lureau@redhat.com>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 13/16] tests/functional: add tuxrun kvm gdb test for arm64
2026-10-12 17:03 ` [PATCH v2 13/16] tests/functional: add tuxrun kvm gdb test for arm64 Alex Bennée
@ 2026-10-12 21:52 ` marcandre.lureau
0 siblings, 0 replies; 33+ messages in thread
From: marcandre.lureau @ 2026-10-12 21:52 UTC (permalink / raw)
To: Alex Bennée
Cc: qemu-devel, Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, John Snow, Eric Farman, Pierrick Bouvier,
Anders Roxell, Marc-André Lureau, Michael S. Tsirkin,
Warner Losh, qemu-arm, Peter Maydell, Yoshinori Sato, Peter Xu,
Klaus Jensen, Song Gao, qemu-s390x, Laurent Vivier,
Ilya Leoshkevich
On Mon, 12 Oct 2026 18:03:27 +0100, Alex Bennée <alex.bennee@linaro.org> wrote:
> As with x86_64 we now have the bits to add a KVM gdb test
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
--
Marc-André Lureau <marcandre.lureau@redhat.com>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 14/16] tests/functional: split s390x tuxrun into tcg and kvm run
2026-10-12 17:03 ` [PATCH v2 14/16] tests/functional: split s390x tuxrun into tcg and kvm run Alex Bennée
@ 2026-10-12 21:52 ` marcandre.lureau
0 siblings, 0 replies; 33+ messages in thread
From: marcandre.lureau @ 2026-10-12 21:52 UTC (permalink / raw)
To: Alex Bennée
Cc: qemu-devel, Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, John Snow, Eric Farman, Pierrick Bouvier,
Anders Roxell, Marc-André Lureau, Michael S. Tsirkin,
Warner Losh, qemu-arm, Peter Maydell, Yoshinori Sato, Peter Xu,
Klaus Jensen, Song Gao, qemu-s390x, Laurent Vivier,
Ilya Leoshkevich
On Mon, 12 Oct 2026 18:03:28 +0100, Alex Bennée <alex.bennee@linaro.org> wrote:
> Add an explicit "kvm" run to the tuxrun tests. Although running on an
> s390x host would probably have defaulted to "kvm" anyway we want to
> exercise specific features later.
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
--
Marc-André Lureau <marcandre.lureau@redhat.com>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 16/16] tests/functional: add tuxrun kvm gdb test for s390x
2026-10-12 17:03 ` [PATCH v2 16/16] tests/functional: add tuxrun kvm gdb test for s390x Alex Bennée
@ 2026-10-12 21:52 ` marcandre.lureau
0 siblings, 0 replies; 33+ messages in thread
From: marcandre.lureau @ 2026-10-12 21:52 UTC (permalink / raw)
To: Alex Bennée
Cc: qemu-devel, Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, John Snow, Eric Farman, Pierrick Bouvier,
Anders Roxell, Marc-André Lureau, Michael S. Tsirkin,
Warner Losh, qemu-arm, Peter Maydell, Yoshinori Sato, Peter Xu,
Klaus Jensen, Song Gao, qemu-s390x, Laurent Vivier,
Ilya Leoshkevich
> As with x86_64 we now have the bits to add a KVM gdb test. One minor
> wrinkle is the s390x only supports WP_WRITE watch points so we skip
> the other watch point tests lest we get confusing messages about
> failing to insert HW breakpoints.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Message-ID: <20261012170330.1144446-17-alex.bennee@linaro.org>
>
> diff --git a/tests/functional/gdb-scripts/kernel_gdb_test.py b/tests/functional/gdb-scripts/kernel_gdb_test.py
> index 2d62fe01f10c..56f0514c9432 100644
> --- a/tests/functional/gdb-scripts/kernel_gdb_test.py
> +++ b/tests/functional/gdb-scripts/kernel_gdb_test.py
> @@ -107,11 +107,13 @@ def do_one_watch(sym, wtype, text):
> def check_watches(sym_name):
> "Watch a symbol for any access."
>
> - # Should hit for any read
> - do_one_watch(sym_name, gdb.WP_ACCESS, "awatch")
> + # s390 only supports write watchpoints
> + if "s390" not in gdb.selected_frame().architecture().name():
> + # Should hit for any read
> + do_one_watch(sym_name, gdb.WP_ACCESS, "awatch")
>
> - # Again should hit for reads
> - do_one_watch(sym_name, gdb.WP_READ, "rwatch")
> + # Again should hit for reads
> + do_one_watch(sym_name, gdb.WP_READ, "rwatch")
>
> # Finally when it is written
> do_one_watch(sym_name, gdb.WP_WRITE, "watch")
> diff --git a/tests/functional/s390x/test_tuxrun.py b/tests/functional/s390x/test_tuxrun.py
> index 8e0261e2b7fc..528af3c08ff0 100755
> --- a/tests/functional/s390x/test_tuxrun.py
> +++ b/tests/functional/s390x/test_tuxrun.py
> @@ -19,6 +19,9 @@ class TuxRunS390xTest(TuxRunBaselineTest):
> ASSET_S390X_KERNEL = Asset(
> 'https://storage.tuxboot.com/kernels/6.18.54/s390/bzImage',
> '5efeb31754b211440e1595ab11355bb006fe78a2c0604ed0a8c55c4598b71aec')
> + ASSET_S390X_VMLINUX = Asset(
> + 'https://storage.tuxboot.com/kernels/6.18.54/s390/vmlinux.xz',
> + '5bbd4d34e0950f88053a9bfd16078896df4b1ee1696fc2ad62488e681a6bdd8e')
> ASSET_S390X_ROOTFS = Asset(
> 'https://storage.tuxboot.com/buildroot/20260924/s390/rootfs.ext4.zst',
> '5ba18c4d18831c50a0c743990f7bdee1d3b520629d423c55b668d8fbbac9c6f5')
> @@ -42,5 +45,16 @@ def test_s390_kvm(self):
> haltmsg="Requesting system halt",
> accel="kvm")
>
> + def test_s390_kvm_gdb(self):
Missing @skipIfMissingEnv("QEMU_TEST_GDB") decorator, which the x86_64
and arm64 versions both have
--
Marc-André Lureau <marcandre.lureau@redhat.com>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 09/16] tests/functional: teach tuxrun about launching gdb tests
2026-10-12 17:03 ` [PATCH v2 09/16] tests/functional: teach tuxrun about launching gdb tests Alex Bennée
@ 2026-10-12 21:52 ` marcandre.lureau
0 siblings, 0 replies; 33+ messages in thread
From: marcandre.lureau @ 2026-10-12 21:52 UTC (permalink / raw)
To: Alex Bennée
Cc: qemu-devel, Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, John Snow, Eric Farman, Pierrick Bouvier,
Anders Roxell, Marc-André Lureau, Michael S. Tsirkin,
Warner Losh, qemu-arm, Peter Maydell, Yoshinori Sato, Peter Xu,
Klaus Jensen, Song Gao, qemu-s390x, Laurent Vivier,
Ilya Leoshkevich
> This resurrects the hand run test script from d84842be6c5 (tests:
> remove test-gdbstub.py) and modernises it to use the shared test
> infrastructure for run-test.
>
> We then tweak the common tuxrun code to over an alternative "launch
> via gdbstub" helper which reuses the existing code but:
>
> - needs a vmlinux with symbols
> - extend qargs with stuff normally added by vm.launch
> - passes kargs directly
> - runs with the gdb run-test script
> - log the run-test output to the console log
>
> Message-ID: <20260930164649.433573-13-alex.bennee@linaro.org>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>
> Message-ID: <20261012170330.1144446-10-alex.bennee@linaro.org>
>
> diff --git a/tests/functional/gdb-scripts/kernel_gdb_test.py b/tests/functional/gdb-scripts/kernel_gdb_test.py
> new file mode 100644
> index 000000000000..2d62fe01f10c
> --- /dev/null
> +++ b/tests/functional/gdb-scripts/kernel_gdb_test.py
> @@ -0,0 +1,174 @@
> +# SPDX-License-Identifier: GPL-2.0-or-later
> +#
> +# Generic Kernel GDB script to verify functionality:
> +# - Single-stepping
> +# - Hardware breakpoints
> +# - Software breakpoints
> +# - Watchpoints
> +#
> +# It relies on fairly common kernel points to break at and symbols for
> +# the kernel. Address space randomisation (kaslr) needs to be disabled.
> +#
> +# Copyright (c) 2026 Linaro Limited
> +#
> +# Author:
> +# Alex Bennée <alex.bennee@linaro.org>
> +#
> +# This is launched by the tuxrun functional tests via tests/guest-debug/run-test.py
> +
> +import gdb
> +from test_gdbstub import main, report
> +
> +failcount = 0
unused variable
> +
> +def parse_registers():
> + """Parse 'info registers' into a name -> value dictionary."""
> + regs = {}
> + for line in gdb.execute("info registers", to_string=True).splitlines():
> + parts = line.split()
> + if len(parts) >= 2:
> + regs[parts[0]] = parts[1]
> + return regs
> +
> +
> +def check_step():
> + "Step an instruction, check it moved."
> + start_pc = gdb.parse_and_eval('$pc')
> + gdb.execute("si")
> + end_pc = gdb.parse_and_eval('$pc')
> +
> + return not (start_pc == end_pc)
> +
> +
> +def check_reg_updates(regs_start):
> + regs_end = parse_registers()
> +
> + changed = [k for k in regs_start
> + if k in regs_end and regs_start[k] != regs_end[k]]
> +
> + report(len(changed) > 0, f"{len(changed)} registers changed.")
> +
> +
> +def check_break(sym_name):
> + "Setup breakpoint, continue and check we stopped."
> + bp = gdb.Breakpoint(sym_name)
> + gdb.execute("c")
> + res = bp.hit_count == 1
> + bp.delete()
> +
> + return res
> +
> +
> +# We need to do hbreak manually as the python interface doesn't export it
comment is now stale
> +def check_hbreak(sym_name):
> + "Setup hardware breakpoint, continue and check we stopped."
> + bp = gdb.Breakpoint(sym_name, type = gdb.BP_HARDWARE_BREAKPOINT)
> + gdb.execute("c")
> + res = bp.hit_count == 1
> + bp.delete()
> +
> + return res
> +
> +
> +class WatchPoint(gdb.Breakpoint):
> +
> + def get_wpstr(self, sym_name):
> + "Setup sym and wp_str for given symbol."
> + self.sym, ok = gdb.lookup_symbol(sym_name)
> + wp_addr = gdb.parse_and_eval(sym_name).address
> + self.wp_str = '*(%(type)s)(&%(address)s)' % dict(
> + type = wp_addr.type, address = sym_name)
> +
> + return(self.wp_str)
> +
> + def __init__(self, sym_name, type):
> + wp_str = self.get_wpstr(sym_name)
> + super(WatchPoint, self).__init__(wp_str, gdb.BP_WATCHPOINT, type)
> +
> + def stop(self):
> + end_pc = gdb.parse_and_eval('$pc')
> + print("HIT WP @ %s" % (end_pc))
> + return True
> +
> +
> +def do_one_watch(sym, wtype, text):
> +
> + wp = WatchPoint(sym, wtype)
> + gdb.execute("c")
> + report_str = "%s for %s (%s)" % (text, sym, wp.sym.value())
> +
> + if wp.hit_count > 0:
> + report(True, report_str)
> + wp.delete()
> + else:
> + report(False, report_str)
Add wp.delete() in the else branch too?
> +
> +
> +def check_watches(sym_name):
> + "Watch a symbol for any access."
> +
> + # Should hit for any read
> + do_one_watch(sym_name, gdb.WP_ACCESS, "awatch")
> +
> + # Again should hit for reads
> + do_one_watch(sym_name, gdb.WP_READ, "rwatch")
> +
> + # Finally when it is written
> + do_one_watch(sym_name, gdb.WP_WRITE, "watch")
> +
> +
> +class CatchBreakpoint(gdb.Breakpoint):
> + def __init__(self, sym_name):
> + super(CatchBreakpoint, self).__init__(sym_name, type = gdb.BP_BREAKPOINT)
> + self.sym, ok = gdb.lookup_symbol(sym_name)
> +
> + def stop(self):
> + end_pc = gdb.parse_and_eval('$pc')
> + print("CB: %s == %s" % (end_pc, self.sym.value()))
> + if end_pc == self.sym.value():
> + report(False, "Hit final catchpoint")
> +
> +
> +def run_test():
> + "Run through the tests one by one"
> +
> + # get the initial register state
> + regs_start = parse_registers()
> +
> + print("Checking we can step the first few instructions")
> + step_ok = 0
> + for i in range(3):
> + if check_step():
> + step_ok += 1
> +
> + report(step_ok == 3, "single step in boot code")
> +
> + # check some registers changed
> + print("Checking register access works")
> + check_reg_updates(regs_start)
> +
> + print("Checking HW breakpoint works")
> + break_ok = check_hbreak("kernel_init")
> + report(break_ok, "hbreak @ kernel_init")
> +
> + # Can't set this up until we are in the kernel proper
> + # if we make it to run_init_process we've over-run and
> + # one of the tests failed
> +
> + print("Setup catch-all for run_init_process")
> + cbp = CatchBreakpoint("run_init_process")
> +
> + # We should see wait_for_completion called right at the start of
> + # kernel_init
> + print("Checking Normal breakpoint works")
> + break_ok = check_break("wait_for_completion")
> + report(break_ok, "break @ wait_for_completion")
> +
> + print("Checking watchpoint works")
> + check_watches("system_state")
> +
> + # check we didn't hit the end
> + report(cbp.hit_count == 0, "CatchBreakpoint not hit")
> +
> +
> +main(run_test)
> diff --git a/tests/functional/qemu_test/tuxruntest.py b/tests/functional/qemu_test/tuxruntest.py
> index ca1589fea37d..8e940fd77383 100644
> --- a/tests/functional/qemu_test/tuxruntest.py
> +++ b/tests/functional/qemu_test/tuxruntest.py
> @@ -9,7 +9,9 @@
> #
> # SPDX-License-Identifier: GPL-2.0-or-later
>
> +import logging
> import os
> +import subprocess
>
> from qemu_test import QemuSystemTest
> from qemu_test import exec_command_and_wait_for_pattern
> @@ -18,7 +20,7 @@
>
> class TuxRunBaselineTest(QemuSystemTest):
>
> - KERNEL_COMMON_COMMAND_LINE = 'printk.time=0'
> + KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 nokaslr'
This was flagged in the v1 review: nokaslr is only needed for the gdb tests (the
kernel_gdb_test.py header says "Address space randomisation (kaslr) needs to be
disabled") but it is added globally here, affecting all tuxrun tests. Mention it
in the commit message or scope it to gdb tests only?
--
Marc-André Lureau <marcandre.lureau@redhat.com>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 11/16] tests/functional: split aarch64 tuxrun into tcg and kvm run
2026-10-12 17:03 ` [PATCH v2 11/16] tests/functional: split aarch64 tuxrun into tcg and kvm run Alex Bennée
@ 2026-10-12 21:52 ` marcandre.lureau
0 siblings, 0 replies; 33+ messages in thread
From: marcandre.lureau @ 2026-10-12 21:52 UTC (permalink / raw)
To: Alex Bennée
Cc: qemu-devel, Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Daniel P. Berrangé, Brian Cain, Richard Henderson,
Brad Smith, Ani Sinha, Christian Borntraeger, Thomas Huth,
Keith Busch, Matthew Rosato, Cornelia Huck, Paolo Bonzini,
Halil Pasic, John Snow, Eric Farman, Pierrick Bouvier,
Anders Roxell, Marc-André Lureau, Michael S. Tsirkin,
Warner Losh, qemu-arm, Peter Maydell, Yoshinori Sato, Peter Xu,
Klaus Jensen, Song Gao, qemu-s390x, Laurent Vivier,
Ilya Leoshkevich
On Mon, 12 Oct 2026 18:03:25 +0100, Alex Bennée <alex.bennee@linaro.org> wrote:
> Add an explicit "kvm" run to the tuxrun tests. Although running on an
> aarch64 host would probably have defaulted to "kvm" anyway we want to
> exercise specific features later.
>
> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> Message-ID: <20260930164649.433573-9-alex.bennee@linaro.org>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>
> [...]
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
--
Marc-André Lureau <marcandre.lureau@redhat.com>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 06/16] tests/functional: update x86_64 tuxrun images
2026-10-12 17:03 ` [PATCH v2 06/16] tests/functional: update x86_64 tuxrun images Alex Bennée
@ 2026-10-13 8:05 ` Daniel P. Berrangé
2026-10-13 9:35 ` Alex Bennée
0 siblings, 1 reply; 33+ messages in thread
From: Daniel P. Berrangé @ 2026-10-13 8:05 UTC (permalink / raw)
To: Alex Bennée
Cc: qemu-devel, Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Brian Cain, Richard Henderson, Brad Smith, Ani Sinha,
Christian Borntraeger, Thomas Huth, Keith Busch, Matthew Rosato,
Cornelia Huck, Paolo Bonzini, Halil Pasic, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
On Mon, Oct 12, 2026 at 06:03:20PM +0100, Alex Bennée wrote:
> We now split the fetching of the buildroot image from the kernel
> itself. This is because we will want to access additional metadata in
> future tests.
This commit message appears unrelated to the patch content or subject
line.
>
> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> Message-ID: <20260930164649.433573-10-alex.bennee@linaro.org>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> tests/functional/x86_64/test_tuxrun.py | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/tests/functional/x86_64/test_tuxrun.py b/tests/functional/x86_64/test_tuxrun.py
> index 729f6447d05..026b373accb 100755
> --- a/tests/functional/x86_64/test_tuxrun.py
> +++ b/tests/functional/x86_64/test_tuxrun.py
> @@ -17,11 +17,11 @@
> class TuxRunX86Test(TuxRunBaselineTest):
>
> ASSET_X86_64_KERNEL = Asset(
> - 'https://storage.tuxboot.com/buildroot/20241119/x86_64/bzImage',
> - 'f57bfc6553bcd6e0a54aab86095bf642b33b5571d14e3af1731b18c87ed5aef8')
> + 'https://storage.tuxboot.com/kernels/6.18.54/x86_64/bzImage',
> + '24a3ade610c2cc426ff821050de8a35930b0371357d94cc2c334abac6658552b')
> ASSET_X86_64_ROOTFS = Asset(
> - 'https://storage.tuxboot.com/buildroot/20241119/x86_64/rootfs.ext4.zst',
> - '4b8b2a99117519c5290e1202cb36eb6c7aaba92b357b5160f5970cf5fb78a751')
> + 'https://storage.tuxboot.com/buildroot/20260924/x86_64/rootfs.ext4.zst',
> + '8e310455b0244414ccff29c507f7ccfd4032e3587cc405e49ab0322738e3e27c')
>
> def test_x86_64(self):
> self.require_accelerator("tcg")
> --
> 2.47.3
>
With regards,
Daniel
--
|: https://berrange.com ~~ https://hachyderm.io/@berrange :|
|: https://libvirt.org ~~ https://entangle-photo.org :|
|: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 15/16] tests/functional: update s390x tuxrun images
2026-10-12 17:03 ` [PATCH v2 15/16] tests/functional: update s390x tuxrun images Alex Bennée
2026-10-12 21:52 ` marcandre.lureau
@ 2026-10-13 8:08 ` Daniel P. Berrangé
1 sibling, 0 replies; 33+ messages in thread
From: Daniel P. Berrangé @ 2026-10-13 8:08 UTC (permalink / raw)
To: Alex Bennée
Cc: qemu-devel, Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Brian Cain, Richard Henderson, Brad Smith, Ani Sinha,
Christian Borntraeger, Thomas Huth, Keith Busch, Matthew Rosato,
Cornelia Huck, Paolo Bonzini, Halil Pasic, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
On Mon, Oct 12, 2026 at 06:03:29PM +0100, Alex Bennée wrote:
> We now split the fetching of the buildroot image from the kernel
> itself. This is because we will want to access additional metadata in
> future tests.
This commit message appears unrelated
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> tests/functional/s390x/test_tuxrun.py | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/tests/functional/s390x/test_tuxrun.py b/tests/functional/s390x/test_tuxrun.py
> index 086466af81f..8e0261e2b7f 100755
> --- a/tests/functional/s390x/test_tuxrun.py
> +++ b/tests/functional/s390x/test_tuxrun.py
> @@ -17,11 +17,11 @@
> class TuxRunS390xTest(TuxRunBaselineTest):
>
> ASSET_S390X_KERNEL = Asset(
> - 'https://storage.tuxboot.com/buildroot/20241119/s390/bzImage',
> - 'ee67e91db52a2aed104a7c72b2a08987c678f8179c029626789c35d6dd0fedf1')
> + 'https://storage.tuxboot.com/kernels/6.18.54/s390/bzImage',
> + '5efeb31754b211440e1595ab11355bb006fe78a2c0604ed0a8c55c4598b71aec')
> ASSET_S390X_ROOTFS = Asset(
> - 'https://storage.tuxboot.com/buildroot/20241119/s390/rootfs.ext4.zst',
> - 'bff7971fc2fef56372d98afe4557b82fd0a785a241e44c29b058e577ad1bbb44')
> + 'https://storage.tuxboot.com/buildroot/20260924/s390/rootfs.ext4.zst',
> + '5ba18c4d18831c50a0c743990f7bdee1d3b520629d423c55b668d8fbbac9c6f5')
>
> def test_s390(self):
> self.set_machine('s390-ccw-virtio')
> --
> 2.47.3
>
With regards,
Daniel
--
|: https://berrange.com ~~ https://hachyderm.io/@berrange :|
|: https://libvirt.org ~~ https://entangle-photo.org :|
|: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 12/16] tests/functional: update arm64 tuxrun images
2026-10-12 17:03 ` [PATCH v2 12/16] tests/functional: update arm64 tuxrun images Alex Bennée
2026-10-12 21:52 ` marcandre.lureau
@ 2026-10-13 8:09 ` Daniel P. Berrangé
2026-10-13 9:36 ` Alex Bennée
1 sibling, 1 reply; 33+ messages in thread
From: Daniel P. Berrangé @ 2026-10-13 8:09 UTC (permalink / raw)
To: Alex Bennée
Cc: qemu-devel, Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Brian Cain, Richard Henderson, Brad Smith, Ani Sinha,
Christian Borntraeger, Thomas Huth, Keith Busch, Matthew Rosato,
Cornelia Huck, Paolo Bonzini, Halil Pasic, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
On Mon, Oct 12, 2026 at 06:03:26PM +0100, Alex Bennée wrote:
> We now split the fetching of the buildroot image from the kernel
> itself. This is because we will want to access additional metadata in
> future tests.
The commit message looks unrelated
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> tests/functional/aarch64/test_tuxrun.py | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/tests/functional/aarch64/test_tuxrun.py b/tests/functional/aarch64/test_tuxrun.py
> index 0ef1b126fae..6de02e1d8b2 100755
> --- a/tests/functional/aarch64/test_tuxrun.py
> +++ b/tests/functional/aarch64/test_tuxrun.py
> @@ -17,11 +17,11 @@
> class TuxRunAarch64Test(TuxRunBaselineTest):
>
> ASSET_ARM64_KERNEL = Asset(
> - 'https://storage.tuxboot.com/buildroot/20241119/arm64/Image',
> - 'b74743c5e89e1cea0f73368d24ae0ae85c5204ff84be3b5e9610417417d2f235')
> + 'https://storage.tuxboot.com/kernels/6.18.54/arm64/Image.gz',
> + '39f4633bbcb444267d4d829bd28d8868a287c4c160cda64b0fd23fb090571c4e')
> ASSET_ARM64_ROOTFS = Asset(
> - 'https://storage.tuxboot.com/buildroot/20241119/arm64/rootfs.ext4.zst',
> - 'a1acaaae2068df4648d04ff75f532aaa8c5edcd6b936122b6f0db4848a07b465')
> + 'https://storage.tuxboot.com/buildroot/20260924/arm64/rootfs.ext4.zst',
> + '4ab8cec9d1e17dbb1abdf2ae1939ad4f9d0dc2466230f6a119a7c1845cdef0b1')
>
> def test_arm64(self):
> self.set_machine('virt')
> --
> 2.47.3
>
With regards,
Daniel
--
|: https://berrange.com ~~ https://hachyderm.io/@berrange :|
|: https://libvirt.org ~~ https://entangle-photo.org :|
|: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 06/16] tests/functional: update x86_64 tuxrun images
2026-10-13 8:05 ` Daniel P. Berrangé
@ 2026-10-13 9:35 ` Alex Bennée
2026-10-13 9:53 ` Daniel P. Berrangé
0 siblings, 1 reply; 33+ messages in thread
From: Alex Bennée @ 2026-10-13 9:35 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: qemu-devel, Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Brian Cain, Richard Henderson, Brad Smith, Ani Sinha,
Christian Borntraeger, Thomas Huth, Keith Busch, Matthew Rosato,
Cornelia Huck, Paolo Bonzini, Halil Pasic, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
Daniel P. Berrangé <berrange@redhat.com> writes:
> On Mon, Oct 12, 2026 at 06:03:20PM +0100, Alex Bennée wrote:
>> We now split the fetching of the buildroot image from the kernel
>> itself. This is because we will want to access additional metadata in
>> future tests.
>
> This commit message appears unrelated to the patch content or subject
> line.
The kernel is now coming from: https://storage.tuxboot.com/kernels/6.18.54/
instead of part of the buildroot build in https://storage.tuxboot.com/buildroot/20260924/x86_64/
>
>>
>> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
>> Message-ID: <20260930164649.433573-10-alex.bennee@linaro.org>
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> ---
>> tests/functional/x86_64/test_tuxrun.py | 8 ++++----
>> 1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/tests/functional/x86_64/test_tuxrun.py b/tests/functional/x86_64/test_tuxrun.py
>> index 729f6447d05..026b373accb 100755
>> --- a/tests/functional/x86_64/test_tuxrun.py
>> +++ b/tests/functional/x86_64/test_tuxrun.py
>> @@ -17,11 +17,11 @@
>> class TuxRunX86Test(TuxRunBaselineTest):
>>
>> ASSET_X86_64_KERNEL = Asset(
>> - 'https://storage.tuxboot.com/buildroot/20241119/x86_64/bzImage',
>> - 'f57bfc6553bcd6e0a54aab86095bf642b33b5571d14e3af1731b18c87ed5aef8')
>> + 'https://storage.tuxboot.com/kernels/6.18.54/x86_64/bzImage',
>> + '24a3ade610c2cc426ff821050de8a35930b0371357d94cc2c334abac6658552b')
>> ASSET_X86_64_ROOTFS = Asset(
>> - 'https://storage.tuxboot.com/buildroot/20241119/x86_64/rootfs.ext4.zst',
>> - '4b8b2a99117519c5290e1202cb36eb6c7aaba92b357b5160f5970cf5fb78a751')
>> + 'https://storage.tuxboot.com/buildroot/20260924/x86_64/rootfs.ext4.zst',
>> + '8e310455b0244414ccff29c507f7ccfd4032e3587cc405e49ab0322738e3e27c')
>>
>> def test_x86_64(self):
>> self.require_accelerator("tcg")
>> --
>> 2.47.3
>>
>
> With regards,
> Daniel
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 12/16] tests/functional: update arm64 tuxrun images
2026-10-13 8:09 ` Daniel P. Berrangé
@ 2026-10-13 9:36 ` Alex Bennée
0 siblings, 0 replies; 33+ messages in thread
From: Alex Bennée @ 2026-10-13 9:36 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: qemu-devel, Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Brian Cain, Richard Henderson, Brad Smith, Ani Sinha,
Christian Borntraeger, Thomas Huth, Keith Busch, Matthew Rosato,
Cornelia Huck, Paolo Bonzini, Halil Pasic, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
Daniel P. Berrangé <berrange@redhat.com> writes:
> On Mon, Oct 12, 2026 at 06:03:26PM +0100, Alex Bennée wrote:
>> We now split the fetching of the buildroot image from the kernel
>> itself. This is because we will want to access additional metadata in
>> future tests.
>
> The commit message looks unrelated
Could I word it more clearly?
>
>>
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> ---
>> tests/functional/aarch64/test_tuxrun.py | 8 ++++----
>> 1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/tests/functional/aarch64/test_tuxrun.py b/tests/functional/aarch64/test_tuxrun.py
>> index 0ef1b126fae..6de02e1d8b2 100755
>> --- a/tests/functional/aarch64/test_tuxrun.py
>> +++ b/tests/functional/aarch64/test_tuxrun.py
>> @@ -17,11 +17,11 @@
>> class TuxRunAarch64Test(TuxRunBaselineTest):
>>
>> ASSET_ARM64_KERNEL = Asset(
>> - 'https://storage.tuxboot.com/buildroot/20241119/arm64/Image',
>> - 'b74743c5e89e1cea0f73368d24ae0ae85c5204ff84be3b5e9610417417d2f235')
>> + 'https://storage.tuxboot.com/kernels/6.18.54/arm64/Image.gz',
>> + '39f4633bbcb444267d4d829bd28d8868a287c4c160cda64b0fd23fb090571c4e')
>> ASSET_ARM64_ROOTFS = Asset(
>> - 'https://storage.tuxboot.com/buildroot/20241119/arm64/rootfs.ext4.zst',
>> - 'a1acaaae2068df4648d04ff75f532aaa8c5edcd6b936122b6f0db4848a07b465')
>> + 'https://storage.tuxboot.com/buildroot/20260924/arm64/rootfs.ext4.zst',
>> + '4ab8cec9d1e17dbb1abdf2ae1939ad4f9d0dc2466230f6a119a7c1845cdef0b1')
>>
>> def test_arm64(self):
>> self.set_machine('virt')
>> --
>> 2.47.3
>>
>
> With regards,
> Daniel
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 06/16] tests/functional: update x86_64 tuxrun images
2026-10-13 9:35 ` Alex Bennée
@ 2026-10-13 9:53 ` Daniel P. Berrangé
2026-10-13 10:11 ` Alex Bennée
0 siblings, 1 reply; 33+ messages in thread
From: Daniel P. Berrangé @ 2026-10-13 9:53 UTC (permalink / raw)
To: Alex Bennée
Cc: qemu-devel, Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Brian Cain, Richard Henderson, Brad Smith, Ani Sinha,
Christian Borntraeger, Thomas Huth, Keith Busch, Matthew Rosato,
Cornelia Huck, Paolo Bonzini, Halil Pasic, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
On Tue, Oct 13, 2026 at 10:35:45AM +0100, Alex Bennée wrote:
> Daniel P. Berrangé <berrange@redhat.com> writes:
>
> > On Mon, Oct 12, 2026 at 06:03:20PM +0100, Alex Bennée wrote:
> >> We now split the fetching of the buildroot image from the kernel
> >> itself. This is because we will want to access additional metadata in
> >> future tests.
> >
> > This commit message appears unrelated to the patch content or subject
> > line.
>
> The kernel is now coming from: https://storage.tuxboot.com/kernels/6.18.54/
> instead of part of the buildroot build in https://storage.tuxboot.com/buildroot/20260924/x86_64/
Ah ok, I misunderstood what the commit message was trying to say,
though I'm still underclear how the before/after bzImage differ
from each other ?
Is the https://storage.tuxboot.com/kernels/6.18.54/ the
authoritative input for the process that produces
https://storage.tuxboot.com/buildroot/20260924/x86_64/ ?
I see the later patch is pulling in vmlinuz.xz from the
former location, so I guess you're trying to just use
the common location for both kernel images ?
>
> >
> >>
> >> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> >> Message-ID: <20260930164649.433573-10-alex.bennee@linaro.org>
> >> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> >> ---
> >> tests/functional/x86_64/test_tuxrun.py | 8 ++++----
> >> 1 file changed, 4 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/tests/functional/x86_64/test_tuxrun.py b/tests/functional/x86_64/test_tuxrun.py
> >> index 729f6447d05..026b373accb 100755
> >> --- a/tests/functional/x86_64/test_tuxrun.py
> >> +++ b/tests/functional/x86_64/test_tuxrun.py
> >> @@ -17,11 +17,11 @@
> >> class TuxRunX86Test(TuxRunBaselineTest):
> >>
> >> ASSET_X86_64_KERNEL = Asset(
> >> - 'https://storage.tuxboot.com/buildroot/20241119/x86_64/bzImage',
> >> - 'f57bfc6553bcd6e0a54aab86095bf642b33b5571d14e3af1731b18c87ed5aef8')
> >> + 'https://storage.tuxboot.com/kernels/6.18.54/x86_64/bzImage',
> >> + '24a3ade610c2cc426ff821050de8a35930b0371357d94cc2c334abac6658552b')
> >> ASSET_X86_64_ROOTFS = Asset(
> >> - 'https://storage.tuxboot.com/buildroot/20241119/x86_64/rootfs.ext4.zst',
> >> - '4b8b2a99117519c5290e1202cb36eb6c7aaba92b357b5160f5970cf5fb78a751')
> >> + 'https://storage.tuxboot.com/buildroot/20260924/x86_64/rootfs.ext4.zst',
> >> + '8e310455b0244414ccff29c507f7ccfd4032e3587cc405e49ab0322738e3e27c')
> >>
> >> def test_x86_64(self):
> >> self.require_accelerator("tcg")
> >> --
> >> 2.47.3
> >>
> >
> > With regards,
> > Daniel
>
> --
> Alex Bennée
> Virtualisation Tech Lead @ Linaro
>
With regards,
Daniel
--
|: https://berrange.com ~~ https://hachyderm.io/@berrange :|
|: https://libvirt.org ~~ https://entangle-photo.org :|
|: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 06/16] tests/functional: update x86_64 tuxrun images
2026-10-13 9:53 ` Daniel P. Berrangé
@ 2026-10-13 10:11 ` Alex Bennée
2026-10-13 10:22 ` Daniel P. Berrangé
0 siblings, 1 reply; 33+ messages in thread
From: Alex Bennée @ 2026-10-13 10:11 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: qemu-devel, Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Brian Cain, Richard Henderson, Brad Smith, Ani Sinha,
Christian Borntraeger, Thomas Huth, Keith Busch, Matthew Rosato,
Cornelia Huck, Paolo Bonzini, Halil Pasic, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
Daniel P. Berrangé <berrange@redhat.com> writes:
> On Tue, Oct 13, 2026 at 10:35:45AM +0100, Alex Bennée wrote:
>> Daniel P. Berrangé <berrange@redhat.com> writes:
>>
>> > On Mon, Oct 12, 2026 at 06:03:20PM +0100, Alex Bennée wrote:
>> >> We now split the fetching of the buildroot image from the kernel
>> >> itself. This is because we will want to access additional metadata in
>> >> future tests.
>> >
>> > This commit message appears unrelated to the patch content or subject
>> > line.
>>
>> The kernel is now coming from: https://storage.tuxboot.com/kernels/6.18.54/
>> instead of part of the buildroot build in https://storage.tuxboot.com/buildroot/20260924/x86_64/
>
> Ah ok, I misunderstood what the commit message was trying to say,
> though I'm still underclear how the before/after bzImage differ
> from each other ?
>
> Is the https://storage.tuxboot.com/kernels/6.18.54/ the
> authoritative input for the process that produces
> https://storage.tuxboot.com/buildroot/20260924/x86_64/ ?
No - they are different builds, but the kernel builds have had the
symbol generation turned on and the buildroot images are generic anyway
which is why they still work together.
>
> I see the later patch is pulling in vmlinuz.xz from the
> former location, so I guess you're trying to just use
> the common location for both kernel images ?
>
>>
>> >
>> >>
>> >> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
>> >> Message-ID: <20260930164649.433573-10-alex.bennee@linaro.org>
>> >> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> >> ---
>> >> tests/functional/x86_64/test_tuxrun.py | 8 ++++----
>> >> 1 file changed, 4 insertions(+), 4 deletions(-)
>> >>
>> >> diff --git a/tests/functional/x86_64/test_tuxrun.py b/tests/functional/x86_64/test_tuxrun.py
>> >> index 729f6447d05..026b373accb 100755
>> >> --- a/tests/functional/x86_64/test_tuxrun.py
>> >> +++ b/tests/functional/x86_64/test_tuxrun.py
>> >> @@ -17,11 +17,11 @@
>> >> class TuxRunX86Test(TuxRunBaselineTest):
>> >>
>> >> ASSET_X86_64_KERNEL = Asset(
>> >> - 'https://storage.tuxboot.com/buildroot/20241119/x86_64/bzImage',
>> >> - 'f57bfc6553bcd6e0a54aab86095bf642b33b5571d14e3af1731b18c87ed5aef8')
>> >> + 'https://storage.tuxboot.com/kernels/6.18.54/x86_64/bzImage',
>> >> + '24a3ade610c2cc426ff821050de8a35930b0371357d94cc2c334abac6658552b')
>> >> ASSET_X86_64_ROOTFS = Asset(
>> >> - 'https://storage.tuxboot.com/buildroot/20241119/x86_64/rootfs.ext4.zst',
>> >> - '4b8b2a99117519c5290e1202cb36eb6c7aaba92b357b5160f5970cf5fb78a751')
>> >> + 'https://storage.tuxboot.com/buildroot/20260924/x86_64/rootfs.ext4.zst',
>> >> + '8e310455b0244414ccff29c507f7ccfd4032e3587cc405e49ab0322738e3e27c')
>> >>
>> >> def test_x86_64(self):
>> >> self.require_accelerator("tcg")
>> >> --
>> >> 2.47.3
>> >>
>> >
>> > With regards,
>> > Daniel
>>
>> --
>> Alex Bennée
>> Virtualisation Tech Lead @ Linaro
>>
>
> With regards,
> Daniel
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 06/16] tests/functional: update x86_64 tuxrun images
2026-10-13 10:11 ` Alex Bennée
@ 2026-10-13 10:22 ` Daniel P. Berrangé
0 siblings, 0 replies; 33+ messages in thread
From: Daniel P. Berrangé @ 2026-10-13 10:22 UTC (permalink / raw)
To: Alex Bennée
Cc: qemu-devel, Philippe Mathieu-Daudé, Zhao Liu, Kyle Evans,
Brian Cain, Richard Henderson, Brad Smith, Ani Sinha,
Christian Borntraeger, Thomas Huth, Keith Busch, Matthew Rosato,
Cornelia Huck, Paolo Bonzini, Halil Pasic, John Snow, Eric Farman,
Pierrick Bouvier, Anders Roxell, Marc-André Lureau,
Michael S. Tsirkin, Warner Losh, qemu-arm, Peter Maydell,
Yoshinori Sato, Peter Xu, Klaus Jensen, Song Gao, qemu-s390x,
Laurent Vivier, Ilya Leoshkevich
On Tue, Oct 13, 2026 at 11:11:15AM +0100, Alex Bennée wrote:
> Daniel P. Berrangé <berrange@redhat.com> writes:
>
> > On Tue, Oct 13, 2026 at 10:35:45AM +0100, Alex Bennée wrote:
> >> Daniel P. Berrangé <berrange@redhat.com> writes:
> >>
> >> > On Mon, Oct 12, 2026 at 06:03:20PM +0100, Alex Bennée wrote:
> >> >> We now split the fetching of the buildroot image from the kernel
> >> >> itself. This is because we will want to access additional metadata in
> >> >> future tests.
> >> >
> >> > This commit message appears unrelated to the patch content or subject
> >> > line.
> >>
> >> The kernel is now coming from: https://storage.tuxboot.com/kernels/6.18.54/
> >> instead of part of the buildroot build in https://storage.tuxboot.com/buildroot/20260924/x86_64/
> >
> > Ah ok, I misunderstood what the commit message was trying to say,
> > though I'm still underclear how the before/after bzImage differ
> > from each other ?
> >
> > Is the https://storage.tuxboot.com/kernels/6.18.54/ the
> > authoritative input for the process that produces
> > https://storage.tuxboot.com/buildroot/20260924/x86_64/ ?
>
> No - they are different builds, but the kernel builds have had the
> symbol generation turned on and the buildroot images are generic anyway
> which is why they still work together.
Ok, anyway, no objection to the patch. Just expand on the
commit message little in any way you feel is useful. No
need for me to re-review it.
>
> >
> > I see the later patch is pulling in vmlinuz.xz from the
> > former location, so I guess you're trying to just use
> > the common location for both kernel images ?
> >
> >>
> >> >
> >> >>
> >> >> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> >> >> Message-ID: <20260930164649.433573-10-alex.bennee@linaro.org>
> >> >> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> >> >> ---
> >> >> tests/functional/x86_64/test_tuxrun.py | 8 ++++----
> >> >> 1 file changed, 4 insertions(+), 4 deletions(-)
> >> >>
> >> >> diff --git a/tests/functional/x86_64/test_tuxrun.py b/tests/functional/x86_64/test_tuxrun.py
> >> >> index 729f6447d05..026b373accb 100755
> >> >> --- a/tests/functional/x86_64/test_tuxrun.py
> >> >> +++ b/tests/functional/x86_64/test_tuxrun.py
> >> >> @@ -17,11 +17,11 @@
> >> >> class TuxRunX86Test(TuxRunBaselineTest):
> >> >>
> >> >> ASSET_X86_64_KERNEL = Asset(
> >> >> - 'https://storage.tuxboot.com/buildroot/20241119/x86_64/bzImage',
> >> >> - 'f57bfc6553bcd6e0a54aab86095bf642b33b5571d14e3af1731b18c87ed5aef8')
> >> >> + 'https://storage.tuxboot.com/kernels/6.18.54/x86_64/bzImage',
> >> >> + '24a3ade610c2cc426ff821050de8a35930b0371357d94cc2c334abac6658552b')
> >> >> ASSET_X86_64_ROOTFS = Asset(
> >> >> - 'https://storage.tuxboot.com/buildroot/20241119/x86_64/rootfs.ext4.zst',
> >> >> - '4b8b2a99117519c5290e1202cb36eb6c7aaba92b357b5160f5970cf5fb78a751')
> >> >> + 'https://storage.tuxboot.com/buildroot/20260924/x86_64/rootfs.ext4.zst',
> >> >> + '8e310455b0244414ccff29c507f7ccfd4032e3587cc405e49ab0322738e3e27c')
> >> >>
> >> >> def test_x86_64(self):
> >> >> self.require_accelerator("tcg")
> >> >> --
> >> >> 2.47.3
> >> >>
> >> >
> >> > With regards,
> >> > Daniel
> >>
> >> --
> >> Alex Bennée
> >> Virtualisation Tech Lead @ Linaro
> >>
> >
> > With regards,
> > Daniel
>
> --
> Alex Bennée
> Virtualisation Tech Lead @ Linaro
>
With regards,
Daniel
--
|: https://berrange.com ~~ https://hachyderm.io/@berrange :|
|: https://libvirt.org ~~ https://entangle-photo.org :|
|: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|
^ permalink raw reply [flat|nested] 33+ messages in thread
end of thread, other threads:[~2026-10-13 10:23 UTC | newest]
Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-12 17:03 [PATCH v2 00/16] testing/next: functional testing updates for gdb Alex Bennée
2026-10-12 17:03 ` [PATCH v2 01/16] tests/functional: test_acpi_bits requires TCG Alex Bennée
2026-10-12 17:03 ` [PATCH v2 02/16] tests/tcg: fix buffer overflow in multiarch/linux/linux-sigrtminmax Alex Bennée
2026-10-12 17:03 ` [PATCH v2 03/16] meson: move gdb detection into the top level build file Alex Bennée
2026-10-12 17:03 ` [PATCH v2 04/16] tests/functional: allow tuxrun tests to be passed "accel" Alex Bennée
2026-10-12 21:52 ` marcandre.lureau
2026-10-12 17:03 ` [PATCH v2 05/16] tests/functional: split x86_64 tuxrun into tcg and kvm run Alex Bennée
2026-10-12 17:03 ` [PATCH v2 06/16] tests/functional: update x86_64 tuxrun images Alex Bennée
2026-10-13 8:05 ` Daniel P. Berrangé
2026-10-13 9:35 ` Alex Bennée
2026-10-13 9:53 ` Daniel P. Berrangé
2026-10-13 10:11 ` Alex Bennée
2026-10-13 10:22 ` Daniel P. Berrangé
2026-10-12 17:03 ` [PATCH v2 07/16] tests/guest-debug: add --kargs option to run-test Alex Bennée
2026-10-12 17:03 ` [PATCH v2 08/16] tests/guest-debug: add --symbols " Alex Bennée
2026-10-12 17:03 ` [PATCH v2 09/16] tests/functional: teach tuxrun about launching gdb tests Alex Bennée
2026-10-12 21:52 ` marcandre.lureau
2026-10-12 17:03 ` [PATCH v2 10/16] tests/functional: add tuxrun kvm gdb test for x86_64 Alex Bennée
2026-10-12 17:03 ` [PATCH v2 11/16] tests/functional: split aarch64 tuxrun into tcg and kvm run Alex Bennée
2026-10-12 21:52 ` marcandre.lureau
2026-10-12 17:03 ` [PATCH v2 12/16] tests/functional: update arm64 tuxrun images Alex Bennée
2026-10-12 21:52 ` marcandre.lureau
2026-10-13 8:09 ` Daniel P. Berrangé
2026-10-13 9:36 ` Alex Bennée
2026-10-12 17:03 ` [PATCH v2 13/16] tests/functional: add tuxrun kvm gdb test for arm64 Alex Bennée
2026-10-12 21:52 ` marcandre.lureau
2026-10-12 17:03 ` [PATCH v2 14/16] tests/functional: split s390x tuxrun into tcg and kvm run Alex Bennée
2026-10-12 21:52 ` marcandre.lureau
2026-10-12 17:03 ` [PATCH v2 15/16] tests/functional: update s390x tuxrun images Alex Bennée
2026-10-12 21:52 ` marcandre.lureau
2026-10-13 8:08 ` Daniel P. Berrangé
2026-10-12 17:03 ` [PATCH v2 16/16] tests/functional: add tuxrun kvm gdb test for s390x Alex Bennée
2026-10-12 21:52 ` marcandre.lureau
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.