* [PULL for 11.0 0/8] testing updates (tcg, functional, lcitool)
@ 2026-03-23 15:56 Alex Bennée
2026-03-23 15:56 ` [PULL 1/8] tests/tcg: allow filtering of TCG tests Alex Bennée
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: Alex Bennée @ 2026-03-23 15:56 UTC (permalink / raw)
To: qemu-devel; +Cc: Alex Bennée
The following changes since commit eb153d8fd3be325a5aa7e1a6a73be8854eeaaf27:
Merge tag 'pull-target-arm-20260323' of https://gitlab.com/pm215/qemu into staging (2026-03-23 10:55:20 +0000)
are available in the Git repository at:
https://gitlab.com/stsquad/qemu.git tags/pull-11.0-testing-updates-230326-1
for you to fetch changes up to 643a171f56682360a9540783c9edb4f69d639965:
tests: Replace ncat with socat in migration test and drop ncat from containers (2026-03-23 13:13:07 +0000)
----------------------------------------------------------------
testing updates: tcg, functional, lcitool
- add TCG_TEST_FILTER to filter check-tcg runs
- use portable version of dirent64 in linux-test
- add VBSA linux tests
- drop python3-sqlite from deps
- update openSUSE to version 16
- replace ncat with socat for migration tests
----------------------------------------------------------------
Alex Bennée (3):
tests/tcg: allow filtering of TCG tests
tests/functional: allow tests to define decompression target
tests/functional: add VBSA linux tests
Matheus Tavares Bernardino (1):
tests/tcg/multiarch/linux-test: use portable alternative for dirent64
Thomas Huth (4):
tests/lcitool: Remove python3-sqlite3 from the list of needed packages
tests/lcitool: Update openSUSE to version 16
tests/docker: Update the opensuse-leap container file to version 16
tests: Replace ncat with socat in migration test and drop ncat from containers
configure | 1 -
tests/tcg/multiarch/linux/linux-test.c | 5 +-
scripts/ci/setup/debian/debian-13-ppc64le.yaml | 1 -
scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml | 1 -
scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml | 1 -
tests/Makefile.include | 8 +-
tests/docker/dockerfiles/alpine.docker | 1 -
tests/docker/dockerfiles/centos9.docker | 1 -
tests/docker/dockerfiles/debian-amd64-cross.docker | 1 -
tests/docker/dockerfiles/debian-arm64-cross.docker | 1 -
tests/docker/dockerfiles/debian-armhf-cross.docker | 1 -
tests/docker/dockerfiles/debian-i686-cross.docker | 1 -
.../dockerfiles/debian-mips64el-cross.docker | 1 -
.../docker/dockerfiles/debian-mipsel-cross.docker | 1 -
.../docker/dockerfiles/debian-ppc64el-cross.docker | 1 -
.../docker/dockerfiles/debian-riscv64-cross.docker | 1 -
tests/docker/dockerfiles/debian-s390x-cross.docker | 1 -
tests/docker/dockerfiles/debian.docker | 1 -
.../docker/dockerfiles/fedora-rust-nightly.docker | 1 -
tests/docker/dockerfiles/fedora-win64-cross.docker | 1 -
tests/docker/dockerfiles/fedora.docker | 1 -
tests/docker/dockerfiles/opensuse-leap.docker | 35 +++---
tests/docker/dockerfiles/ubuntu2204.docker | 1 -
tests/functional/aarch64/test_virt_vbsa.py | 122 +++++++++++++++++++--
tests/functional/migration.py | 4 +-
tests/functional/qemu_test/testcase.py | 9 +-
tests/lcitool/mappings.yml | 58 ----------
tests/lcitool/projects/qemu.yml | 2 -
tests/lcitool/refresh | 2 +-
tests/tcg/Makefile.target | 12 +-
30 files changed, 156 insertions(+), 121 deletions(-)
--
2.47.3
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PULL 1/8] tests/tcg: allow filtering of TCG tests
2026-03-23 15:56 [PULL for 11.0 0/8] testing updates (tcg, functional, lcitool) Alex Bennée
@ 2026-03-23 15:56 ` Alex Bennée
2026-03-23 15:56 ` [PULL 2/8] tests/tcg/multiarch/linux-test: use portable alternative for dirent64 Alex Bennée
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Alex Bennée @ 2026-03-23 15:56 UTC (permalink / raw)
To: qemu-devel
Cc: Alex Bennée, Pierrick Bouvier, Paolo Bonzini,
Philippe Mathieu-Daudé
We have a lot of TCG tests now which can be fiddly if we just want to
check one particular test type across the targets. Introduce
TCG_TEST_FILTER to allow this:
make check-tcg TCG_TEST_FILTER=gdb
to run all the gdb tests across the suites.
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-ID: <20260320155107.2143191-2-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
diff --git a/tests/Makefile.include b/tests/Makefile.include
index 59b9a4b9220..f257288194d 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -16,9 +16,11 @@ check-help:
@echo " $(MAKE) check-tracetool Run tracetool generator tests"
@echo " $(MAKE) check-block Run block tests"
ifneq ($(filter $(all-check-targets), check-softfloat),)
- @echo " $(MAKE) check-tcg Run TCG tests"
@echo " $(MAKE) check-softfloat Run FPU emulation tests"
- @echo " $(MAKE) run-tcg-tests-TARGET-softmmu Run TCG tests for a given target"
+ @echo " $(MAKE) check-tcg Run TCG tests"
+ @echo " $(MAKE) run-tcg-tests-TARGET Run TCG tests for a given target"
+ @echo
+ @echo "The variable TCG_TEST_FILTER will select the subset of matching tests."
endif
@echo
@echo " $(MAKE) check-report.junit.xml Generates an aggregated XML test report"
@@ -64,7 +66,7 @@ $(TCG_TESTS_TARGETS:%=build-tcg-tests-%): build-tcg-tests-%: $(BUILD_DIR)/tests/
.PHONY: $(TCG_TESTS_TARGETS:%=run-tcg-tests-%)
$(TCG_TESTS_TARGETS:%=run-tcg-tests-%): run-tcg-tests-%: build-tcg-tests-%
$(call quiet-command, \
- $(MAKE) -C tests/tcg/$* $(SUBDIR_MAKEFLAGS) SPEED=$(SPEED) run, \
+ $(MAKE) -C tests/tcg/$* $(SUBDIR_MAKEFLAGS) SPEED=$(SPEED) TCG_TEST_FILTER=$(TCG_TEST_FILTER) run, \
"RUN", "$* guest-tests")
.PHONY: $(TCG_TESTS_TARGETS:%=clean-tcg-tests-%)
diff --git a/tests/tcg/Makefile.target b/tests/tcg/Makefile.target
index af72903f898..1b83824ff4e 100644
--- a/tests/tcg/Makefile.target
+++ b/tests/tcg/Makefile.target
@@ -254,8 +254,15 @@ endif
gdb-%: %
gdb --args $(QEMU) $(QEMU_OPTS) $<
+# Filter tests based on TCG_TEST_FILTER if set
+ifdef TCG_TEST_FILTER
+FILTERED_RUN_TESTS=$(foreach test,$(RUN_TESTS),$(if $(findstring $(TCG_TEST_FILTER),$(test)),$(test)))
+else
+FILTERED_RUN_TESTS=$(RUN_TESTS)
+endif
+
.PHONY: run
-run: $(RUN_TESTS)
+run: $(FILTERED_RUN_TESTS)
clean:
rm -f $(TESTS) *.o $(CLEANFILES)
@@ -269,3 +276,6 @@ help:
@echo "Built with $(CC)"
@echo "Available tests:"
@$(foreach t,$(RUN_TESTS),echo " $t";)
+ @echo ""
+ @echo "Environment variables:"
+ @echo " TCG_TEST_FILTER=<pattern> Filter tests matching pattern"
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PULL 2/8] tests/tcg/multiarch/linux-test: use portable alternative for dirent64
2026-03-23 15:56 [PULL for 11.0 0/8] testing updates (tcg, functional, lcitool) Alex Bennée
2026-03-23 15:56 ` [PULL 1/8] tests/tcg: allow filtering of TCG tests Alex Bennée
@ 2026-03-23 15:56 ` Alex Bennée
2026-03-23 15:56 ` [PULL 3/8] tests/functional: allow tests to define decompression target Alex Bennée
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Alex Bennée @ 2026-03-23 15:56 UTC (permalink / raw)
To: qemu-devel
Cc: Matheus Tavares Bernardino, Brian Cain, Pierrick Bouvier,
Alex Bennée
From: Matheus Tavares Bernardino <matheus.bernardino@oss.qualcomm.com>
dirent64 and readdir64 are glibc-specific and not portable to other
C libraries such as musl. Define _FILE_OFFSET_BITS=64 instead, which
portably instructs all libc implementations to use 64-bit file offsets,
making readdir() and struct dirent equivalent to their 64-bit variants.
Signed-off-by: Matheus Tavares Bernardino <matheus.bernardino@oss.qualcomm.com>
Reviewed-by: Brian Cain <brian.cain@oss.qualcomm.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-ID: <af31d21c4d668cfb940ba4159f584fa6454c3d82.1772107448.git.matheus.bernardino@oss.qualcomm.com>
Message-ID: <20260320155107.2143191-3-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
diff --git a/tests/tcg/multiarch/linux/linux-test.c b/tests/tcg/multiarch/linux/linux-test.c
index bf6e0fda262..0fa3165602f 100644
--- a/tests/tcg/multiarch/linux/linux-test.c
+++ b/tests/tcg/multiarch/linux/linux-test.c
@@ -16,6 +16,7 @@
* You should have received a copy of the GNU General Public License
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
+#define _FILE_OFFSET_BITS 64
#define _GNU_SOURCE
#include <stdarg.h>
#include <stdlib.h>
@@ -83,7 +84,7 @@ static void test_file(void)
struct utimbuf tbuf;
struct iovec vecs[2];
DIR *dir;
- struct dirent64 *de;
+ struct dirent *de;
/* TODO: make common tempdir creation for tcg tests */
char template[] = "/tmp/linux-test-XXXXXX";
char *tmpdir = mkdtemp(template);
@@ -191,7 +192,7 @@ static void test_file(void)
error("opendir");
len = 0;
for(;;) {
- de = readdir64(dir);
+ de = readdir(dir);
if (!de)
break;
if (strcmp(de->d_name, ".") != 0 &&
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PULL 3/8] tests/functional: allow tests to define decompression target
2026-03-23 15:56 [PULL for 11.0 0/8] testing updates (tcg, functional, lcitool) Alex Bennée
2026-03-23 15:56 ` [PULL 1/8] tests/tcg: allow filtering of TCG tests Alex Bennée
2026-03-23 15:56 ` [PULL 2/8] tests/tcg/multiarch/linux-test: use portable alternative for dirent64 Alex Bennée
@ 2026-03-23 15:56 ` Alex Bennée
2026-03-23 15:56 ` [PULL 4/8] tests/functional: add VBSA linux tests Alex Bennée
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Alex Bennée @ 2026-03-23 15:56 UTC (permalink / raw)
To: qemu-devel
Cc: Alex Bennée, Pierrick Bouvier, Thomas Huth,
Philippe Mathieu-Daudé, Daniel P. Berrangé
When dealing with multi-stage decompression we want to specify the
target file name lest we just overload the cache name. It also allows
for something is little more friendly than the cache hash.
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-ID: <20260320155107.2143191-4-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
diff --git a/tests/functional/qemu_test/testcase.py b/tests/functional/qemu_test/testcase.py
index c2c916f6077..eaec1bea138 100644
--- a/tests/functional/qemu_test/testcase.py
+++ b/tests/functional/qemu_test/testcase.py
@@ -35,7 +35,7 @@
class QemuBaseTest(unittest.TestCase):
- def uncompress(self, compressed, format=None):
+ def uncompress(self, compressed, target=None, format=None):
'''
@params compressed: filename, Asset, or file-like object to uncompress
@params format: optional compression format (gzip, lzma)
@@ -52,8 +52,11 @@ def uncompress(self, compressed, format=None):
if isinstance(compressed, Asset):
compressed.fetch()
- (name, _ext) = os.path.splitext(str(compressed))
- uncompressed = self.scratch_file(os.path.basename(name))
+ if target is not None:
+ uncompressed = self.scratch_file(target)
+ else:
+ (name, _ext) = os.path.splitext(str(compressed))
+ uncompressed = self.scratch_file(os.path.basename(name))
uncompress(compressed, uncompressed, format)
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PULL 4/8] tests/functional: add VBSA linux tests
2026-03-23 15:56 [PULL for 11.0 0/8] testing updates (tcg, functional, lcitool) Alex Bennée
` (2 preceding siblings ...)
2026-03-23 15:56 ` [PULL 3/8] tests/functional: allow tests to define decompression target Alex Bennée
@ 2026-03-23 15:56 ` Alex Bennée
2026-03-23 15:56 ` [PULL 5/8] tests/lcitool: Remove python3-sqlite3 from the list of needed packages Alex Bennée
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Alex Bennée @ 2026-03-23 15:56 UTC (permalink / raw)
To: qemu-devel
Cc: Alex Bennée, Pierrick Bouvier, Peter Maydell, open list:Virt
This extends the VBSA test to run the linux tests. The sysarch-acs
test suite does provide some pre-built images which is good because
the tests require a patched kernel. However due to the structure of
the image we need to jump one or two hoops to get something useful:
- download and double decompress (zip then xz) the image
- navigate grub to launch the Linux Execution Environment
- shutdown the system once tests are done
- extract the logs from the MSDOS file system and parse them
It does make the code a bit ugly but it works for me at least. So far
the subset of tests run is limited but that might be solved by adding
some more devices to the PCIe bus to exercise the SMMU behaviour.
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-ID: <20260320155107.2143191-5-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
diff --git a/tests/functional/aarch64/test_virt_vbsa.py b/tests/functional/aarch64/test_virt_vbsa.py
index 1dd4cecde1e..57bfe5d7af2 100755
--- a/tests/functional/aarch64/test_virt_vbsa.py
+++ b/tests/functional/aarch64/test_virt_vbsa.py
@@ -10,7 +10,8 @@
# SPDX-License-Identifier: GPL-2.0-or-later
import shutil
-from subprocess import check_call, DEVNULL
+import re
+from subprocess import check_call, check_output, DEVNULL
from qemu_test import QemuSystemTest, Asset
from qemu_test import get_qemu_img, skipIfMissingCommands
@@ -28,6 +29,20 @@ def wait_for_console_pattern(self, success_message, vm=None):
failure_message='FAILED',
vm=vm)
+ def append_firmware_blobs(self):
+ """
+ Setup QEMU firmware blobs for boot.
+ """
+ code_path = self.build_file('pc-bios', 'edk2-aarch64-code.fd')
+ vars_source = self.build_file('pc-bios', 'edk2-arm-vars.fd')
+ vars_path = self.scratch_file('vars.fd')
+ shutil.copy(vars_source, vars_path)
+
+ self.vm.add_args('-drive',
+ f'if=pflash,format=raw,readonly=on,file={code_path}')
+ self.vm.add_args('-drive', f'if=pflash,format=raw,file={vars_path}')
+
+
ASSET_VBSA_EFI = Asset(
'https://github.com/ARM-software/sysarch-acs/raw/refs/heads/main'
'/prebuilt_images/VBSA/v25.12_VBSA_0.7.0/Vbsa.efi',
@@ -45,20 +60,12 @@ def test_aarch64_vbsa_uefi_tests(self):
self.vm.set_console()
- # virt machine wi
+ # virt machine
self.set_machine('virt')
self.vm.add_args('-M', 'virt,gic-version=max,virtualization=on')
self.vm.add_args('-cpu', 'max', '-m', '1024')
- # We will use the QEMU firmware blobs to boot
- code_path = self.build_file('pc-bios', 'edk2-aarch64-code.fd')
- vars_source = self.build_file('pc-bios', 'edk2-arm-vars.fd')
- vars_path = self.scratch_file('vars.fd')
- shutil.copy(vars_source, vars_path)
-
- self.vm.add_args('-drive',
- f'if=pflash,format=raw,readonly=on,file={code_path}')
- self.vm.add_args('-drive', f'if=pflash,format=raw,file={vars_path}')
+ self.append_firmware_blobs()
# Build an EFI FAT32 file-system for the UEFI tests
vbsa_efi = self.ASSET_VBSA_EFI.fetch()
@@ -102,5 +109,98 @@ def test_aarch64_vbsa_uefi_tests(self):
self.wait_for_console_pattern('VBSA tests complete. Reset the system.')
+ ASSET_SYSREADY_IMAGE = Asset(
+ 'https://github.com/ARM-software/arm-systemready/'
+ 'releases/download/v25.10_SR_3.1.0/systemready_acs_live_image.img.xz.zip',
+ 'df2c359de15784b1da6a8e6f3c98a053ee38ac0b3f241ccea62e17db092eb03a')
+
+ ROOT_PROMPT = '/ # '
+
+ @skipIfMissingCommands("sfdisk", "jq", "sed")
+ def test_aarch64_vbsa_linux_tests(self):
+ """
+ Launch the Linux based VBSA test from the ACS prebuilt images.
+
+ We can use the pre-built images and then trigger the Linux
+ build and run the tests. We then need to slurp the results
+ from the partition.
+ """
+
+ self.vm.set_console()
+
+ # Plain virt machine
+ self.set_machine('virt')
+ self.vm.add_args('-M', 'virt,gic-version=max')
+ self.vm.add_args('-cpu', 'max', '-m', '1024', '-smp', '4')
+
+ self.append_firmware_blobs()
+
+ # First fetch, decompress (twice) and prepare the disk image
+ # on an NVME device (the kernel only has drivers for that).
+ self.archive_extract(self.ASSET_SYSREADY_IMAGE, format="zip")
+ disk_image_xz = self.scratch_file("systemready_acs_live_image.img.xz")
+ disk_image = self.uncompress(disk_image_xz)
+
+ self.vm.add_args('-device',
+ 'nvme,drive=hd,serial=QEMU_ROOT_SSD')
+ self.vm.add_args('-blockdev',
+ f'driver=raw,node-name=hd,file.driver=file,file.filename={disk_image}')
+
+ # Tweak grub.cfg default to avoid manually navigating grub
+ grub_cfg = self.scratch_file("grub.cfg")
+ offset = int(check_output(f"sfdisk --json {disk_image} |"
+ "jq '.partitiontable.partitions[0].start * 512'",
+ shell=True))
+ check_call(["mcopy", "-i", f"{disk_image}@@{offset}",
+ "::/EFI/BOOT/grub.cfg", grub_cfg])
+
+ with open(grub_cfg, 'a', encoding="utf8") as f:
+ f.write("set default='Linux Execution Enviroment'")
+
+ check_call(["mcopy", "-D", "o", "-i", f"{disk_image}@@{offset}",
+ grub_cfg, "::/EFI/BOOT/grub.cfg"])
+
+ # Launch QEMU and wait for grub and select the "Linux
+ # Execution Environment" so we can launch the test.
+
+ self.vm.launch()
+ self.wait_for_console_pattern(self.ROOT_PROMPT)
+ ec_and_wait(self, "/usr/bin/bsa.sh --skip "
+ "B_REP_1,B_IEP_1,B_PCIe_11,B_MEM_06",
+ self.ROOT_PROMPT)
+
+ # Now we can shutdown
+ ec_and_wait(self, "halt -f", "reboot: System halted")
+ self.vm.shutdown()
+
+ # and extract the test logs
+ bsa_app_res = self.scratch_file("BsaResultsApp.log")
+ bsa_kern_res = self.scratch_file("BsaResultsKernel.log")
+
+ check_call(["mcopy", "-i", f"{disk_image}@@{offset}",
+ "::acs_results/Linux/BsaResultsApp.log", bsa_app_res])
+ check_call(["mcopy", "-i", f"{disk_image}@@{offset}",
+ "::acs_results/Linux/BsaResultsKernel.log", bsa_kern_res])
+
+ # for now just check the kernel log for the result summary
+ test_result_re = re.compile(r"\[.*\]\s+(.+): Result:\s+(\w+)")
+ summary_re = re.compile(r"Total Tests Run =\s*(\d+), Tests Passed =\s*(\d+), Tests Failed =\s*(\d+)")
+
+ with open(bsa_kern_res, 'r', encoding="utf8") as f:
+ for line in f:
+ test_match = test_result_re.search(line)
+ if test_match:
+ desc = test_match.group(1)
+ status = test_match.group(2)
+ self.log.info(f"Test: {desc} status: {status}")
+
+ match = summary_re.search(line)
+ if match:
+ total, passed, failed = match.groups()
+
+ if int(failed) > 0:
+ self.fail(f"{failed} tests failed ({total})")
+
+
if __name__ == '__main__':
QemuSystemTest.main()
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PULL 5/8] tests/lcitool: Remove python3-sqlite3 from the list of needed packages
2026-03-23 15:56 [PULL for 11.0 0/8] testing updates (tcg, functional, lcitool) Alex Bennée
` (3 preceding siblings ...)
2026-03-23 15:56 ` [PULL 4/8] tests/functional: add VBSA linux tests Alex Bennée
@ 2026-03-23 15:56 ` Alex Bennée
2026-03-23 15:56 ` [PULL 6/8] tests/lcitool: Update openSUSE to version 16 Alex Bennée
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Alex Bennée @ 2026-03-23 15:56 UTC (permalink / raw)
To: qemu-devel; +Cc: Thomas Huth, Alex Bennée, Philippe Mathieu-Daudé
From: Thomas Huth <thuth@redhat.com>
According to commit 7485508341f4 ("tests/docker: Add sqlite3 module to
openSUSE Leap container") that introduced this line, the sqlite3 package
was only required for Avocado. We don't use Avocado in QEMU anymore since
a while, so we can drop this package now from our list again.
Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-ID: <20260316135407.209072-2-thuth@redhat.com>
Message-ID: <20260320155107.2143191-6-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
diff --git a/tests/lcitool/projects/qemu.yml b/tests/lcitool/projects/qemu.yml
index 5e34e953514..b78a1d7f2e0 100644
--- a/tests/lcitool/projects/qemu.yml
+++ b/tests/lcitool/projects/qemu.yml
@@ -101,7 +101,6 @@ packages:
- python3-setuptools
- python3-sphinx
- python3-sphinx-rtd-theme
- - python3-sqlite3
- python3-tomli
- python3-venv
- python3-wheel
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PULL 6/8] tests/lcitool: Update openSUSE to version 16
2026-03-23 15:56 [PULL for 11.0 0/8] testing updates (tcg, functional, lcitool) Alex Bennée
` (4 preceding siblings ...)
2026-03-23 15:56 ` [PULL 5/8] tests/lcitool: Remove python3-sqlite3 from the list of needed packages Alex Bennée
@ 2026-03-23 15:56 ` Alex Bennée
2026-03-23 15:56 ` [PULL 7/8] tests/docker: Update the opensuse-leap container file " Alex Bennée
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Alex Bennée @ 2026-03-23 15:56 UTC (permalink / raw)
To: qemu-devel
Cc: Thomas Huth, Alex Bennée, Paolo Bonzini,
Philippe Mathieu-Daudé
From: Thomas Huth <thuth@redhat.com>
The first version of openSUSE 15 has been released in 2018, and
according to our support policy, we "support the most recent major
version at all times for up to five years after its initial release."
Since openSUSE 16 has been released a while ago, and openSUSE is
clearly older than 5 years already, it's time to update to version 16
now.
Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-ID: <20260316135407.209072-3-thuth@redhat.com>
Message-ID: <20260320155107.2143191-7-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
diff --git a/configure b/configure
index 42c45fe47a0..eea90306728 100755
--- a/configure
+++ b/configure
@@ -927,7 +927,6 @@ if ! check_py_version "$python"; then
error_exit "Cannot use '$python', Python >= 3.9 is required." \
"Use --python=/path/to/python to specify a supported Python." \
"Maybe try:" \
- " openSUSE Leap 15.3+: zypper install python39" \
" CentOS: dnf install python3.12"
fi
diff --git a/tests/lcitool/mappings.yml b/tests/lcitool/mappings.yml
index 60618971584..62fe60d047f 100644
--- a/tests/lcitool/mappings.yml
+++ b/tests/lcitool/mappings.yml
@@ -3,70 +3,17 @@ mappings:
bindgen:
Ubuntu2204:
- flake8:
- OpenSUSELeap15:
-
meson:
- OpenSUSELeap15:
# Use Meson from PyPI wherever Rust is enabled
Debian:
Fedora:
Ubuntu:
- python3:
- OpenSUSELeap15: python311-base
-
- python3-PyYAML:
- OpenSUSELeap15:
-
- python3-devel:
- OpenSUSELeap15: python311-devel
-
- python3-docutils:
- OpenSUSELeap15:
-
- python3-numpy:
- OpenSUSELeap15:
-
- python3-opencv:
- OpenSUSELeap15:
-
- python3-pillow:
- OpenSUSELeap15:
-
- python3-pip:
- OpenSUSELeap15: python311-pip
-
- python3-pillow:
- OpenSUSELeap15:
-
- python3-selinux:
- OpenSUSELeap15:
-
- python3-setuptools:
- OpenSUSELeap15: python311-setuptools
-
- python3-sphinx:
- OpenSUSELeap15:
-
- python3-sphinx-rtd-theme:
- OpenSUSELeap15:
-
- python3-sqlite3:
- OpenSUSELeap15: python311
-
python3-tomli:
# test using tomllib
apk:
Fedora:
Debian12:
- OpenSUSELeap15:
-
- python3-venv:
- OpenSUSELeap15: python311-base
-
- python3-wheel:
- OpenSUSELeap15: python311-wheel
rust:
Debian12: rustc-web
@@ -79,12 +26,7 @@ pypi_mappings:
default: meson==1.8.1
# Drop packages that need devel headers
- python3-numpy:
- OpenSUSELeap15:
-
- # see above
python3-tomli:
apk:
Fedora:
Debian12:
- OpenSUSELeap15:
diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
index 79a280feab4..e4d01d792b7 100755
--- a/tests/lcitool/refresh
+++ b/tests/lcitool/refresh
@@ -226,7 +226,7 @@ try:
generate_dockerfile("debian", "debian-13",
trailer="".join(debian13_extras))
generate_dockerfile("fedora", "fedora-43")
- generate_dockerfile("opensuse-leap", "opensuse-leap-15")
+ generate_dockerfile("opensuse-leap", "opensuse-leap-16")
generate_dockerfile("ubuntu2204", "ubuntu-2204",
trailer="".join(ubuntu2204_rust_extras),
# https://bugs.launchpad.net/ubuntu/+source/rustc-1.83/+bug/2120318
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PULL 7/8] tests/docker: Update the opensuse-leap container file to version 16
2026-03-23 15:56 [PULL for 11.0 0/8] testing updates (tcg, functional, lcitool) Alex Bennée
` (5 preceding siblings ...)
2026-03-23 15:56 ` [PULL 6/8] tests/lcitool: Update openSUSE to version 16 Alex Bennée
@ 2026-03-23 15:56 ` Alex Bennée
2026-03-23 15:56 ` [PULL 8/8] tests: Replace ncat with socat in migration test and drop ncat from containers Alex Bennée
2026-03-24 10:07 ` [PULL for 11.0 0/8] testing updates (tcg, functional, lcitool) Peter Maydell
8 siblings, 0 replies; 10+ messages in thread
From: Alex Bennée @ 2026-03-23 15:56 UTC (permalink / raw)
To: qemu-devel; +Cc: Thomas Huth, Alex Bennée, Philippe Mathieu-Daudé
From: Thomas Huth <thuth@redhat.com>
Run "make lcitool-refresh" to update the container file to the latest
version of openSUSE.
Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-ID: <20260316135407.209072-4-thuth@redhat.com>
Message-ID: <20260320155107.2143191-8-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
diff --git a/tests/docker/dockerfiles/opensuse-leap.docker b/tests/docker/dockerfiles/opensuse-leap.docker
index d693f2c6f85..66e90fa3634 100644
--- a/tests/docker/dockerfiles/opensuse-leap.docker
+++ b/tests/docker/dockerfiles/opensuse-leap.docker
@@ -1,13 +1,12 @@
# THIS FILE WAS AUTO-GENERATED
#
-# $ lcitool dockerfile --layers all opensuse-leap-15 qemu
+# $ lcitool dockerfile --layers all opensuse-leap-16 qemu
#
# https://gitlab.com/libvirt/libvirt-ci
-FROM registry.opensuse.org/opensuse/leap:15.6
+FROM registry.opensuse.org/opensuse/leap:16.0
RUN zypper update -y && \
- zypper addrepo -fc https://download.opensuse.org/update/leap/15.6/backports/openSUSE:Backports:SLE-15-SP6:Update.repo && \
zypper install -y \
Mesa-devel \
alsa-lib-devel \
@@ -80,13 +79,14 @@ RUN zypper update -y && \
libudev-devel \
liburing-devel \
libusb-1_0-devel \
+ libxdp-devel \
libzstd-devel \
llvm \
lttng-ust-devel \
lzo-devel \
make \
+ meson \
mtools \
- ncat \
ncurses-devel \
ninja \
openssh \
@@ -94,11 +94,17 @@ RUN zypper update -y && \
pcre2-devel-static \
pipewire-devel \
pkgconfig \
- python311 \
- python311-base \
- python311-pip \
- python311-setuptools \
- python311-wheel \
+ python3-Pillow \
+ python3-PyYAML \
+ python3-Sphinx \
+ python3-base \
+ python3-numpy \
+ python3-opencv \
+ python3-pip \
+ python3-setuptools \
+ python3-sphinx_rtd_theme \
+ python3-tomli \
+ python3-wheel \
rdma-core-devel \
rust \
rust-bindgen \
@@ -110,7 +116,7 @@ RUN zypper update -y && \
spice-protocol-devel \
swtpm \
systemd-devel \
- systemtap-sdt-devel \
+ systemtap-dtrace \
tar \
tesseract-ocr \
tesseract-ocr-traineddata-english \
@@ -133,18 +139,11 @@ RUN zypper update -y && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
-RUN /usr/bin/pip3.11 install \
- PyYAML \
- meson==1.8.1 \
- pillow \
- sphinx \
- sphinx-rtd-theme
-
ENV CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
ENV LANG="en_US.UTF-8"
ENV MAKE="/usr/bin/make"
ENV NINJA="/usr/bin/ninja"
-ENV PYTHON="/usr/bin/python3.11"
+ENV PYTHON="/usr/bin/python3"
# As a final step configure the user (if env is defined)
ARG USER
ARG UID
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PULL 8/8] tests: Replace ncat with socat in migration test and drop ncat from containers
2026-03-23 15:56 [PULL for 11.0 0/8] testing updates (tcg, functional, lcitool) Alex Bennée
` (6 preceding siblings ...)
2026-03-23 15:56 ` [PULL 7/8] tests/docker: Update the opensuse-leap container file " Alex Bennée
@ 2026-03-23 15:56 ` Alex Bennée
2026-03-24 10:07 ` [PULL for 11.0 0/8] testing updates (tcg, functional, lcitool) Peter Maydell
8 siblings, 0 replies; 10+ messages in thread
From: Alex Bennée @ 2026-03-23 15:56 UTC (permalink / raw)
To: qemu-devel
Cc: Thomas Huth, Daniel P. Berrangé, Peter Xu,
Philippe Mathieu-Daudé, Alex Bennée, Fabiano Rosas
From: Thomas Huth <thuth@redhat.com>
nmap / ncat has a somewhat problematic license (e.g. saying claiming
that derived work is also considered for software that "is designed
specifically to execute Covered Software and parse the results", e.g.
by executing ncat from your own program, you might already fall into
this category) - so for example in openSUSE 16, you can only find it
in the "non-OSS" repository.
We are currently only using it in the migration functional test, and
that likely does not fall into this "derived work" category yet (since
it is also doing some other stuff), but still, to be safe, we should
move away from using it now.
Unfortunately, switching to one of the other flavors of netcat is
also not a real option (see commit f700abbbeb6ab68a3446d1fb168a934d),
but socat should be a solid replacement here instead.
To avoid that someone else easily uses ncat again, let's also remove
it from our container files now.
Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Acked-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20260316183016.239526-1-thuth@redhat.com>
Message-ID: <20260320155107.2143191-9-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
diff --git a/scripts/ci/setup/debian/debian-13-ppc64le.yaml b/scripts/ci/setup/debian/debian-13-ppc64le.yaml
index 25d96cea460..b16d6d58f8e 100644
--- a/scripts/ci/setup/debian/debian-13-ppc64le.yaml
+++ b/scripts/ci/setup/debian/debian-13-ppc64le.yaml
@@ -101,7 +101,6 @@ packages:
- make
- mtools
- multipath-tools
- - ncat
- nettle-dev
- ninja-build
- openssh-client
diff --git a/scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml b/scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml
index 6a72eabca9e..b58fcda0fa3 100644
--- a/scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml
+++ b/scripts/ci/setup/ubuntu/ubuntu-2404-aarch64.yaml
@@ -102,7 +102,6 @@ packages:
- make
- mtools
- multipath-tools
- - ncat
- nettle-dev
- ninja-build
- openssh-client
diff --git a/scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml b/scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml
index 6001da12504..fa439db4ca1 100644
--- a/scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml
+++ b/scripts/ci/setup/ubuntu/ubuntu-2404-s390x.yaml
@@ -100,7 +100,6 @@ packages:
- make
- mtools
- multipath-tools
- - ncat
- nettle-dev
- ninja-build
- openssh-client
diff --git a/tests/docker/dockerfiles/alpine.docker b/tests/docker/dockerfiles/alpine.docker
index c0303feb48a..a7ee85fcda7 100644
--- a/tests/docker/dockerfiles/alpine.docker
+++ b/tests/docker/dockerfiles/alpine.docker
@@ -76,7 +76,6 @@ RUN apk update && \
ndctl-dev \
net-tools \
nettle-dev \
- nmap-ncat \
numactl-dev \
openssh-client \
pcre2-dev \
diff --git a/tests/docker/dockerfiles/centos9.docker b/tests/docker/dockerfiles/centos9.docker
index 6b1aa6dc0de..41a1225856e 100644
--- a/tests/docker/dockerfiles/centos9.docker
+++ b/tests/docker/dockerfiles/centos9.docker
@@ -87,7 +87,6 @@ RUN dnf --quiet distro-sync -y && \
ncurses-devel \
nettle-devel \
ninja-build \
- nmap-ncat \
numactl-devel \
openssh-clients \
pam-devel \
diff --git a/tests/docker/dockerfiles/debian-amd64-cross.docker b/tests/docker/dockerfiles/debian-amd64-cross.docker
index c386b658b04..6fad808e1b6 100644
--- a/tests/docker/dockerfiles/debian-amd64-cross.docker
+++ b/tests/docker/dockerfiles/debian-amd64-cross.docker
@@ -37,7 +37,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
locales \
make \
mtools \
- ncat \
ninja-build \
openssh-client \
pkgconf \
diff --git a/tests/docker/dockerfiles/debian-arm64-cross.docker b/tests/docker/dockerfiles/debian-arm64-cross.docker
index 9d83ab7a32e..889d8a1a755 100644
--- a/tests/docker/dockerfiles/debian-arm64-cross.docker
+++ b/tests/docker/dockerfiles/debian-arm64-cross.docker
@@ -37,7 +37,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
locales \
make \
mtools \
- ncat \
ninja-build \
openssh-client \
pkgconf \
diff --git a/tests/docker/dockerfiles/debian-armhf-cross.docker b/tests/docker/dockerfiles/debian-armhf-cross.docker
index c2077ec7a2c..988c87075f6 100644
--- a/tests/docker/dockerfiles/debian-armhf-cross.docker
+++ b/tests/docker/dockerfiles/debian-armhf-cross.docker
@@ -37,7 +37,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
locales \
make \
mtools \
- ncat \
ninja-build \
openssh-client \
pkgconf \
diff --git a/tests/docker/dockerfiles/debian-i686-cross.docker b/tests/docker/dockerfiles/debian-i686-cross.docker
index db9f04ee93d..d720ebb0bca 100644
--- a/tests/docker/dockerfiles/debian-i686-cross.docker
+++ b/tests/docker/dockerfiles/debian-i686-cross.docker
@@ -37,7 +37,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
locales \
make \
mtools \
- ncat \
ninja-build \
openssh-client \
pkgconf \
diff --git a/tests/docker/dockerfiles/debian-mips64el-cross.docker b/tests/docker/dockerfiles/debian-mips64el-cross.docker
index 7758afd80aa..90a2ef15574 100644
--- a/tests/docker/dockerfiles/debian-mips64el-cross.docker
+++ b/tests/docker/dockerfiles/debian-mips64el-cross.docker
@@ -37,7 +37,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
locales \
make \
mtools \
- ncat \
ninja-build \
openssh-client \
pkgconf \
diff --git a/tests/docker/dockerfiles/debian-mipsel-cross.docker b/tests/docker/dockerfiles/debian-mipsel-cross.docker
index cba7f43870f..b7e36b3d974 100644
--- a/tests/docker/dockerfiles/debian-mipsel-cross.docker
+++ b/tests/docker/dockerfiles/debian-mipsel-cross.docker
@@ -37,7 +37,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
locales \
make \
mtools \
- ncat \
ninja-build \
openssh-client \
pkgconf \
diff --git a/tests/docker/dockerfiles/debian-ppc64el-cross.docker b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
index 24f946d1441..a70fbee0c1d 100644
--- a/tests/docker/dockerfiles/debian-ppc64el-cross.docker
+++ b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
@@ -37,7 +37,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
locales \
make \
mtools \
- ncat \
ninja-build \
openssh-client \
pkgconf \
diff --git a/tests/docker/dockerfiles/debian-riscv64-cross.docker b/tests/docker/dockerfiles/debian-riscv64-cross.docker
index f476cf65eaa..9ada5ecce0d 100644
--- a/tests/docker/dockerfiles/debian-riscv64-cross.docker
+++ b/tests/docker/dockerfiles/debian-riscv64-cross.docker
@@ -37,7 +37,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
locales \
make \
mtools \
- ncat \
ninja-build \
openssh-client \
pkgconf \
diff --git a/tests/docker/dockerfiles/debian-s390x-cross.docker b/tests/docker/dockerfiles/debian-s390x-cross.docker
index a60b4ab01d1..a1de94ff9aa 100644
--- a/tests/docker/dockerfiles/debian-s390x-cross.docker
+++ b/tests/docker/dockerfiles/debian-s390x-cross.docker
@@ -37,7 +37,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
locales \
make \
mtools \
- ncat \
ninja-build \
openssh-client \
pkgconf \
diff --git a/tests/docker/dockerfiles/debian.docker b/tests/docker/dockerfiles/debian.docker
index 6c6ab0256ea..c34923b253d 100644
--- a/tests/docker/dockerfiles/debian.docker
+++ b/tests/docker/dockerfiles/debian.docker
@@ -109,7 +109,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
make \
mtools \
multipath-tools \
- ncat \
nettle-dev \
ninja-build \
openssh-client \
diff --git a/tests/docker/dockerfiles/fedora-rust-nightly.docker b/tests/docker/dockerfiles/fedora-rust-nightly.docker
index 38381ef8f59..8766f952ac8 100644
--- a/tests/docker/dockerfiles/fedora-rust-nightly.docker
+++ b/tests/docker/dockerfiles/fedora-rust-nightly.docker
@@ -96,7 +96,6 @@ exec "$@"\n' > /usr/bin/nosync && \
ncurses-devel \
nettle-devel \
ninja-build \
- nmap-ncat \
numactl-devel \
openssh-clients \
pam-devel \
diff --git a/tests/docker/dockerfiles/fedora-win64-cross.docker b/tests/docker/dockerfiles/fedora-win64-cross.docker
index 818485c4ba2..751789e849b 100644
--- a/tests/docker/dockerfiles/fedora-win64-cross.docker
+++ b/tests/docker/dockerfiles/fedora-win64-cross.docker
@@ -42,7 +42,6 @@ exec "$@"\n' > /usr/bin/nosync && \
make \
mtools \
ninja-build \
- nmap-ncat \
openssh-clients \
python3 \
python3-PyYAML \
diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
index 32aaf01aff4..ec787aa7027 100644
--- a/tests/docker/dockerfiles/fedora.docker
+++ b/tests/docker/dockerfiles/fedora.docker
@@ -96,7 +96,6 @@ exec "$@"\n' > /usr/bin/nosync && \
ncurses-devel \
nettle-devel \
ninja-build \
- nmap-ncat \
numactl-devel \
openssh-clients \
pam-devel \
diff --git a/tests/docker/dockerfiles/ubuntu2204.docker b/tests/docker/dockerfiles/ubuntu2204.docker
index 44e763f571a..fb5b03e7a1b 100644
--- a/tests/docker/dockerfiles/ubuntu2204.docker
+++ b/tests/docker/dockerfiles/ubuntu2204.docker
@@ -107,7 +107,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
make \
mtools \
multipath-tools \
- ncat \
nettle-dev \
ninja-build \
openssh-client \
diff --git a/tests/functional/migration.py b/tests/functional/migration.py
index e995328e833..2395119d6c6 100644
--- a/tests/functional/migration.py
+++ b/tests/functional/migration.py
@@ -84,6 +84,6 @@ def migration_with_exec(self):
self.skipTest('ncat is not available')
with Ports() as ports:
free_port = self._get_free_port(ports)
- dst_uri = 'exec:ncat -l localhost %u' % free_port
- src_uri = 'exec:ncat localhost %u' % free_port
+ dst_uri = 'exec:socat TCP-LISTEN:%u -' % free_port
+ src_uri = 'exec:socat - TCP:localhost:%u' % free_port
self.migrate(dst_uri, src_uri)
diff --git a/tests/lcitool/projects/qemu.yml b/tests/lcitool/projects/qemu.yml
index b78a1d7f2e0..131d9c4ec81 100644
--- a/tests/lcitool/projects/qemu.yml
+++ b/tests/lcitool/projects/qemu.yml
@@ -83,7 +83,6 @@ packages:
- meson
- mtools
- ncursesw
- - netcat
- nettle
- ninja
- nsis
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PULL for 11.0 0/8] testing updates (tcg, functional, lcitool)
2026-03-23 15:56 [PULL for 11.0 0/8] testing updates (tcg, functional, lcitool) Alex Bennée
` (7 preceding siblings ...)
2026-03-23 15:56 ` [PULL 8/8] tests: Replace ncat with socat in migration test and drop ncat from containers Alex Bennée
@ 2026-03-24 10:07 ` Peter Maydell
8 siblings, 0 replies; 10+ messages in thread
From: Peter Maydell @ 2026-03-24 10:07 UTC (permalink / raw)
To: Alex Bennée; +Cc: qemu-devel
On Mon, 23 Mar 2026 at 15:57, Alex Bennée <alex.bennee@linaro.org> wrote:
>
> The following changes since commit eb153d8fd3be325a5aa7e1a6a73be8854eeaaf27:
>
> Merge tag 'pull-target-arm-20260323' of https://gitlab.com/pm215/qemu into staging (2026-03-23 10:55:20 +0000)
>
> are available in the Git repository at:
>
> https://gitlab.com/stsquad/qemu.git tags/pull-11.0-testing-updates-230326-1
>
> for you to fetch changes up to 643a171f56682360a9540783c9edb4f69d639965:
>
> tests: Replace ncat with socat in migration test and drop ncat from containers (2026-03-23 13:13:07 +0000)
>
> ----------------------------------------------------------------
> testing updates: tcg, functional, lcitool
>
> - add TCG_TEST_FILTER to filter check-tcg runs
> - use portable version of dirent64 in linux-test
> - add VBSA linux tests
> - drop python3-sqlite from deps
> - update openSUSE to version 16
> - replace ncat with socat for migration tests
>
Applied, thanks.
Please update the changelog at https://wiki.qemu.org/ChangeLog/11.0
for any user-visible changes.
-- PMM
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-03-24 10:08 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-23 15:56 [PULL for 11.0 0/8] testing updates (tcg, functional, lcitool) Alex Bennée
2026-03-23 15:56 ` [PULL 1/8] tests/tcg: allow filtering of TCG tests Alex Bennée
2026-03-23 15:56 ` [PULL 2/8] tests/tcg/multiarch/linux-test: use portable alternative for dirent64 Alex Bennée
2026-03-23 15:56 ` [PULL 3/8] tests/functional: allow tests to define decompression target Alex Bennée
2026-03-23 15:56 ` [PULL 4/8] tests/functional: add VBSA linux tests Alex Bennée
2026-03-23 15:56 ` [PULL 5/8] tests/lcitool: Remove python3-sqlite3 from the list of needed packages Alex Bennée
2026-03-23 15:56 ` [PULL 6/8] tests/lcitool: Update openSUSE to version 16 Alex Bennée
2026-03-23 15:56 ` [PULL 7/8] tests/docker: Update the opensuse-leap container file " Alex Bennée
2026-03-23 15:56 ` [PULL 8/8] tests: Replace ncat with socat in migration test and drop ncat from containers Alex Bennée
2026-03-24 10:07 ` [PULL for 11.0 0/8] testing updates (tcg, functional, lcitool) Peter Maydell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox