aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rwxr-xr-xtests/docker/common.rc13
-rw-r--r--tests/docker/dockerfiles/alpine.docker6
-rw-r--r--tests/docker/dockerfiles/centos9.docker4
-rw-r--r--tests/docker/dockerfiles/debian-amd64-cross.docker18
-rw-r--r--tests/docker/dockerfiles/debian-arm64-cross.docker18
-rw-r--r--tests/docker/dockerfiles/debian-armhf-cross.docker21
-rw-r--r--tests/docker/dockerfiles/debian-i686-cross.docker20
-rw-r--r--tests/docker/dockerfiles/debian-mips64el-cross.docker9
-rw-r--r--tests/docker/dockerfiles/debian-mipsel-cross.docker9
-rw-r--r--tests/docker/dockerfiles/debian-ppc64el-cross.docker18
-rw-r--r--tests/docker/dockerfiles/debian-riscv64-cross.docker116
-rw-r--r--tests/docker/dockerfiles/debian-s390x-cross.docker18
-rw-r--r--tests/docker/dockerfiles/debian.docker18
-rw-r--r--tests/docker/dockerfiles/emsdk-wasm32-cross.docker2
-rw-r--r--tests/docker/dockerfiles/fedora-rust-nightly.docker18
-rw-r--r--tests/docker/dockerfiles/fedora-win64-cross.docker15
-rw-r--r--tests/docker/dockerfiles/fedora.docker18
-rw-r--r--tests/docker/dockerfiles/opensuse-leap.docker7
-rw-r--r--tests/docker/dockerfiles/ubuntu2204.docker7
-rwxr-xr-xtests/functional/aarch64/test_aspeed_ast2700.py4
-rwxr-xr-xtests/functional/arm/test_aspeed_ast1030.py24
-rwxr-xr-xtests/functional/arm/test_aspeed_ast2600.py36
-rw-r--r--tests/functional/aspeed.py8
m---------tests/lcitool/libvirt-ci0
-rw-r--r--tests/lcitool/projects/qemu.yml3
-rwxr-xr-xtests/lcitool/refresh49
-rwxr-xr-xtests/vm/freebsd4
27 files changed, 387 insertions, 96 deletions
diff --git a/tests/docker/common.rc b/tests/docker/common.rc
index a611e6a..752f4f3 100755
--- a/tests/docker/common.rc
+++ b/tests/docker/common.rc
@@ -21,6 +21,14 @@ else
DEF_TARGET_LIST=${DEF_TARGET_LIST:-"x86_64-softmmu,aarch64-softmmu"}
fi
+enable_rust=""
+if [ "$ENABLE_RUST" = "1" ]; then
+ enable_rust="--enable-rust"
+ if [ -n "$RUST_TARGET" ]; then
+ enable_rust="$enable_rust --rust-target-triple=$RUST_TARGET"
+ fi
+fi
+
requires_binary()
{
found=0
@@ -46,11 +54,12 @@ configure_qemu()
${TARGET_LIST:+--target-list=${TARGET_LIST}} \
--prefix=$INSTALL_DIR \
$QEMU_CONFIGURE_OPTS $EXTRA_CONFIGURE_OPTS \
+ $enable_rust \
$@"
echo "Configure options:"
echo $config_opts
$QEMU_SRC/configure $config_opts || \
- { cat config.log && test_fail "Failed to run 'configure'"; }
+ { cat config.log >&2 ; cat meson-logs/meson-log.txt >&2 ; test_fail "Failed to run 'configure'"; }
}
build_qemu()
@@ -73,7 +82,7 @@ check_qemu()
test_fail()
{
- echo "$@"
+ echo "$@" >&2
exit 1
}
diff --git a/tests/docker/dockerfiles/alpine.docker b/tests/docker/dockerfiles/alpine.docker
index bf3bd5a..52adf9c 100644
--- a/tests/docker/dockerfiles/alpine.docker
+++ b/tests/docker/dockerfiles/alpine.docker
@@ -78,7 +78,7 @@ RUN apk update && \
nmap-ncat \
numactl-dev \
openssh-client \
- pcre-dev \
+ pcre2-dev \
pipewire-dev \
pixman-dev \
pkgconf \
@@ -131,8 +131,12 @@ ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
ENV NINJA "/usr/bin/ninja"
ENV PYTHON "/usr/bin/python3"
+# https://gitlab.alpinelinux.org/alpine/aports/-/issues/17463
+RUN apk add clang19-libclang
# 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
+
+ENV ENABLE_RUST 1
diff --git a/tests/docker/dockerfiles/centos9.docker b/tests/docker/dockerfiles/centos9.docker
index a942835..0674d77 100644
--- a/tests/docker/dockerfiles/centos9.docker
+++ b/tests/docker/dockerfiles/centos9.docker
@@ -25,6 +25,7 @@ RUN dnf distro-sync -y && \
capstone-devel \
ccache \
clang \
+ compiler-rt \
ctags \
cyrus-sasl-devel \
daxctl-devel \
@@ -104,6 +105,7 @@ RUN dnf distro-sync -y && \
python3-tomli \
rdma-core-devel \
rust \
+ rust-std-static \
sed \
snappy-devel \
socat \
@@ -140,3 +142,5 @@ ARG USER
ARG UID
RUN if [ "${USER}" ]; then \
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
diff --git a/tests/docker/dockerfiles/debian-amd64-cross.docker b/tests/docker/dockerfiles/debian-amd64-cross.docker
index 081f3e0..7f46744 100644
--- a/tests/docker/dockerfiles/debian-amd64-cross.docker
+++ b/tests/docker/dockerfiles/debian-amd64-cross.docker
@@ -1,10 +1,10 @@
# THIS FILE WAS AUTO-GENERATED
#
-# $ lcitool dockerfile --layers all --cross-arch x86_64 debian-12 qemu
+# $ lcitool dockerfile --layers all --cross-arch x86_64 debian-13 qemu
#
# https://gitlab.com/libvirt/libvirt-ci
-FROM docker.io/library/debian:12-slim
+FROM docker.io/library/debian:13-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
@@ -30,11 +30,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gettext \
git \
hostname \
+ libclang-rt-dev \
libglib2.0-dev \
llvm \
locales \
make \
- meson \
mtools \
ncat \
ninja-build \
@@ -45,12 +45,15 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
python3-opencv \
python3-pillow \
python3-pip \
+ python3-setuptools \
python3-sphinx \
python3-sphinx-rtd-theme \
+ python3-tomli \
python3-venv \
+ python3-wheel \
python3-yaml \
rpm2cpio \
- rustc-web \
+ rustc \
sed \
socat \
sparse \
@@ -67,6 +70,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
dpkg-reconfigure locales && \
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
+RUN /usr/bin/pip3 install meson==1.8.1
+
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
@@ -81,7 +86,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get install --no-install-recommends -y \
gcc-x86-64-linux-gnu \
libaio-dev:amd64 \
- libasan6:amd64 \
+ libasan8:amd64 \
libasound2-dev:amd64 \
libattr1-dev:amd64 \
libbpf-dev:amd64 \
@@ -137,6 +142,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libspice-protocol-dev:amd64 \
libspice-server-dev:amd64 \
libssh-dev:amd64 \
+ libstd-rust-dev:amd64 \
libsystemd-dev:amd64 \
libtasn1-6-dev:amd64 \
libubsan1:amd64 \
@@ -182,3 +188,5 @@ ARG USER
ARG UID
RUN if [ "${USER}" ]; then \
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
diff --git a/tests/docker/dockerfiles/debian-arm64-cross.docker b/tests/docker/dockerfiles/debian-arm64-cross.docker
index 91c555a..c7cd54e 100644
--- a/tests/docker/dockerfiles/debian-arm64-cross.docker
+++ b/tests/docker/dockerfiles/debian-arm64-cross.docker
@@ -1,10 +1,10 @@
# THIS FILE WAS AUTO-GENERATED
#
-# $ lcitool dockerfile --layers all --cross-arch aarch64 debian-12 qemu
+# $ lcitool dockerfile --layers all --cross-arch aarch64 debian-13 qemu
#
# https://gitlab.com/libvirt/libvirt-ci
-FROM docker.io/library/debian:12-slim
+FROM docker.io/library/debian:13-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
@@ -30,11 +30,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gettext \
git \
hostname \
+ libclang-rt-dev \
libglib2.0-dev \
llvm \
locales \
make \
- meson \
mtools \
ncat \
ninja-build \
@@ -45,12 +45,15 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
python3-opencv \
python3-pillow \
python3-pip \
+ python3-setuptools \
python3-sphinx \
python3-sphinx-rtd-theme \
+ python3-tomli \
python3-venv \
+ python3-wheel \
python3-yaml \
rpm2cpio \
- rustc-web \
+ rustc \
sed \
socat \
sparse \
@@ -67,6 +70,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
dpkg-reconfigure locales && \
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
+RUN /usr/bin/pip3 install meson==1.8.1
+
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
@@ -81,7 +86,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get install --no-install-recommends -y \
gcc-aarch64-linux-gnu \
libaio-dev:arm64 \
- libasan6:arm64 \
+ libasan8:arm64 \
libasound2-dev:arm64 \
libattr1-dev:arm64 \
libbpf-dev:arm64 \
@@ -136,6 +141,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libspice-protocol-dev:arm64 \
libspice-server-dev:arm64 \
libssh-dev:arm64 \
+ libstd-rust-dev:arm64 \
libsystemd-dev:arm64 \
libtasn1-6-dev:arm64 \
libubsan1:arm64 \
@@ -181,3 +187,5 @@ ARG USER
ARG UID
RUN if [ "${USER}" ]; then \
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
diff --git a/tests/docker/dockerfiles/debian-armhf-cross.docker b/tests/docker/dockerfiles/debian-armhf-cross.docker
index f0e2efc..627d41c 100644
--- a/tests/docker/dockerfiles/debian-armhf-cross.docker
+++ b/tests/docker/dockerfiles/debian-armhf-cross.docker
@@ -1,10 +1,10 @@
# THIS FILE WAS AUTO-GENERATED
#
-# $ lcitool dockerfile --layers all --cross-arch armv7l debian-12 qemu
+# $ lcitool dockerfile --layers all --cross-arch armv7l debian-13 qemu
#
# https://gitlab.com/libvirt/libvirt-ci
-FROM docker.io/library/debian:12-slim
+FROM docker.io/library/debian:13-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
@@ -30,11 +30,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gettext \
git \
hostname \
+ libclang-rt-dev \
libglib2.0-dev \
llvm \
locales \
make \
- meson \
mtools \
ncat \
ninja-build \
@@ -45,12 +45,15 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
python3-opencv \
python3-pillow \
python3-pip \
+ python3-setuptools \
python3-sphinx \
python3-sphinx-rtd-theme \
+ python3-tomli \
python3-venv \
+ python3-wheel \
python3-yaml \
rpm2cpio \
- rustc-web \
+ rustc \
sed \
socat \
sparse \
@@ -67,6 +70,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
dpkg-reconfigure locales && \
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
+RUN /usr/bin/pip3 install meson==1.8.1
+
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
@@ -81,7 +86,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get install --no-install-recommends -y \
gcc-arm-linux-gnueabihf \
libaio-dev:armhf \
- libasan6:armhf \
+ libasan8:armhf \
libasound2-dev:armhf \
libattr1-dev:armhf \
libbpf-dev:armhf \
@@ -103,7 +108,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libgbm-dev:armhf \
libgcrypt20-dev:armhf \
libglib2.0-dev:armhf \
- libglusterfs-dev:armhf \
libgnutls28-dev:armhf \
libgtk-3-dev:armhf \
libgtk-vnc-2.0-dev:armhf \
@@ -123,7 +127,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libpixman-1-dev:armhf \
libpng-dev:armhf \
libpulse-dev:armhf \
- librbd-dev:armhf \
librdmacm-dev:armhf \
libsasl2-dev:armhf \
libsdl2-dev:armhf \
@@ -136,6 +139,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libspice-protocol-dev:armhf \
libspice-server-dev:armhf \
libssh-dev:armhf \
+ libstd-rust-dev:armhf \
libsystemd-dev:armhf \
libtasn1-6-dev:armhf \
libubsan1:armhf \
@@ -147,7 +151,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libvirglrenderer-dev:armhf \
libvte-2.91-dev:armhf \
libxdp-dev:armhf \
- libxen-dev:armhf \
libzstd-dev:armhf \
nettle-dev:armhf \
systemtap-sdt-dev:armhf \
@@ -181,3 +184,5 @@ ARG USER
ARG UID
RUN if [ "${USER}" ]; then \
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
diff --git a/tests/docker/dockerfiles/debian-i686-cross.docker b/tests/docker/dockerfiles/debian-i686-cross.docker
index 025beb1..4e8b3a8 100644
--- a/tests/docker/dockerfiles/debian-i686-cross.docker
+++ b/tests/docker/dockerfiles/debian-i686-cross.docker
@@ -1,10 +1,10 @@
# THIS FILE WAS AUTO-GENERATED
#
-# $ lcitool dockerfile --layers all --cross-arch i686 debian-12 qemu
+# $ lcitool dockerfile --layers all --cross-arch i686 debian-13 qemu
#
# https://gitlab.com/libvirt/libvirt-ci
-FROM docker.io/library/debian:12-slim
+FROM docker.io/library/debian:13-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
@@ -30,11 +30,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gettext \
git \
hostname \
+ libclang-rt-dev \
libglib2.0-dev \
llvm \
locales \
make \
- meson \
mtools \
ncat \
ninja-build \
@@ -45,12 +45,15 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
python3-opencv \
python3-pillow \
python3-pip \
+ python3-setuptools \
python3-sphinx \
python3-sphinx-rtd-theme \
+ python3-tomli \
python3-venv \
+ python3-wheel \
python3-yaml \
rpm2cpio \
- rustc-web \
+ rustc \
sed \
socat \
sparse \
@@ -67,6 +70,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
dpkg-reconfigure locales && \
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
+RUN /usr/bin/pip3 install meson==1.8.1
+
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
@@ -81,7 +86,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get install --no-install-recommends -y \
gcc-i686-linux-gnu \
libaio-dev:i386 \
- libasan6:i386 \
+ libasan8:i386 \
libasound2-dev:i386 \
libattr1-dev:i386 \
libbpf-dev:i386 \
@@ -103,7 +108,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libgbm-dev:i386 \
libgcrypt20-dev:i386 \
libglib2.0-dev:i386 \
- libglusterfs-dev:i386 \
libgnutls28-dev:i386 \
libgtk-3-dev:i386 \
libgtk-vnc-2.0-dev:i386 \
@@ -123,7 +127,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libpixman-1-dev:i386 \
libpng-dev:i386 \
libpulse-dev:i386 \
- librbd-dev:i386 \
librdmacm-dev:i386 \
libsasl2-dev:i386 \
libsdl2-dev:i386 \
@@ -136,6 +139,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libspice-protocol-dev:i386 \
libspice-server-dev:i386 \
libssh-dev:i386 \
+ libstd-rust-dev:i386 \
libsystemd-dev:i386 \
libtasn1-6-dev:i386 \
libubsan1:i386 \
@@ -180,3 +184,5 @@ ARG USER
ARG UID
RUN if [ "${USER}" ]; then \
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
diff --git a/tests/docker/dockerfiles/debian-mips64el-cross.docker b/tests/docker/dockerfiles/debian-mips64el-cross.docker
index 4a941dd..6e88777 100644
--- a/tests/docker/dockerfiles/debian-mips64el-cross.docker
+++ b/tests/docker/dockerfiles/debian-mips64el-cross.docker
@@ -30,11 +30,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gettext \
git \
hostname \
+ libclang-rt-dev \
libglib2.0-dev \
llvm \
locales \
make \
- meson \
mtools \
ncat \
ninja-build \
@@ -45,9 +45,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
python3-opencv \
python3-pillow \
python3-pip \
+ python3-setuptools \
python3-sphinx \
python3-sphinx-rtd-theme \
python3-venv \
+ python3-wheel \
python3-yaml \
rpm2cpio \
rustc-web \
@@ -67,6 +69,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
dpkg-reconfigure locales && \
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
+RUN /usr/bin/pip3 install meson==1.8.1
+
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
@@ -135,6 +139,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libspice-protocol-dev:mips64el \
libspice-server-dev:mips64el \
libssh-dev:mips64el \
+ libstd-rust-dev:mips64el \
libsystemd-dev:mips64el \
libtasn1-6-dev:mips64el \
libudev-dev:mips64el \
@@ -178,3 +183,5 @@ ARG USER
ARG UID
RUN if [ "${USER}" ]; then \
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
diff --git a/tests/docker/dockerfiles/debian-mipsel-cross.docker b/tests/docker/dockerfiles/debian-mipsel-cross.docker
index 4d3e5d7..5f4e3fa 100644
--- a/tests/docker/dockerfiles/debian-mipsel-cross.docker
+++ b/tests/docker/dockerfiles/debian-mipsel-cross.docker
@@ -30,11 +30,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gettext \
git \
hostname \
+ libclang-rt-dev \
libglib2.0-dev \
llvm \
locales \
make \
- meson \
mtools \
ncat \
ninja-build \
@@ -45,9 +45,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
python3-opencv \
python3-pillow \
python3-pip \
+ python3-setuptools \
python3-sphinx \
python3-sphinx-rtd-theme \
python3-venv \
+ python3-wheel \
python3-yaml \
rpm2cpio \
rustc-web \
@@ -67,6 +69,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
dpkg-reconfigure locales && \
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
+RUN /usr/bin/pip3 install meson==1.8.1
+
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
@@ -135,6 +139,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libspice-protocol-dev:mipsel \
libspice-server-dev:mipsel \
libssh-dev:mipsel \
+ libstd-rust-dev:mipsel \
libsystemd-dev:mipsel \
libtasn1-6-dev:mipsel \
libudev-dev:mipsel \
@@ -178,3 +183,5 @@ ARG USER
ARG UID
RUN if [ "${USER}" ]; then \
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
diff --git a/tests/docker/dockerfiles/debian-ppc64el-cross.docker b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
index 22b4457..dfa6906 100644
--- a/tests/docker/dockerfiles/debian-ppc64el-cross.docker
+++ b/tests/docker/dockerfiles/debian-ppc64el-cross.docker
@@ -1,10 +1,10 @@
# THIS FILE WAS AUTO-GENERATED
#
-# $ lcitool dockerfile --layers all --cross-arch ppc64le debian-12 qemu
+# $ lcitool dockerfile --layers all --cross-arch ppc64le debian-13 qemu
#
# https://gitlab.com/libvirt/libvirt-ci
-FROM docker.io/library/debian:12-slim
+FROM docker.io/library/debian:13-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
@@ -30,11 +30,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gettext \
git \
hostname \
+ libclang-rt-dev \
libglib2.0-dev \
llvm \
locales \
make \
- meson \
mtools \
ncat \
ninja-build \
@@ -45,12 +45,15 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
python3-opencv \
python3-pillow \
python3-pip \
+ python3-setuptools \
python3-sphinx \
python3-sphinx-rtd-theme \
+ python3-tomli \
python3-venv \
+ python3-wheel \
python3-yaml \
rpm2cpio \
- rustc-web \
+ rustc \
sed \
socat \
sparse \
@@ -67,6 +70,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
dpkg-reconfigure locales && \
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
+RUN /usr/bin/pip3 install meson==1.8.1
+
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
@@ -81,7 +86,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get install --no-install-recommends -y \
gcc-powerpc64le-linux-gnu \
libaio-dev:ppc64el \
- libasan6:ppc64el \
+ libasan8:ppc64el \
libasound2-dev:ppc64el \
libattr1-dev:ppc64el \
libbpf-dev:ppc64el \
@@ -136,6 +141,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libspice-protocol-dev:ppc64el \
libspice-server-dev:ppc64el \
libssh-dev:ppc64el \
+ libstd-rust-dev:ppc64el \
libsystemd-dev:ppc64el \
libtasn1-6-dev:ppc64el \
libubsan1:ppc64el \
@@ -180,3 +186,5 @@ ARG USER
ARG UID
RUN if [ "${USER}" ]; then \
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
diff --git a/tests/docker/dockerfiles/debian-riscv64-cross.docker b/tests/docker/dockerfiles/debian-riscv64-cross.docker
index b0386cd..09b2953 100644
--- a/tests/docker/dockerfiles/debian-riscv64-cross.docker
+++ b/tests/docker/dockerfiles/debian-riscv64-cross.docker
@@ -1,10 +1,10 @@
# THIS FILE WAS AUTO-GENERATED
#
-# $ lcitool dockerfile --layers all --cross-arch riscv64 debian-13 qemu-minimal
+# $ lcitool dockerfile --layers all --cross-arch riscv64 debian-13 qemu
#
# https://gitlab.com/libvirt/libvirt-ci
-FROM docker.io/library/debian:trixie-slim
+FROM docker.io/library/debian:13-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
@@ -13,29 +13,65 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get install --no-install-recommends -y \
bash \
bc \
+ bindgen \
bison \
+ bsdextrautils \
+ bzip2 \
ca-certificates \
ccache \
+ dbus \
+ debianutils \
+ diffutils \
+ exuberant-ctags \
findutils \
flex \
gcc \
+ gcovr \
+ gettext \
git \
+ hostname \
+ libclang-rt-dev \
libglib2.0-dev \
+ llvm \
locales \
make \
- meson \
+ mtools \
+ ncat \
ninja-build \
+ openssh-client \
pkgconf \
python3 \
+ python3-numpy \
+ python3-opencv \
+ python3-pillow \
+ python3-pip \
+ python3-setuptools \
+ python3-sphinx \
+ python3-sphinx-rtd-theme \
+ python3-tomli \
python3-venv \
+ python3-wheel \
+ python3-yaml \
+ rpm2cpio \
+ rustc \
sed \
- tar && \
+ socat \
+ sparse \
+ swtpm \
+ tar \
+ tesseract-ocr \
+ tesseract-ocr-eng \
+ vulkan-tools \
+ xorriso \
+ zstd && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
dpkg-reconfigure locales && \
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
+RUN /usr/bin/pip3 install meson==1.8.1
+
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
@@ -52,11 +88,78 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
eatmydata apt-get install --no-install-recommends -y \
gcc-riscv64-linux-gnu \
+ libaio-dev:riscv64 \
+ libasan8:riscv64 \
+ libasound2-dev:riscv64 \
+ libattr1-dev:riscv64 \
+ libbpf-dev:riscv64 \
+ libbrlapi-dev:riscv64 \
+ libbz2-dev:riscv64 \
libc6-dev:riscv64 \
+ libcacard-dev:riscv64 \
+ libcap-ng-dev:riscv64 \
+ libcapstone-dev:riscv64 \
+ libcbor-dev:riscv64 \
+ libcmocka-dev:riscv64 \
+ libcurl4-gnutls-dev:riscv64 \
+ libdaxctl-dev:riscv64 \
+ libdrm-dev:riscv64 \
+ libepoxy-dev:riscv64 \
libfdt-dev:riscv64 \
libffi-dev:riscv64 \
+ libfuse3-dev:riscv64 \
+ libgbm-dev:riscv64 \
+ libgcrypt20-dev:riscv64 \
libglib2.0-dev:riscv64 \
- libpixman-1-dev:riscv64 && \
+ libglusterfs-dev:riscv64 \
+ libgnutls28-dev:riscv64 \
+ libgtk-3-dev:riscv64 \
+ libgtk-vnc-2.0-dev:riscv64 \
+ libibverbs-dev:riscv64 \
+ libiscsi-dev:riscv64 \
+ libjemalloc-dev:riscv64 \
+ libjpeg62-turbo-dev:riscv64 \
+ libjson-c-dev:riscv64 \
+ liblttng-ust-dev:riscv64 \
+ liblzo2-dev:riscv64 \
+ libncursesw5-dev:riscv64 \
+ libnfs-dev:riscv64 \
+ libnuma-dev:riscv64 \
+ libpam0g-dev:riscv64 \
+ libpcre2-dev:riscv64 \
+ libpipewire-0.3-dev:riscv64 \
+ libpixman-1-dev:riscv64 \
+ libpng-dev:riscv64 \
+ libpulse-dev:riscv64 \
+ librbd-dev:riscv64 \
+ librdmacm-dev:riscv64 \
+ libsasl2-dev:riscv64 \
+ libsdl2-dev:riscv64 \
+ libsdl2-image-dev:riscv64 \
+ libseccomp-dev:riscv64 \
+ libselinux1-dev:riscv64 \
+ libslirp-dev:riscv64 \
+ libsnappy-dev:riscv64 \
+ libsndio-dev:riscv64 \
+ libspice-protocol-dev:riscv64 \
+ libspice-server-dev:riscv64 \
+ libssh-dev:riscv64 \
+ libstd-rust-dev:riscv64 \
+ libsystemd-dev:riscv64 \
+ libtasn1-6-dev:riscv64 \
+ libubsan1:riscv64 \
+ libudev-dev:riscv64 \
+ liburing-dev:riscv64 \
+ libusb-1.0-0-dev:riscv64 \
+ libusbredirhost-dev:riscv64 \
+ libvdeplug-dev:riscv64 \
+ libvirglrenderer-dev:riscv64 \
+ libvte-2.91-dev:riscv64 \
+ libxdp-dev:riscv64 \
+ libzstd-dev:riscv64 \
+ nettle-dev:riscv64 \
+ systemtap-sdt-dev:riscv64 \
+ zlib1g-dev:riscv64 && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
mkdir -p /usr/local/share/meson/cross && \
@@ -78,6 +181,7 @@ endian = 'little'\n" > /usr/local/share/meson/cross/riscv64-linux-gnu && \
ENV ABI "riscv64-linux-gnu"
ENV MESON_OPTS "--cross-file=riscv64-linux-gnu"
+ENV RUST_TARGET "riscv64gc-unknown-linux-gnu"
ENV QEMU_CONFIGURE_OPTS --cross-prefix=riscv64-linux-gnu-
ENV DEF_TARGET_LIST riscv64-softmmu,riscv64-linux-user
# As a final step configure the user (if env is defined)
@@ -85,3 +189,5 @@ ARG USER
ARG UID
RUN if [ "${USER}" ]; then \
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
diff --git a/tests/docker/dockerfiles/debian-s390x-cross.docker b/tests/docker/dockerfiles/debian-s390x-cross.docker
index 13ec52c..09a78c1 100644
--- a/tests/docker/dockerfiles/debian-s390x-cross.docker
+++ b/tests/docker/dockerfiles/debian-s390x-cross.docker
@@ -1,10 +1,10 @@
# THIS FILE WAS AUTO-GENERATED
#
-# $ lcitool dockerfile --layers all --cross-arch s390x debian-12 qemu
+# $ lcitool dockerfile --layers all --cross-arch s390x debian-13 qemu
#
# https://gitlab.com/libvirt/libvirt-ci
-FROM docker.io/library/debian:12-slim
+FROM docker.io/library/debian:13-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
@@ -30,11 +30,11 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gettext \
git \
hostname \
+ libclang-rt-dev \
libglib2.0-dev \
llvm \
locales \
make \
- meson \
mtools \
ncat \
ninja-build \
@@ -45,12 +45,15 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
python3-opencv \
python3-pillow \
python3-pip \
+ python3-setuptools \
python3-sphinx \
python3-sphinx-rtd-theme \
+ python3-tomli \
python3-venv \
+ python3-wheel \
python3-yaml \
rpm2cpio \
- rustc-web \
+ rustc \
sed \
socat \
sparse \
@@ -67,6 +70,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
dpkg-reconfigure locales && \
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
+RUN /usr/bin/pip3 install meson==1.8.1
+
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
@@ -81,7 +86,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get install --no-install-recommends -y \
gcc-s390x-linux-gnu \
libaio-dev:s390x \
- libasan6:s390x \
+ libasan8:s390x \
libasound2-dev:s390x \
libattr1-dev:s390x \
libbpf-dev:s390x \
@@ -135,6 +140,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libsndio-dev:s390x \
libspice-protocol-dev:s390x \
libssh-dev:s390x \
+ libstd-rust-dev:s390x \
libsystemd-dev:s390x \
libtasn1-6-dev:s390x \
libubsan1:s390x \
@@ -179,3 +185,5 @@ ARG USER
ARG UID
RUN if [ "${USER}" ]; then \
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
diff --git a/tests/docker/dockerfiles/debian.docker b/tests/docker/dockerfiles/debian.docker
index 0a57c1a..8dd893b 100644
--- a/tests/docker/dockerfiles/debian.docker
+++ b/tests/docker/dockerfiles/debian.docker
@@ -1,10 +1,10 @@
# THIS FILE WAS AUTO-GENERATED
#
-# $ lcitool dockerfile --layers all debian-12 qemu
+# $ lcitool dockerfile --layers all debian-13 qemu
#
# https://gitlab.com/libvirt/libvirt-ci
-FROM docker.io/library/debian:12-slim
+FROM docker.io/library/debian:13-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
@@ -32,7 +32,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
git \
hostname \
libaio-dev \
- libasan6 \
+ libasan8 \
libasound2-dev \
libattr1-dev \
libbpf-dev \
@@ -43,6 +43,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libcap-ng-dev \
libcapstone-dev \
libcbor-dev \
+ libclang-rt-dev \
libcmocka-dev \
libcurl4-gnutls-dev \
libdaxctl-dev \
@@ -88,6 +89,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libspice-protocol-dev \
libspice-server-dev \
libssh-dev \
+ libstd-rust-dev \
libsystemd-dev \
libtasn1-6-dev \
libubsan1 \
@@ -104,7 +106,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
llvm \
locales \
make \
- meson \
mtools \
multipath-tools \
ncat \
@@ -117,12 +118,15 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
python3-opencv \
python3-pillow \
python3-pip \
+ python3-setuptools \
python3-sphinx \
python3-sphinx-rtd-theme \
+ python3-tomli \
python3-venv \
+ python3-wheel \
python3-yaml \
rpm2cpio \
- rustc-web \
+ rustc \
sed \
socat \
sparse \
@@ -146,6 +150,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
+RUN /usr/bin/pip3 install meson==1.8.1
+
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
@@ -169,3 +175,5 @@ ARG USER
ARG UID
RUN if [ "${USER}" ]; then \
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
diff --git a/tests/docker/dockerfiles/emsdk-wasm32-cross.docker b/tests/docker/dockerfiles/emsdk-wasm32-cross.docker
index 60a7d02..6b1642a 100644
--- a/tests/docker/dockerfiles/emsdk-wasm32-cross.docker
+++ b/tests/docker/dockerfiles/emsdk-wasm32-cross.docker
@@ -8,7 +8,7 @@ ARG PIXMAN_VERSION=0.44.2
ARG FFI_VERSION=v3.4.7
ARG MESON_VERSION=1.5.0
-FROM emscripten/emsdk:$EMSDK_VERSION_QEMU AS build-base
+FROM docker.io/emscripten/emsdk:$EMSDK_VERSION_QEMU AS build-base
ARG MESON_VERSION
ENV TARGET=/builddeps/target
ENV CPATH="$TARGET/include"
diff --git a/tests/docker/dockerfiles/fedora-rust-nightly.docker b/tests/docker/dockerfiles/fedora-rust-nightly.docker
index 4a03330..7d31c9f 100644
--- a/tests/docker/dockerfiles/fedora-rust-nightly.docker
+++ b/tests/docker/dockerfiles/fedora-rust-nightly.docker
@@ -1,10 +1,10 @@
# THIS FILE WAS AUTO-GENERATED
#
-# $ lcitool dockerfile --layers all fedora-40 qemu
+# $ lcitool dockerfile --layers all fedora-41 qemu
#
# https://gitlab.com/libvirt/libvirt-ci
-FROM registry.fedoraproject.org/fedora:40
+FROM registry.fedoraproject.org/fedora:41
RUN dnf install -y nosync && \
printf '#!/bin/sh\n\
@@ -32,6 +32,7 @@ exec "$@"\n' > /usr/bin/nosync && \
capstone-devel \
ccache \
clang \
+ compiler-rt \
ctags \
cyrus-sasl-devel \
daxctl-devel \
@@ -91,7 +92,6 @@ exec "$@"\n' > /usr/bin/nosync && \
lzo-devel \
make \
mesa-libgbm-devel \
- meson \
mtools \
ncurses-devel \
nettle-devel \
@@ -100,7 +100,7 @@ exec "$@"\n' > /usr/bin/nosync && \
numactl-devel \
openssh-clients \
pam-devel \
- pcre-static \
+ pcre2-static \
pipewire-devel \
pixman-devel \
pkgconfig \
@@ -111,11 +111,13 @@ exec "$@"\n' > /usr/bin/nosync && \
python3-opencv \
python3-pillow \
python3-pip \
+ python3-setuptools \
python3-sphinx \
python3-sphinx_rtd_theme \
- python3-zombie-imp \
+ python3-wheel \
rdma-core-devel \
rust \
+ rust-std-static \
sed \
snappy-devel \
socat \
@@ -124,7 +126,7 @@ exec "$@"\n' > /usr/bin/nosync && \
spice-server-devel \
swtpm \
systemd-devel \
- systemtap-sdt-devel \
+ systemtap-sdt-dtrace \
tar \
tesseract \
tesseract-langpack-eng \
@@ -148,6 +150,8 @@ exec "$@"\n' > /usr/bin/nosync && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
+RUN /usr/bin/pip3 install meson==1.8.1
+
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
@@ -181,3 +185,5 @@ ARG USER
ARG UID
RUN if [ "${USER}" ]; then \
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
diff --git a/tests/docker/dockerfiles/fedora-win64-cross.docker b/tests/docker/dockerfiles/fedora-win64-cross.docker
index a950344..c76a70c 100644
--- a/tests/docker/dockerfiles/fedora-win64-cross.docker
+++ b/tests/docker/dockerfiles/fedora-win64-cross.docker
@@ -1,10 +1,10 @@
# THIS FILE WAS AUTO-GENERATED
#
-# $ lcitool dockerfile --layers all --cross-arch mingw64 fedora-40 qemu,qemu-win-installer
+# $ lcitool dockerfile --layers all --cross-arch mingw64 fedora-41 qemu,qemu-win-installer
#
# https://gitlab.com/libvirt/libvirt-ci
-FROM registry.fedoraproject.org/fedora:40
+FROM registry.fedoraproject.org/fedora:41
RUN dnf install -y nosync && \
printf '#!/bin/sh\n\
@@ -25,6 +25,7 @@ exec "$@"\n' > /usr/bin/nosync && \
bzip2 \
ca-certificates \
ccache \
+ compiler-rt \
ctags \
dbus-daemon \
diffutils \
@@ -38,7 +39,6 @@ exec "$@"\n' > /usr/bin/nosync && \
hostname \
llvm \
make \
- meson \
mtools \
ninja-build \
nmap-ncat \
@@ -49,9 +49,10 @@ exec "$@"\n' > /usr/bin/nosync && \
python3-opencv \
python3-pillow \
python3-pip \
+ python3-setuptools \
python3-sphinx \
python3-sphinx_rtd_theme \
- python3-zombie-imp \
+ python3-wheel \
rust \
sed \
socat \
@@ -69,6 +70,8 @@ exec "$@"\n' > /usr/bin/nosync && \
nosync dnf clean all -y && \
rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
+RUN /usr/bin/pip3 install meson==1.8.1
+
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
@@ -90,13 +93,15 @@ RUN nosync dnf install -y \
mingw64-gtk-vnc2 \
mingw64-gtk3 \
mingw64-libepoxy \
+ mingw64-libfdt \
mingw64-libgcrypt \
mingw64-libjpeg-turbo \
mingw64-libpng \
mingw64-libtasn1 \
mingw64-nettle \
mingw64-pixman \
- mingw64-pkg-config && \
+ mingw64-pkg-config \
+ rust-std-static-x86_64-pc-windows-gnu && \
nosync dnf clean all -y && \
rpm -qa | sort > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
index 014e3cc..891a740 100644
--- a/tests/docker/dockerfiles/fedora.docker
+++ b/tests/docker/dockerfiles/fedora.docker
@@ -1,10 +1,10 @@
# THIS FILE WAS AUTO-GENERATED
#
-# $ lcitool dockerfile --layers all fedora-40 qemu
+# $ lcitool dockerfile --layers all fedora-41 qemu
#
# https://gitlab.com/libvirt/libvirt-ci
-FROM registry.fedoraproject.org/fedora:40
+FROM registry.fedoraproject.org/fedora:41
RUN dnf install -y nosync && \
printf '#!/bin/sh\n\
@@ -32,6 +32,7 @@ exec "$@"\n' > /usr/bin/nosync && \
capstone-devel \
ccache \
clang \
+ compiler-rt \
ctags \
cyrus-sasl-devel \
daxctl-devel \
@@ -91,7 +92,6 @@ exec "$@"\n' > /usr/bin/nosync && \
lzo-devel \
make \
mesa-libgbm-devel \
- meson \
mtools \
ncurses-devel \
nettle-devel \
@@ -100,7 +100,7 @@ exec "$@"\n' > /usr/bin/nosync && \
numactl-devel \
openssh-clients \
pam-devel \
- pcre-static \
+ pcre2-static \
pipewire-devel \
pixman-devel \
pkgconfig \
@@ -111,11 +111,13 @@ exec "$@"\n' > /usr/bin/nosync && \
python3-opencv \
python3-pillow \
python3-pip \
+ python3-setuptools \
python3-sphinx \
python3-sphinx_rtd_theme \
- python3-zombie-imp \
+ python3-wheel \
rdma-core-devel \
rust \
+ rust-std-static \
sed \
snappy-devel \
socat \
@@ -124,7 +126,7 @@ exec "$@"\n' > /usr/bin/nosync && \
spice-server-devel \
swtpm \
systemd-devel \
- systemtap-sdt-devel \
+ systemtap-sdt-dtrace \
tar \
tesseract \
tesseract-langpack-eng \
@@ -148,6 +150,8 @@ exec "$@"\n' > /usr/bin/nosync && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
+RUN /usr/bin/pip3 install meson==1.8.1
+
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
@@ -158,3 +162,5 @@ ARG USER
ARG UID
RUN if [ "${USER}" ]; then \
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
diff --git a/tests/docker/dockerfiles/opensuse-leap.docker b/tests/docker/dockerfiles/opensuse-leap.docker
index e90225d..75e1747 100644
--- a/tests/docker/dockerfiles/opensuse-leap.docker
+++ b/tests/docker/dockerfiles/opensuse-leap.docker
@@ -19,6 +19,7 @@ RUN zypper update -y && \
ca-certificates \
ccache \
clang \
+ clang-devel \
ctags \
cyrus-sasl-devel \
dbus-1 \
@@ -89,7 +90,7 @@ RUN zypper update -y && \
ninja \
openssh \
pam-devel \
- pcre-devel-static \
+ pcre2-devel-static \
pipewire-devel \
pkgconfig \
python311 \
@@ -132,7 +133,7 @@ RUN zypper update -y && \
RUN /usr/bin/pip3.11 install \
PyYAML \
- meson==1.5.0 \
+ meson==1.8.1 \
pillow \
sphinx \
sphinx-rtd-theme
@@ -147,3 +148,5 @@ ARG USER
ARG UID
RUN if [ "${USER}" ]; then \
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
+
+ENV ENABLE_RUST 1
diff --git a/tests/docker/dockerfiles/ubuntu2204.docker b/tests/docker/dockerfiles/ubuntu2204.docker
index 28a6f93..b393db5 100644
--- a/tests/docker/dockerfiles/ubuntu2204.docker
+++ b/tests/docker/dockerfiles/ubuntu2204.docker
@@ -42,6 +42,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libcap-ng-dev \
libcapstone-dev \
libcbor-dev \
+ libclang-dev \
libcmocka-dev \
libcurl4-gnutls-dev \
libdaxctl-dev \
@@ -87,6 +88,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libspice-protocol-dev \
libspice-server-dev \
libssh-dev \
+ libstd-rust-dev \
libsystemd-dev \
libtasn1-6-dev \
libubsan1 \
@@ -102,7 +104,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
llvm \
locales \
make \
- meson \
mtools \
multipath-tools \
ncat \
@@ -115,10 +116,12 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
python3-opencv \
python3-pillow \
python3-pip \
+ python3-setuptools \
python3-sphinx \
python3-sphinx-rtd-theme \
python3-tomli \
python3-venv \
+ python3-wheel \
python3-yaml \
rpm2cpio \
rustc-1.77 \
@@ -145,6 +148,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
+RUN /usr/bin/pip3 install meson==1.8.1
+
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
diff --git a/tests/functional/aarch64/test_aspeed_ast2700.py b/tests/functional/aarch64/test_aspeed_ast2700.py
index 8a08bc4..a3db267 100755
--- a/tests/functional/aarch64/test_aspeed_ast2700.py
+++ b/tests/functional/aarch64/test_aspeed_ast2700.py
@@ -115,8 +115,8 @@ class AST2x00MachineSDK(QemuSystemTest):
self.do_test_aarch64_aspeed_sdk_start(
self.scratch_file(name, 'image-bmc'))
- def test_aarch64_ast2700_evb_sdk_v09_06(self):
- self.set_machine('ast2700-evb')
+ def test_aarch64_ast2700a0_evb_sdk_v09_06(self):
+ self.set_machine('ast2700a0-evb')
self.archive_extract(self.ASSET_SDK_V906_AST2700)
self.start_ast2700_test('ast2700-a0-default')
diff --git a/tests/functional/arm/test_aspeed_ast1030.py b/tests/functional/arm/test_aspeed_ast1030.py
index 42126b5..e47b597 100755
--- a/tests/functional/arm/test_aspeed_ast1030.py
+++ b/tests/functional/arm/test_aspeed_ast1030.py
@@ -7,17 +7,18 @@
# SPDX-License-Identifier: GPL-2.0-or-later
from qemu_test import LinuxKernelTest, Asset
+from aspeed import AspeedTest
from qemu_test import exec_command_and_wait_for_pattern
-class AST1030Machine(LinuxKernelTest):
+class AST1030Machine(AspeedTest):
ASSET_ZEPHYR_3_02 = Asset(
('https://github.com/AspeedTech-BMC'
'/zephyr/releases/download/v00.03.02/ast1030-evb-demo.zip'),
'1ec83caab3ddd5d09481772801be7210e222cb015ce22ec6fffb8a76956dcd4f')
- def test_ast1030_zephyros_3_02(self):
+ def test_arm_ast1030_zephyros_3_02(self):
self.set_machine('ast1030-evb')
kernel_name = "ast1030-evb-demo-3/zephyr.elf"
@@ -36,7 +37,7 @@ class AST1030Machine(LinuxKernelTest):
'/zephyr/releases/download/v00.01.07/ast1030-evb-demo.zip'),
'ad52e27959746988afaed8429bf4e12ab988c05c4d07c9d90e13ec6f7be4574c')
- def test_ast1030_zephyros_1_07(self):
+ def test_arm_ast1030_zephyros_1_07(self):
self.set_machine('ast1030-evb')
kernel_name = "ast1030-evb-demo/zephyr.bin"
@@ -68,6 +69,21 @@ class AST1030Machine(LinuxKernelTest):
'kernel uptime',
]: exec_command_and_wait_for_pattern(self, shell_cmd, "uart:~$")
+ def test_arm_ast1030_otp_blockdev_device(self):
+ self.vm.set_machine("ast1030-evb")
+
+ kernel_name = "ast1030-evb-demo-3/zephyr.elf"
+ kernel_file = self.archive_extract(self.ASSET_ZEPHYR_3_02, member=kernel_name)
+ otp_img = self.generate_otpmem_image()
+
+ self.vm.set_console()
+ self.vm.add_args(
+ "-kernel", kernel_file,
+ "-blockdev", f"driver=file,filename={otp_img},node-name=otp",
+ "-global", "aspeed-otp.drive=otp",
+ )
+ self.vm.launch()
+ self.wait_for_console_pattern("Booting Zephyr OS")
if __name__ == '__main__':
- LinuxKernelTest.main()
+ AspeedTest.main()
diff --git a/tests/functional/arm/test_aspeed_ast2600.py b/tests/functional/arm/test_aspeed_ast2600.py
index 129695c..f655c0b 100755
--- a/tests/functional/arm/test_aspeed_ast2600.py
+++ b/tests/functional/arm/test_aspeed_ast2600.py
@@ -101,8 +101,26 @@ class AST2600Machine(AspeedTest):
'https://github.com/AspeedTech-BMC/openbmc/releases/download/v09.07/ast2600-default-obmc.tar.gz',
'cb6c08595bcbba1672ce716b068ba4e48eda1ed9abe78a07b30392ba2278feba')
+ def do_ast2600_pcie_test(self):
+ exec_command_and_wait_for_pattern(self,
+ 'lspci -s 80:00.0',
+ '80:00.0 Host bridge: '
+ 'ASPEED Technology, Inc. Device 2600')
+ exec_command_and_wait_for_pattern(self,
+ 'lspci -s 80:08.0',
+ '80:08.0 PCI bridge: '
+ 'ASPEED Technology, Inc. AST1150 PCI-to-PCI Bridge')
+ exec_command_and_wait_for_pattern(self,
+ 'lspci -s 81:00.0',
+ '81:00.0 Ethernet controller: '
+ 'Intel Corporation 82574L Gigabit Network Connection')
+ exec_command_and_wait_for_pattern(self,
+ 'ip addr show dev eth4',
+ 'inet 10.0.2.15/24')
+
def test_arm_ast2600_evb_sdk(self):
self.set_machine('ast2600-evb')
+ self.require_netdev('user')
self.archive_extract(self.ASSET_SDK_V907_AST2600)
@@ -110,6 +128,8 @@ class AST2600Machine(AspeedTest):
'tmp105,bus=aspeed.i2c.bus.5,address=0x4d,id=tmp-test')
self.vm.add_args('-device',
'ds1338,bus=aspeed.i2c.bus.5,address=0x32')
+ self.vm.add_args('-device', 'e1000e,netdev=net1,bus=pcie.0')
+ self.vm.add_args('-netdev', 'user,id=net1')
self.do_test_arm_aspeed_sdk_start(
self.scratch_file("ast2600-default", "image-bmc"))
@@ -135,6 +155,22 @@ class AST2600Machine(AspeedTest):
year = time.strftime("%Y")
exec_command_and_wait_for_pattern(self,
'/sbin/hwclock -f /dev/rtc1', year)
+ self.do_ast2600_pcie_test()
+
+ def test_arm_ast2600_otp_blockdev_device(self):
+ self.vm.set_machine("ast2600-evb")
+
+ image_path = self.archive_extract(self.ASSET_SDK_V907_AST2600)
+ otp_img = self.generate_otpmem_image()
+
+ self.vm.set_console()
+ self.vm.add_args(
+ "-blockdev", f"driver=file,filename={otp_img},node-name=otp",
+ "-global", "aspeed-otp.drive=otp",
+ )
+ self.do_test_arm_aspeed_sdk_start(
+ self.scratch_file("ast2600-default", "image-bmc"))
+ self.wait_for_console_pattern("ast2600-default login:")
if __name__ == '__main__':
AspeedTest.main()
diff --git a/tests/functional/aspeed.py b/tests/functional/aspeed.py
index b131703..47e84e0 100644
--- a/tests/functional/aspeed.py
+++ b/tests/functional/aspeed.py
@@ -61,3 +61,11 @@ class AspeedTest(LinuxKernelTest):
self.wait_for_console_pattern('U-Boot 2019.04')
self.wait_for_console_pattern('## Loading kernel from FIT Image')
self.wait_for_console_pattern('Starting kernel ...')
+
+ def generate_otpmem_image(self):
+ path = self.scratch_file("otpmem.img")
+ pattern = b'\x00\x00\x00\x00\xff\xff\xff\xff' * (16 * 1024 // 8)
+ with open(path, "wb") as f:
+ f.write(pattern)
+ return path
+
diff --git a/tests/lcitool/libvirt-ci b/tests/lcitool/libvirt-ci
-Subproject 18c4bfe02c467e5639bf9a687139735ccd7a3ff
+Subproject 9da20ff7c3bc9067804a7561c2ff87583b43485
diff --git a/tests/lcitool/projects/qemu.yml b/tests/lcitool/projects/qemu.yml
index c07242f..82812e7 100644
--- a/tests/lcitool/projects/qemu.yml
+++ b/tests/lcitool/projects/qemu.yml
@@ -44,6 +44,7 @@ packages:
- libcacard
- libcap-ng
- libcbor
+ - libclang-rt
- libcurl
- libdrm
- libepoxy
@@ -91,7 +92,6 @@ packages:
- pkg-config
- pulseaudio
- python3
- - python3-imp
- python3-numpy
- python3-opencv
- python3-pillow
@@ -104,6 +104,7 @@ packages:
- python3-venv
- rpm2cpio
- rust
+ - rust-std
- sdl2
- sdl2-image
- sed
diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
index d3488b2..6459593 100755
--- a/tests/lcitool/refresh
+++ b/tests/lcitool/refresh
@@ -63,7 +63,8 @@ add_user_mapping = [
" id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi\n"
]
-def generate_dockerfile(host, target, project="qemu", cross=None, trailer=None):
+def generate_dockerfile(host, target, project="qemu", cross=None, trailer=None,
+ enable_rust=True):
filename = Path(src_dir, "tests", "docker", "dockerfiles", host + ".docker")
cmd = lcitool_cmd + ["dockerfile"]
if cross is not None:
@@ -75,6 +76,8 @@ def generate_dockerfile(host, target, project="qemu", cross=None, trailer=None):
else:
trailer = "\n".join(add_user_mapping)
+ if enable_rust:
+ trailer += "\nENV ENABLE_RUST 1\n"
generate(filename, cmd, trailer)
@@ -97,10 +100,15 @@ def generate_yaml(os, target, arch, trailer=None):
generate(filename, cmd, trailer)
+alpine_extras = [
+ "# https://gitlab.alpinelinux.org/alpine/aports/-/issues/17463\n",
+ "RUN apk add clang19-libclang\n",
+]
+
# Netmap still needs to be manually built as it is yet to be packaged
# into a distro. We also add cscope and gtags which are used in the CI
# test
-debian12_extras = [
+debian13_extras = [
"# netmap/cscope/global\n",
"RUN DEBIAN_FRONTEND=noninteractive eatmydata \\\n",
" apt install -y --no-install-recommends \\\n",
@@ -167,48 +175,53 @@ try:
#
# Standard native builds
#
- generate_dockerfile("alpine", "alpine-321")
+ generate_dockerfile("alpine", "alpine-321",
+ trailer="".join(alpine_extras))
generate_dockerfile("centos9", "centos-stream-9")
- generate_dockerfile("debian", "debian-12",
- trailer="".join(debian12_extras))
- generate_dockerfile("fedora", "fedora-40")
+ generate_dockerfile("debian", "debian-13",
+ trailer="".join(debian13_extras))
+ generate_dockerfile("fedora", "fedora-41")
generate_dockerfile("opensuse-leap", "opensuse-leap-15")
generate_dockerfile("ubuntu2204", "ubuntu-2204",
- trailer="".join(ubuntu2204_rust_extras))
+ trailer="".join(ubuntu2204_rust_extras),
+ # https://bugs.launchpad.net/ubuntu/+source/rustc-1.83/+bug/2120318
+ enable_rust=False)
#
# Non-fatal Rust-enabled build
#
- generate_dockerfile("fedora-rust-nightly", "fedora-40",
+ generate_dockerfile("fedora-rust-nightly", "fedora-41",
trailer="".join(fedora_rustup_nightly_extras))
#
# Cross compiling builds
#
- generate_dockerfile("debian-amd64-cross", "debian-12",
+ generate_dockerfile("debian-amd64-cross", "debian-13",
cross="x86_64",
trailer=cross_build("x86_64-linux-gnu-",
"x86_64-softmmu,"
"x86_64-linux-user,"
"i386-softmmu,i386-linux-user"))
- generate_dockerfile("debian-arm64-cross", "debian-12",
+ generate_dockerfile("debian-arm64-cross", "debian-13",
cross="aarch64",
trailer=cross_build("aarch64-linux-gnu-",
"aarch64-softmmu,aarch64-linux-user"))
- generate_dockerfile("debian-armhf-cross", "debian-12",
+ generate_dockerfile("debian-armhf-cross", "debian-13",
cross="armv7l",
trailer=cross_build("arm-linux-gnueabihf-",
"arm-softmmu,arm-linux-user"))
- generate_dockerfile("debian-i686-cross", "debian-12",
+ generate_dockerfile("debian-i686-cross", "debian-13",
cross="i686",
trailer=cross_build("i686-linux-gnu-",
"x86_64-softmmu,"
"x86_64-linux-user,"
"i386-softmmu,i386-linux-user"))
+ # mips no longer supported in debian-13
+ # https://www.debian.org/releases/trixie/release-notes/issues.html#mips-architectures-removed
generate_dockerfile("debian-mips64el-cross", "debian-12",
cross="mips64el",
trailer=cross_build("mips64el-linux-gnuabi64-",
@@ -219,7 +232,7 @@ try:
trailer=cross_build("mipsel-linux-gnu-",
"mipsel-softmmu,mipsel-linux-user"))
- generate_dockerfile("debian-ppc64el-cross", "debian-12",
+ generate_dockerfile("debian-ppc64el-cross", "debian-13",
cross="ppc64le",
trailer=cross_build("powerpc64le-linux-gnu-",
"ppc64-softmmu,ppc64-linux-user"))
@@ -227,21 +240,23 @@ try:
# while not yet a release architecture the packages are still
# build while part of testing
generate_dockerfile("debian-riscv64-cross", "debian-13",
- project="qemu-minimal",
cross="riscv64",
trailer=cross_build("riscv64-linux-gnu-",
"riscv64-softmmu,riscv64-linux-user"))
- generate_dockerfile("debian-s390x-cross", "debian-12",
+ generate_dockerfile("debian-s390x-cross", "debian-13",
cross="s390x",
trailer=cross_build("s390x-linux-gnu-",
"s390x-softmmu,s390x-linux-user"))
- generate_dockerfile("fedora-win64-cross", "fedora-40",
+ generate_dockerfile("fedora-win64-cross", "fedora-41",
project='qemu,qemu-win-installer',
cross="mingw64",
trailer=cross_build("x86_64-w64-mingw32-",
- "x86_64-softmmu"))
+ "x86_64-softmmu"),
+ # linking with rust is buggy:
+ # https://github.com/mesonbuild/meson/pull/14991
+ enable_rust=False)
#
# Cirrus packages lists for GitLab
diff --git a/tests/vm/freebsd b/tests/vm/freebsd
index 2e96c9e..ea09b21 100755
--- a/tests/vm/freebsd
+++ b/tests/vm/freebsd
@@ -40,7 +40,9 @@ class FreeBSDVM(basevm.BaseVM):
tar -xf /dev/vtbd1;
cd ../build;
../src/configure --extra-ldflags=-L/usr/local/lib \
- --extra-cflags=-I/usr/local/include {configure_opts};
+ --extra-cflags=-I/usr/local/include \
+ --enable-rust \
+ {configure_opts};
gmake --output-sync -j{jobs} {target} {verbose};
"""