aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2026-02-28 14:30:23 +0000
committerPeter Maydell <peter.maydell@linaro.org>2026-02-28 14:30:23 +0000
commitffcf1a7981793973ffbd8100a7c3c6042d02ae23 (patch)
tree800a72a963d2def3c87458a80de9a20c68eca189
parent1dc84c612daf28c9595ce5e8cfbfbf400745cc31 (diff)
parent49105fa01059c100332a583816ba97562e181586 (diff)
downloadqemu-master.zip
qemu-master.tar.gz
qemu-master.tar.bz2
Merge tag 'pull-11.0-testing-updates-270226-2' of https://gitlab.com/stsquad/qemu into stagingHEADstagingmaster
testing updates (vm, docker, arm functional) - migrate non-lcitool Debian containers to Trixie (13) - remove legacy-test-cross hacks - fix some minor make vm- Makefile issues - bump OpenBSD to 7.8 - add VBSA EFI functional test for Arm # -----BEGIN PGP SIGNATURE----- # # iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAmmhlHYACgkQ+9DbCVqe # KkQVsQf+Mnow3ceQ4Tx9ovnn18SyS6+hXzBqUabd2aV4ybnkcwXAsY1XnArINdQP # FuaJNgQalcaQYF9iCgZpSE0hcdk8Zt2lISZOPOAMvZ5zvia+fT2FoqKQYevIK/Oq # 1A8g96yZW33EPi4SemEgnmXoKl8a0/HDqD7AT/L0JJuDWuldplRC2vJHoyT0tnC0 # qgTmENOGJsxbLJnpu9y2PyHpTgeRw7TdHwjN56c8Q0RjIptUFHotU47xYvMAbcdw # E6mbeppnrOlF+0kNBy+jtAg1Fleh7JGIYbwyRh4QctRxIgTgvBJn/ej9BuljI230 # 8bCPaG6X5Ijrru66mTSQNyrsMAu4tA== # =0Rb8 # -----END PGP SIGNATURE----- # gpg: Signature made Fri Feb 27 12:56:22 2026 GMT # gpg: using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44 # gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [full] # Primary key fingerprint: 6685 AE99 E751 67BC AFC8 DF35 FBD0 DB09 5A9E 2A44 * tag 'pull-11.0-testing-updates-270226-2' of https://gitlab.com/stsquad/qemu: tests/functional: add Arm VBSA uefi conformance test tests/vm: build openbsd from lcitool data tests/vm: fix interactive boot tests/vm: remove unused import tests/vm: bump OpenBSD to the current 7.8 release tests/docker: migrate legacy-test-cross compilers to trixie tests/docker: upgrade most non-lcitool debian tests to debian 13 Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--.gitlab-ci.d/buildtest.yml12
-rw-r--r--.gitlab-ci.d/container-cross.yml6
-rw-r--r--.gitlab-ci.d/containers.yml1
-rwxr-xr-xconfigure10
-rw-r--r--tests/docker/dockerfiles/debian-all-test-cross.docker8
-rw-r--r--tests/docker/dockerfiles/debian-hexagon-cross.docker11
-rw-r--r--tests/docker/dockerfiles/debian-legacy-test-cross.docker51
-rw-r--r--tests/docker/dockerfiles/debian-loongarch-cross.docker10
-rw-r--r--tests/docker/dockerfiles/debian-toolchain.docker8
-rw-r--r--tests/docker/dockerfiles/debian-tricore-cross.docker5
-rw-r--r--tests/docker/dockerfiles/debian-xtensa-cross.docker2
-rw-r--r--tests/functional/aarch64/meson.build1
-rwxr-xr-xtests/functional/aarch64/test_virt_vbsa.py106
m---------tests/lcitool/libvirt-ci0
-rwxr-xr-xtests/lcitool/refresh13
-rw-r--r--tests/vm/Makefile.include2
-rw-r--r--tests/vm/generated/openbsd.json27
-rwxr-xr-xtests/vm/openbsd47
18 files changed, 174 insertions, 146 deletions
diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index 1b656b9..fef19c2 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -376,18 +376,6 @@ build-user-static:
variables:
IMAGE: debian-all-test-cross
CONFIGURE_ARGS: --disable-tools --disable-system --static
- --target-list-exclude=alpha-linux-user,sh4-linux-user
- MAKE_CHECK_ARGS: check-tcg
-
-# targets stuck on older compilers
-build-legacy:
- extends: .native_build_job_template
- needs:
- - job: amd64-debian-legacy-cross-container
- variables:
- IMAGE: debian-legacy-test-cross
- TARGETS: alpha-linux-user alpha-softmmu sh4-linux-user
- CONFIGURE_ARGS: --disable-tools
MAKE_CHECK_ARGS: check-tcg
build-user-hexagon:
diff --git a/.gitlab-ci.d/container-cross.yml b/.gitlab-ci.d/container-cross.yml
index 2a0cea6..92a7f1c 100644
--- a/.gitlab-ci.d/container-cross.yml
+++ b/.gitlab-ci.d/container-cross.yml
@@ -10,12 +10,6 @@ amd64-debian-user-cross-container:
variables:
NAME: debian-all-test-cross
-amd64-debian-legacy-cross-container:
- extends: .container_job_template
- stage: containers
- variables:
- NAME: debian-legacy-test-cross
-
arm64-debian-cross-container:
extends: .container_job_template
stage: containers
diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
index 6aeccf8..c8b8e44 100644
--- a/.gitlab-ci.d/containers.yml
+++ b/.gitlab-ci.d/containers.yml
@@ -45,7 +45,6 @@ weekly-container-builds:
# cross
- amd64-debian-cross-container
- amd64-debian-user-cross-container
- - amd64-debian-legacy-cross-container
- arm64-debian-cross-container
- hexagon-cross-container
- loongarch-debian-cross-container
diff --git a/configure b/configure
index 090579b..5e114ac 100755
--- a/configure
+++ b/configure
@@ -1458,7 +1458,7 @@ probe_target_compiler() {
container_image=debian-all-test-cross
container_cross_prefix=aarch64-linux-gnu-
;;
- hppa|m68k|mips|riscv64|sparc64)
+ alpha|hppa|m68k|mips|riscv64|sh4|sparc64)
container_image=debian-all-test-cross
;;
mips64)
@@ -1470,14 +1470,6 @@ probe_target_compiler() {
container_cross_prefix=powerpc${target_arch#ppc}-linux-gnu-
;;
- # debian-legacy-test-cross architectures (need Debian 11)
- # - libc6.1-dev-alpha-cross: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1054412
- # - sh4-linux-user: binaries don't run with bookworm compiler
-
- alpha|sh4)
- container_image=debian-legacy-test-cross
- ;;
-
# architectures with individual containers
aarch64)
diff --git a/tests/docker/dockerfiles/debian-all-test-cross.docker b/tests/docker/dockerfiles/debian-all-test-cross.docker
index 1823233..b73776d 100644
--- a/tests/docker/dockerfiles/debian-all-test-cross.docker
+++ b/tests/docker/dockerfiles/debian-all-test-cross.docker
@@ -64,6 +64,8 @@ ENV AVAILABLE_COMPILERS gcc-aarch64-linux-gnu \
libc6-dev-arm64-cross \
gcc-arm-linux-gnueabihf \
libc6-dev-armhf-cross \
+ gcc-alpha-linux-gnu \
+ libc6.1-dev-alpha-cross \
gcc-mips-linux-gnu \
libc6-dev-mips-cross \
gcc-mips64-linux-gnuabi64 \
@@ -77,7 +79,9 @@ ENV AVAILABLE_COMPILERS gcc-aarch64-linux-gnu \
gcc-riscv64-linux-gnu \
libc6-dev-riscv64-cross \
gcc-s390x-linux-gnu \
- libc6-dev-s390x-cross
+ libc6-dev-s390x-cross\
+ gcc-sh4-linux-gnu \
+ libc6-dev-sh4-cross
RUN if dpkg-architecture -e amd64; then \
export AVAILABLE_COMPILERS="${AVAILABLE_COMPILERS} gcc-hppa-linux-gnu libc6-dev-hppa-cross"; \
export AVAILABLE_COMPILERS="${AVAILABLE_COMPILERS} gcc-m68k-linux-gnu libc6-dev-m68k-cross"; \
@@ -90,7 +94,7 @@ apt install -y --no-install-recommends \
${AVAILABLE_COMPILERS} && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}' --show > /packages.txt
ENV QEMU_CONFIGURE_OPTS --disable-docs
-ENV DEF_TARGET_LIST aarch64-linux-user,arm-linux-user,hppa-linux-user,i386-linux-user,m68k-linux-user,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,ppc-linux-user,ppc64-linux-user,ppc64le-linux-user,riscv64-linux-user,s390x-linux-user,sparc64-linux-user
+ENV DEF_TARGET_LIST aarch64-linux-user,alpha-linux-user,arm-linux-user,hppa-linux-user,i386-linux-user,m68k-linux-user,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,ppc-linux-user,ppc64-linux-user,ppc64le-linux-user,riscv64-linux-user,s390x-linux-user,sh4-linux-user,sparc64-linux-user
# As a final step configure the user (if env is defined)
ARG USER
ARG UID
diff --git a/tests/docker/dockerfiles/debian-hexagon-cross.docker b/tests/docker/dockerfiles/debian-hexagon-cross.docker
index 23152b4..91d4b71 100644
--- a/tests/docker/dockerfiles/debian-hexagon-cross.docker
+++ b/tests/docker/dockerfiles/debian-hexagon-cross.docker
@@ -5,10 +5,12 @@
# needs to be able to build QEMU itself in CI we include its
# build-deps.
#
-FROM docker.io/library/debian:11-slim
+FROM docker.io/library/debian:13-slim
+
+# Add deb-src repository sources
+RUN sed -i "s/^Types: deb$/Types: deb deb-src/" \
+ /etc/apt/sources.list.d/debian.sources
-# Duplicate deb line as deb-src
-RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
DEBIAN_FRONTEND=noninteractive eatmydata \
@@ -24,6 +26,7 @@ RUN apt-get update && \
ninja-build \
python3-pip \
python3-setuptools \
+ python3-tomli \
python3-venv \
python3-wheel && \
# Install QEMU build deps for use in CI
@@ -36,8 +39,6 @@ RUN apt-get update && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
-RUN /usr/bin/pip3 install tomli
-
ENV TOOLCHAIN_INSTALL /opt
ENV TOOLCHAIN_RELEASE 12.Dec.2023
ENV TOOLCHAIN_BASENAME "clang+llvm-${TOOLCHAIN_RELEASE}-cross-hexagon-unknown-linux-musl"
diff --git a/tests/docker/dockerfiles/debian-legacy-test-cross.docker b/tests/docker/dockerfiles/debian-legacy-test-cross.docker
deleted file mode 100644
index 5a6616b..0000000
--- a/tests/docker/dockerfiles/debian-legacy-test-cross.docker
+++ /dev/null
@@ -1,51 +0,0 @@
-# Docker legacy cross-compiler target (tests and minimal qemu)
-#
-# Compilers for some of our older targets which we cant currently
-# upgrade. Currently:
-#
-# libc6.1-dev-alpha-cross: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1054412
-# sh4-linux-user: binaries don't run with bookworm compiler
-#
-# As we are targeting check-tcg here we only need minimal qemu
-# dependencies and the relevant cross compilers.
-
-FROM docker.io/library/debian:11-slim
-
-# Duplicate deb line as deb-src
-RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- apt-get update && \
- apt-get install -y eatmydata && \
- eatmydata apt-get dist-upgrade -y && \
- apt build-dep -yy qemu
-
-# Add extra build tools and as many cross compilers as we can for testing
-RUN DEBIAN_FRONTEND=noninteractive eatmydata \
- apt install -y --no-install-recommends \
- bison \
- ccache \
- clang \
- flex \
- git \
- ninja-build \
- gcc-alpha-linux-gnu \
- libc6.1-dev-alpha-cross \
- gcc-sh4-linux-gnu \
- libc6-dev-sh4-cross \
- python3-pip \
- python3-setuptools \
- python3-venv \
- python3-wheel && \
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
-
-RUN /usr/bin/pip3 install tomli
-
-ENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools
-ENV DEF_TARGET_LIST alpha-linux-user,sh4-linux-user
-ENV MAKE /usr/bin/make
-# As a final step configure the user (if env is defined)
-ARG USER
-ARG UID
-RUN if [ "${USER}" ]; then \
- id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
diff --git a/tests/docker/dockerfiles/debian-loongarch-cross.docker b/tests/docker/dockerfiles/debian-loongarch-cross.docker
index 538ab53..55b3dbe 100644
--- a/tests/docker/dockerfiles/debian-loongarch-cross.docker
+++ b/tests/docker/dockerfiles/debian-loongarch-cross.docker
@@ -4,10 +4,11 @@
# This docker target uses prebuilt toolchains for LoongArch64 from:
# https://github.com/loongson/build-tools/releases
#
-FROM docker.io/library/debian:11-slim
+FROM docker.io/library/debian:13-slim
-# Duplicate deb line as deb-src
-RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list
+# Add deb-src repository sources
+RUN sed -i "s/^Types: deb$/Types: deb deb-src/" \
+ /etc/apt/sources.list.d/debian.sources
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
@@ -31,12 +32,11 @@ RUN apt-get update && \
ninja-build \
python3-pip \
python3-setuptools \
+ python3-tomli \
python3-venv \
python3-wheel && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
-RUN /usr/bin/pip3 install tomli
-
RUN curl -#SL https://github.com/loongson/build-tools/releases/download/2023.08.08/CLFS-loongarch64-8.1-x86_64-cross-tools-gcc-glibc.tar.xz \
| tar -xJC /opt
diff --git a/tests/docker/dockerfiles/debian-toolchain.docker b/tests/docker/dockerfiles/debian-toolchain.docker
index ab4ce29..9a25620 100644
--- a/tests/docker/dockerfiles/debian-toolchain.docker
+++ b/tests/docker/dockerfiles/debian-toolchain.docker
@@ -4,13 +4,15 @@
# This dockerfile is used for building a cross-compiler toolchain.
# The script for building the toolchain is supplied via extra-files.
#
-FROM docker.io/library/debian:11-slim
+FROM docker.io/library/debian:13-slim
# Install build utilities for building gcc and glibc.
# ??? The build-dep isn't working, missing a number of
# minimal build dependiencies, e.g. libmpc.
-RUN sed 's/^deb /deb-src /' </etc/apt/sources.list >/etc/apt/sources.list.d/deb-src.list
+# Add deb-src repository sources
+RUN sed -i "s/^Types: deb$/Types: deb deb-src/" \
+ /etc/apt/sources.list.d/debian.sources
RUN apt update && \
DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
@@ -34,7 +36,7 @@ RUN cd /root && ./build-toolchain.sh
# Throw away the extra toolchain build deps, the downloaded source,
# and the build trees by restoring the original image,
# then copying the built toolchain from stage 0.
-FROM docker.io/library/debian:11-slim
+FROM docker.io/library/debian:13-slim
RUN apt update && \
DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
DEBIAN_FRONTEND=noninteractive eatmydata \
diff --git a/tests/docker/dockerfiles/debian-tricore-cross.docker b/tests/docker/dockerfiles/debian-tricore-cross.docker
index 7e00e87..fd797dc 100644
--- a/tests/docker/dockerfiles/debian-tricore-cross.docker
+++ b/tests/docker/dockerfiles/debian-tricore-cross.docker
@@ -9,7 +9,7 @@
#
# SPDX-License-Identifier: GPL-2.0-or-later
#
-FROM docker.io/library/debian:11-slim
+FROM docker.io/library/debian:13-slim
RUN apt update && \
DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
@@ -31,12 +31,11 @@ RUN apt update && \
pkgconf \
python3-pip \
python3-setuptools \
+ python3-tomli \
python3-wheel \
python3-venv && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
-RUN /usr/bin/pip3 install tomli
-
RUN curl -#SL https://github.com/bkoppelmann/package_940/releases/download/tricore-toolchain-9.40/tricore-toolchain-9.4.0.tar.gz \
| tar -xzC /usr/local/
diff --git a/tests/docker/dockerfiles/debian-xtensa-cross.docker b/tests/docker/dockerfiles/debian-xtensa-cross.docker
index d011eee..ef63e44 100644
--- a/tests/docker/dockerfiles/debian-xtensa-cross.docker
+++ b/tests/docker/dockerfiles/debian-xtensa-cross.docker
@@ -5,7 +5,7 @@
# using a prebuilt toolchains for Xtensa cores from:
# https://github.com/foss-xtensa/toolchain/releases
#
-FROM docker.io/library/debian:11-slim
+FROM docker.io/library/debian:13-slim
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
diff --git a/tests/functional/aarch64/meson.build b/tests/functional/aarch64/meson.build
index 49eca12..7ea8c22 100644
--- a/tests/functional/aarch64/meson.build
+++ b/tests/functional/aarch64/meson.build
@@ -46,6 +46,7 @@ tests_aarch64_system_thorough = [
'tuxrun',
'virt',
'virt_gpu',
+ 'virt_vbsa',
'xen',
'xlnx_versal',
]
diff --git a/tests/functional/aarch64/test_virt_vbsa.py b/tests/functional/aarch64/test_virt_vbsa.py
new file mode 100755
index 0000000..1dd4cec
--- /dev/null
+++ b/tests/functional/aarch64/test_virt_vbsa.py
@@ -0,0 +1,106 @@
+#!/usr/bin/env python3
+#
+# Functional test that runs the Arm VBSA conformance tests.
+#
+# Copyright (c) 2026 Linaro Ltd.
+#
+# Author:
+# Alex Bennée <alex.bennee@linaro.org>
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+import shutil
+from subprocess import check_call, DEVNULL
+
+from qemu_test import QemuSystemTest, Asset
+from qemu_test import get_qemu_img, skipIfMissingCommands
+from qemu_test import wait_for_console_pattern
+from qemu_test import exec_command_and_wait_for_pattern as ec_and_wait
+
+
+@skipIfMissingCommands("mformat", "mcopy", "mmd")
+class Aarch64VirtMachine(QemuSystemTest):
+ KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 '
+ timeout = 360
+
+ def wait_for_console_pattern(self, success_message, vm=None):
+ wait_for_console_pattern(self, success_message,
+ failure_message='FAILED',
+ vm=vm)
+
+ 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',
+ '80f37d2fb86d152d95dec4d05ff099c9e47ee8a89314268e08056b0e1359e1fa')
+
+ ASSET_BSA_SHELL = Asset(
+ 'https://github.com/ARM-software/sysarch-acs/raw/refs/heads/main'
+ '/prebuilt_images/VBSA/v25.12_VBSA_0.7.0/Shell.efi',
+ 'e526604f0d329b481c6a1f62f7a0db8ea24ce8178b2c6abda8e247425f38775c')
+
+ def test_aarch64_vbsa_uefi_tests(self):
+ """
+ Launch the UEFI based VBSA test from an EFI file-system
+ """
+
+ self.vm.set_console()
+
+ # virt machine wi
+ 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}')
+
+ # Build an EFI FAT32 file-system for the UEFI tests
+ vbsa_efi = self.ASSET_VBSA_EFI.fetch()
+ bsa_shell = self.ASSET_BSA_SHELL.fetch()
+
+ img_path = self.scratch_file('vbsa.img')
+ qemu_img = get_qemu_img(self)
+ check_call([qemu_img, 'create', '-f', 'raw', img_path, '64M'],
+ stdout=DEVNULL, stderr=DEVNULL)
+
+ check_call(['mformat', '-i', img_path, '-v', 'VBSA', '::'],
+ stdout=DEVNULL, stderr=DEVNULL)
+
+ check_call(['mmd', '-i', img_path, '::/EFI'],
+ stdout=DEVNULL, stderr=DEVNULL)
+
+ check_call(['mmd', '-i', img_path, '::/EFI/BOOT'],
+ stdout=DEVNULL, stderr=DEVNULL)
+
+ check_call(['mcopy', '-i', img_path, bsa_shell,
+ '::/EFI/BOOT/BOOTAA64.EFI'],
+ stdout=DEVNULL, stderr=DEVNULL)
+
+ check_call(['mcopy', '-i', img_path, vbsa_efi, '::/Vbsa.efi'],
+ stdout=DEVNULL, stderr=DEVNULL)
+
+ self.vm.add_args('-drive',
+ f'file={img_path},format=raw,if=none,id=drive0')
+ self.vm.add_args('-device', 'virtio-blk-pci,drive=drive0')
+
+ self.vm.launch()
+
+ # wait for EFI prompt
+ self.wait_for_console_pattern('Shell>')
+
+ # Start the VBSA tests
+ ec_and_wait(self, "FS0:Vbsa.efi", 'VBSA Architecture Compliance Suite')
+
+ # could we parse the summary somehow?
+
+ self.wait_for_console_pattern('VBSA tests complete. Reset the system.')
+
+
+if __name__ == '__main__':
+ QemuSystemTest.main()
diff --git a/tests/lcitool/libvirt-ci b/tests/lcitool/libvirt-ci
-Subproject 514b0cd7f6375d0089f96e749079093906c532a
+Subproject 5176e136ab11e275eb9f57c3d5c80e77af6507c
diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
index 8f0aa3f..3e4b026 100755
--- a/tests/lcitool/refresh
+++ b/tests/lcitool/refresh
@@ -87,9 +87,9 @@ def generate_cirrus(target, trailer=None):
generate(filename, cmd, trailer)
-def generate_pkglist(vm, target):
+def generate_pkglist(vm, target, project="qemu"):
filename = Path(src_dir, "tests", "vm", "generated", vm + ".json")
- cmd = lcitool_cmd + ["variables", "--format", "json", target, "qemu"]
+ cmd = lcitool_cmd + ["variables", "--format", "json", target, project]
generate(filename, cmd, None)
@@ -172,6 +172,8 @@ debian_all_test_cross_compilers = [
" libc6-dev-arm64-cross \\\n",
" gcc-arm-linux-gnueabihf \\\n",
" libc6-dev-armhf-cross \\\n",
+ " gcc-alpha-linux-gnu \\\n"
+ " libc6.1-dev-alpha-cross \\\n"
" gcc-mips-linux-gnu \\\n",
" libc6-dev-mips-cross \\\n",
" gcc-mips64-linux-gnuabi64 \\\n",
@@ -185,7 +187,9 @@ debian_all_test_cross_compilers = [
" gcc-riscv64-linux-gnu \\\n",
" libc6-dev-riscv64-cross \\\n",
" gcc-s390x-linux-gnu \\\n",
- " libc6-dev-s390x-cross\n",
+ " libc6-dev-s390x-cross\\\n",
+ " gcc-sh4-linux-gnu \\\n",
+ " libc6-dev-sh4-cross\n",
"RUN if dpkg-architecture -e amd64; then \\\n",
" export AVAILABLE_COMPILERS=\"${AVAILABLE_COMPILERS} gcc-hppa-linux-gnu libc6-dev-hppa-cross\"; \\\n",
" export AVAILABLE_COMPILERS=\"${AVAILABLE_COMPILERS} gcc-m68k-linux-gnu libc6-dev-m68k-cross\"; \\\n",
@@ -198,7 +202,7 @@ debian_all_test_cross_compilers = [
"${AVAILABLE_COMPILERS} && \\\n",
"dpkg-query --showformat '${Package}_${Version}_${Architecture}' --show > /packages.txt\n",
"ENV QEMU_CONFIGURE_OPTS --disable-docs\n",
- "ENV DEF_TARGET_LIST aarch64-linux-user,arm-linux-user,hppa-linux-user,i386-linux-user,m68k-linux-user,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,ppc-linux-user,ppc64-linux-user,ppc64le-linux-user,riscv64-linux-user,s390x-linux-user,sparc64-linux-user\n",
+ "ENV DEF_TARGET_LIST aarch64-linux-user,alpha-linux-user,arm-linux-user,hppa-linux-user,i386-linux-user,m68k-linux-user,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,ppc-linux-user,ppc64-linux-user,ppc64le-linux-user,riscv64-linux-user,s390x-linux-user,sh4-linux-user,sparc64-linux-user\n",
]
def cross_build(prefix, targets):
@@ -312,6 +316,7 @@ try:
# VM packages lists
#
generate_pkglist("freebsd", "freebsd-14")
+ generate_pkglist("openbsd", "openbsd-78", project="qemu-minimal")
#
# Ansible package lists
diff --git a/tests/vm/Makefile.include b/tests/vm/Makefile.include
index 8a5aaed..0a53dc9 100644
--- a/tests/vm/Makefile.include
+++ b/tests/vm/Makefile.include
@@ -154,6 +154,6 @@ vm-boot-ssh-%: $(IMAGES_DIR)/%.img $(VM_VENV)
$(if $(EFI_AARCH64),--efi-aarch64 $(EFI_AARCH64)) \
$(if $(LOG_CONSOLE),--log-console) \
--image "$<" \
- $(if $(ROOT_USER),--interactive-root,-interactive) \
+ $(if $(ROOT_USER),--interactive-root,--interactive) \
false, \
" VM-BOOT-SSH $*") || true
diff --git a/tests/vm/generated/openbsd.json b/tests/vm/generated/openbsd.json
new file mode 100644
index 0000000..0886afd
--- /dev/null
+++ b/tests/vm/generated/openbsd.json
@@ -0,0 +1,27 @@
+{
+ "ccache": "/usr/local/bin/ccache",
+ "cpan_pkgs": [],
+ "cross_pkgs": [],
+ "make": "/usr/local/bin/gmake",
+ "ninja": "/usr/local/bin/ninja",
+ "packaging_command": "pkg_add",
+ "pip3": "/usr/local/bin/pip3",
+ "pkgs": [
+ "bash",
+ "bison",
+ "bzip2",
+ "ccache",
+ "dtc",
+ "git",
+ "glib2",
+ "gmake",
+ "gsed",
+ "libffi",
+ "meson",
+ "ninja",
+ "pkgconf",
+ "python3"
+ ],
+ "pypi_pkgs": [],
+ "python": "/usr/local/bin/python3"
+}
diff --git a/tests/vm/openbsd b/tests/vm/openbsd
index 5222041..4f8eeb2 100755
--- a/tests/vm/openbsd
+++ b/tests/vm/openbsd
@@ -14,7 +14,6 @@
import os
import sys
-import socket
import subprocess
import basevm
@@ -22,48 +21,9 @@ class OpenBSDVM(basevm.BaseVM):
name = "openbsd"
arch = "x86_64"
- link = "https://cdn.openbsd.org/pub/OpenBSD/7.7/amd64/install77.iso"
- csum = "da0106e39463f015524dca806f407c37a9bdd17e6dfffe533b06a2dd2edd8a27"
+ link = "https://cdn.openbsd.org/pub/OpenBSD/7.8/amd64/install78.iso"
+ csum = "a228d0a1ef558b4d9ec84c698f0d3ffd13cd38c64149487cba0f1ad873be07b2"
size = "20G"
- pkgs = [
- # tools
- "dtc",
- "git",
- "pkgconf",
- "bzip2", "xz",
- "ninja",
-
- # gnu tools
- "bash",
- "gmake",
- "gsed",
- "gettext-tools",
-
- # libs: usb
- "libusb1--",
-
- # libs: crypto
- "gnutls",
-
- # libs: images
- "jpeg",
- "png",
-
- # libs: ui
- "capstone",
- "sdl2",
- "gtk+3",
- "libxkbcommon",
-
- # libs: migration
- "zstd",
-
- # libs: networking
- "libslirp",
-
- # Python stuff
- "py3-setuptools",
- ]
BUILD_SCRIPT = """
set -e;
@@ -199,8 +159,9 @@ class OpenBSDVM(basevm.BaseVM):
self.console_wait("login:")
self.wait_ssh()
+ pkgs = self.get_qemu_packages_from_lcitool_json()
self.print_step("Installing packages")
- self.ssh_root_check("pkg_add %s\n" % " ".join(self.pkgs))
+ self.ssh_root_check("pkg_add %s\n" % " ".join(pkgs))
# shutdown
self.ssh_root(self.poweroff)