aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2021-07-15 16:06:12 +0100
committerPeter Maydell <peter.maydell@linaro.org>2021-07-15 16:06:12 +0100
commit438951e8839c66a0d0f65011a7a4ff6bd50efad6 (patch)
tree975a2a9c2c626d93e54d267adc784f0891cd52f4 /tests
parentf665574ac5b08284e5292f013235bef2e9d4e73d (diff)
parenta6b95a9733a94f38b289430bf46987809f53ab16 (diff)
Merge remote-tracking branch 'remotes/stsquad/tags/pull-testing-and-plugins-140721-5' into staging
Testing and plugin updates: - custom runner playbooks for configuring GitLab runners - integrate Cirrus jobs into GitLab via cirrus-run - clean-up docker package lists - bump NetBSD to 9.2 - bump OpenBSD to 6.9 - make test-mmap more hexagon friendly - fixup handling of hostaddr for plugins - disallow some incompatible plugin configurations - fix handling of -ldl for BSDs - remove some old unused symbols from the plugin symbol map - enable plugins by default for most TCG builds - honour main build -Wall settings for plugins - new execlog plugin - new cache modelling plugin - fix io_uring build regression - disable modular TCG on Darwin # gpg: Signature made Wed 14 Jul 2021 15:56:27 BST # 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 * remotes/stsquad/tags/pull-testing-and-plugins-140721-5: (44 commits) MAINTAINERS: Added myself as a reviewer for TCG Plugins docs/devel: Added cache plugin to the plugins docs plugins/cache: Added FIFO and LRU eviction policies plugins/cache: Enable cache parameterization plugins: Added a new cache modelling plugin docs/devel: tcg-plugins: add execlog plugin description contrib/plugins: add execlog to log instruction execution and memory access contrib/plugins: enable -Wall for building plugins tcg/plugins: enable by default for most TCG builds configure: stop user enabling plugins on Windows for now configure: add an explicit static and plugins check configure: don't allow plugins to be enabled for a non-TCG build tcg/plugins: remove some stale entries from the symbol list meson.build: relax the libdl test to one for the function dlopen meson.build: move TCG plugin summary output plugins: fix-up handling of internal hostaddr for 32 bit tests/tcg: make test-mmap a little less aggressive tests/vm: update openbsd to release 6.9 tests/vm: update NetBSD to 9.2 tests/docker: expand opensuse-leap package list ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'tests')
-rwxr-xr-xtests/docker/common.rc19
-rwxr-xr-xtests/docker/docker.py4
-rw-r--r--tests/docker/dockerfiles/centos8.docker82
-rw-r--r--tests/docker/dockerfiles/debian-xtensa-cross.docker2
-rw-r--r--tests/docker/dockerfiles/debian10.docker4
-rw-r--r--tests/docker/dockerfiles/debian11.docker2
-rw-r--r--tests/docker/dockerfiles/fedora-cris-cross.docker2
-rw-r--r--tests/docker/dockerfiles/fedora-i386-cross.docker2
-rw-r--r--tests/docker/dockerfiles/fedora-win32-cross.docker3
-rw-r--r--tests/docker/dockerfiles/fedora-win64-cross.docker3
-rw-r--r--tests/docker/dockerfiles/fedora.docker67
-rw-r--r--tests/docker/dockerfiles/opensuse-leap.docker77
-rw-r--r--tests/docker/dockerfiles/ubuntu.docker4
-rw-r--r--tests/docker/dockerfiles/ubuntu1804.docker70
-rw-r--r--tests/docker/dockerfiles/ubuntu2004.docker64
-rwxr-xr-xtests/docker/run3
-rwxr-xr-xtests/docker/test-clang2
-rwxr-xr-xtests/docker/test-debug2
-rwxr-xr-xtests/docker/test-mingw3
-rwxr-xr-xtests/docker/test-misc2
-rwxr-xr-xtests/docker/test-tsan2
-rw-r--r--tests/tcg/hexagon/Makefile.target9
-rw-r--r--tests/tcg/i386/Makefile.target3
-rw-r--r--tests/tcg/multiarch/Makefile.target2
-rw-r--r--tests/tcg/multiarch/test-mmap.c208
-rwxr-xr-xtests/vm/netbsd4
-rwxr-xr-xtests/vm/openbsd4
27 files changed, 433 insertions, 216 deletions
diff --git a/tests/docker/common.rc b/tests/docker/common.rc
index ebc5b97ecf..c5cc33d366 100755
--- a/tests/docker/common.rc
+++ b/tests/docker/common.rc
@@ -15,14 +15,23 @@
# overriden by TARGET_LIST if the user sets it.
DEF_TARGET_LIST=${DEF_TARGET_LIST:-"x86_64-softmmu,aarch64-softmmu"}
-requires()
+requires_binary()
{
+ found=0
for c in $@; do
- if ! echo "$FEATURES" | grep -wq -e "$c"; then
- echo "Prerequisite '$c' not present, skip"
- exit 0
- fi
+ for d in /bin /usr/bin /usr/local/bin
+ do
+ if test -f "$d/$c"
+ then
+ found=1
+ fi
+ done
done
+ if test "$found" != "1"
+ then
+ echo "Prerequisite '$c' not present, skip"
+ exit 0
+ fi
}
configure_qemu()
diff --git a/tests/docker/docker.py b/tests/docker/docker.py
index 4d9bb7c7ed..78dd13171e 100755
--- a/tests/docker/docker.py
+++ b/tests/docker/docker.py
@@ -228,7 +228,9 @@ class Docker(object):
def __init__(self):
self._command = _guess_engine_command()
- if "docker" in self._command and "TRAVIS" not in os.environ:
+ if ("docker" in self._command and
+ "TRAVIS" not in os.environ and
+ "GITLAB_CI" not in os.environ):
os.environ["DOCKER_BUILDKIT"] = "1"
self._buildkit = True
else:
diff --git a/tests/docker/dockerfiles/centos8.docker b/tests/docker/dockerfiles/centos8.docker
index 03e0440e03..46398c61ee 100644
--- a/tests/docker/dockerfiles/centos8.docker
+++ b/tests/docker/dockerfiles/centos8.docker
@@ -1,41 +1,111 @@
-FROM centos:8.3.2011
+FROM docker.io/centos:8
RUN dnf -y update
ENV PACKAGES \
SDL2-devel \
+ alsa-lib-devel \
+ bc \
+ brlapi-devel \
bzip2 \
bzip2-devel \
+ ca-certificates \
+ capstone-devel \
+ ccache \
+ clang \
+ ctags \
+ cyrus-sasl-devel \
+ daxctl-devel \
dbus-daemon \
+ device-mapper-multipath-devel \
diffutils \
+ findutils \
gcc \
gcc-c++ \
genisoimage \
gettext \
git \
glib2-devel \
+ glibc-langpack-en \
+ glibc-static \
+ glusterfs-api-devel \
+ gnutls-devel \
+ gtk3-devel \
+ hostname \
+ jemalloc-devel \
libaio-devel \
+ libasan \
+ libattr-devel \
libbpf-devel \
+ libcacard-devel \
+ libcap-ng-devel \
+ libcurl-devel \
+ libdrm-devel \
libepoxy-devel \
libfdt-devel \
libffi-devel \
libgcrypt-devel \
+ libiscsi-devel \
+ libjpeg-devel \
+ libnfs-devel \
+ libpmem-devel \
+ libpng-devel \
+ librbd-devel \
+ libseccomp-devel \
+ libslirp-devel \
+ libssh-devel \
+ libtasn1-devel \
+ libubsan \
+ libudev-devel \
+ libusbx-devel \
+ libxml2-devel \
+ libzstd-devel \
+ llvm \
lzo-devel \
make \
- mesa-libEGL-devel \
- nmap-ncat \
+ mesa-libgbm-devel \
+ ncurses-devel \
nettle-devel \
ninja-build \
+ nmap-ncat \
+ numactl-devel \
+ openssh-clients \
+ pam-devel \
+ perl \
perl-Test-Harness \
pixman-devel \
- python36 \
+ pkgconfig \
+ pulseaudio-libs-devel \
+ python3 \
+ python3-PyYAML \
+ python3-numpy \
+ python3-pillow \
+ python3-pip \
+ python3-setuptools \
+ python3-sphinx \
+ python3-sphinx_rtd_theme \
+ python3-virtualenv \
+ python3-wheel \
rdma-core-devel \
- spice-glib-devel \
- spice-server \
+ rpm \
+ sed \
+ snappy-devel \
+ spice-protocol \
+ spice-server-devel \
+ systemd-devel \
systemtap-sdt-devel \
tar \
+ texinfo \
+ usbredir-devel \
+ util-linux \
+ virglrenderer-devel \
+ vte291-devel \
+ which \
+ xfsprogs-devel \
zlib-devel
RUN dnf install -y dnf-plugins-core && \
dnf config-manager --set-enabled powertools && \
+ dnf install -y centos-release-advanced-virtualization && \
+ dnf install -y epel-release && \
dnf install -y $PACKAGES
RUN rpm -q $PACKAGES | sort > /packages.txt
diff --git a/tests/docker/dockerfiles/debian-xtensa-cross.docker b/tests/docker/dockerfiles/debian-xtensa-cross.docker
index ba4148299c..2f11b3b7bc 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 debian:stretch-slim
+FROM docker.io/library/debian:stretch-slim
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
diff --git a/tests/docker/dockerfiles/debian10.docker b/tests/docker/dockerfiles/debian10.docker
index 4ffe47671e..b414af1b9f 100644
--- a/tests/docker/dockerfiles/debian10.docker
+++ b/tests/docker/dockerfiles/debian10.docker
@@ -7,7 +7,7 @@
# On its own you can't build much but the docker-foo-cross targets
# build on top of the base debian image.
#
-FROM debian:buster-slim
+FROM docker.io/library/debian:buster-slim
# Duplicate deb line as deb-src
RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list
@@ -35,5 +35,3 @@ RUN apt update && \
python3-sphinx \
python3-sphinx-rtd-theme \
$(apt-get -s build-dep --arch-only qemu | egrep ^Inst | fgrep '[all]' | cut -d\ -f2)
-
-ENV FEATURES docs
diff --git a/tests/docker/dockerfiles/debian11.docker b/tests/docker/dockerfiles/debian11.docker
index 5adfd62d55..febf884f8f 100644
--- a/tests/docker/dockerfiles/debian11.docker
+++ b/tests/docker/dockerfiles/debian11.docker
@@ -8,7 +8,7 @@
# On its own you can't build much but the docker-foo-cross targets
# build on top of the base debian image.
#
-FROM debian:bullseye-slim
+FROM docker.io/library/debian:bullseye-slim
# Duplicate deb line as deb-src
RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list
diff --git a/tests/docker/dockerfiles/fedora-cris-cross.docker b/tests/docker/dockerfiles/fedora-cris-cross.docker
index 1dfff6e0b9..91c373fdd3 100644
--- a/tests/docker/dockerfiles/fedora-cris-cross.docker
+++ b/tests/docker/dockerfiles/fedora-cris-cross.docker
@@ -2,7 +2,7 @@
# Cross compiler for cris system tests
#
-FROM fedora:33
+FROM registry.fedoraproject.org/fedora:33
ENV PACKAGES gcc-cris-linux-gnu
RUN dnf install -y $PACKAGES
RUN rpm -q $PACKAGES | sort > /packages.txt
diff --git a/tests/docker/dockerfiles/fedora-i386-cross.docker b/tests/docker/dockerfiles/fedora-i386-cross.docker
index 8004fd8ee5..dbb8195eb1 100644
--- a/tests/docker/dockerfiles/fedora-i386-cross.docker
+++ b/tests/docker/dockerfiles/fedora-i386-cross.docker
@@ -1,4 +1,4 @@
-FROM fedora:33
+FROM registry.fedoraproject.org/fedora:33
ENV PACKAGES \
bzip2 \
ccache \
diff --git a/tests/docker/dockerfiles/fedora-win32-cross.docker b/tests/docker/dockerfiles/fedora-win32-cross.docker
index a638afb525..5a03e1af43 100644
--- a/tests/docker/dockerfiles/fedora-win32-cross.docker
+++ b/tests/docker/dockerfiles/fedora-win32-cross.docker
@@ -1,4 +1,4 @@
-FROM fedora:33
+FROM registry.fedoraproject.org/fedora:33
# Please keep this list sorted alphabetically
ENV PACKAGES \
@@ -37,7 +37,6 @@ ENV PACKAGES \
RUN dnf install -y $PACKAGES
RUN rpm -q $PACKAGES | sort > /packages.txt
-ENV FEATURES mingw
# Specify the cross prefix for this image (see tests/docker/common.rc)
ENV QEMU_CONFIGURE_OPTS --cross-prefix=i686-w64-mingw32-
diff --git a/tests/docker/dockerfiles/fedora-win64-cross.docker b/tests/docker/dockerfiles/fedora-win64-cross.docker
index f53007ac86..ff706040c4 100644
--- a/tests/docker/dockerfiles/fedora-win64-cross.docker
+++ b/tests/docker/dockerfiles/fedora-win64-cross.docker
@@ -1,4 +1,4 @@
-FROM fedora:33
+FROM registry.fedoraproject.org/fedora:33
# Please keep this list sorted alphabetically
ENV PACKAGES \
@@ -33,7 +33,6 @@ ENV PACKAGES \
RUN dnf install -y $PACKAGES
RUN rpm -q $PACKAGES | sort > /packages.txt
-ENV FEATURES mingw
# Specify the cross prefix for this image (see tests/docker/common.rc)
ENV QEMU_CONFIGURE_OPTS --cross-prefix=x86_64-w64-mingw32- --disable-capstone
diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker
index 00cac5d61c..eec1add7f6 100644
--- a/tests/docker/dockerfiles/fedora.docker
+++ b/tests/docker/dockerfiles/fedora.docker
@@ -1,92 +1,85 @@
-FROM fedora:33
+FROM registry.fedoraproject.org/fedora:33
# Please keep this list sorted alphabetically
ENV PACKAGES \
+ SDL2-devel \
+ SDL2_image-devel \
+ alsa-lib-devel \
bc \
brlapi-devel \
bzip2 \
bzip2-devel \
+ ca-certificates \
capstone-devel \
ccache \
clang \
+ ctags \
cyrus-sasl-devel \
+ daxctl-devel \
dbus-daemon \
device-mapper-multipath-devel \
diffutils \
findutils \
gcc \
gcc-c++ \
+ gcovr \
genisoimage \
gettext \
git \
glib2-devel \
+ glibc-langpack-en \
+ glibc-static \
glusterfs-api-devel \
gnutls-devel \
gtk3-devel \
hostname \
+ jemalloc-devel \
libaio-devel \
libasan \
libattr-devel \
- libblockdev-mpath-devel \
+ libbpf-devel \
+ libcacard-devel \
libcap-ng-devel \
libcurl-devel \
+ libdrm-devel \
libepoxy-devel \
libfdt-devel \
- libbpf-devel \
libffi-devel \
+ libgcrypt-devel \
libiscsi-devel \
libjpeg-devel \
+ libnfs-devel \
libpmem-devel \
libpng-devel \
librbd-devel \
libseccomp-devel \
libslirp-devel \
libssh-devel \
+ libtasn1-devel \
libubsan \
libudev-devel \
+ liburing-devel \
libusbx-devel \
libxml2-devel \
libzstd-devel \
llvm \
+ lttng-ust-devel \
lzo-devel \
make \
+ mesa-libgbm-devel \
meson \
- mingw32-bzip2 \
- mingw32-curl \
- mingw32-glib2 \
- mingw32-gmp \
- mingw32-gnutls \
- mingw32-gtk3 \
- mingw32-libjpeg-turbo \
- mingw32-libpng \
- mingw32-libtasn1 \
- mingw32-nettle \
- mingw32-nsis \
- mingw32-pixman \
- mingw32-pkg-config \
- mingw32-SDL2 \
- mingw64-bzip2 \
- mingw64-curl \
- mingw64-glib2 \
- mingw64-gmp \
- mingw64-gnutls \
- mingw64-gtk3 \
- mingw64-libjpeg-turbo \
- mingw64-libpng \
- mingw64-libtasn1 \
- mingw64-nettle \
- mingw64-pixman \
- mingw64-pkg-config \
- mingw64-SDL2 \
- nmap-ncat \
ncurses-devel \
nettle-devel \
ninja-build \
- nss-devel \
+ nmap-ncat \
numactl-devel \
- perl \
+ openssh-clients \
+ pam-devel \
perl-Test-Harness \
+ perl-base \
pixman-devel \
+ pkgconfig \
+ pulseaudio-libs-devel \
python3 \
python3-PyYAML \
python3-numpy \
@@ -97,24 +90,28 @@ ENV PACKAGES \
python3-sphinx_rtd_theme \
python3-virtualenv \
rdma-core-devel \
- SDL2-devel \
+ rpm \
+ sed \
snappy-devel \
sparse \
+ spice-protocol \
spice-server-devel \
systemd-devel \
systemtap-sdt-devel \
tar \
tesseract \
tesseract-langpack-eng \
+ texinfo \
usbredir-devel \
+ util-linux \
virglrenderer-devel \
vte291-devel \
which \
xen-devel \
+ xfsprogs-devel \
zlib-devel
ENV QEMU_CONFIGURE_OPTS --python=/usr/bin/python3
RUN dnf install -y $PACKAGES
RUN rpm -q $PACKAGES | sort > /packages.txt
ENV PATH $PATH:/usr/libexec/python3-sphinx/
-ENV FEATURES mingw clang pyyaml asan docs
diff --git a/tests/docker/dockerfiles/opensuse-leap.docker b/tests/docker/dockerfiles/opensuse-leap.docker
index f7e1cbfbe6..5a8bee0289 100644
--- a/tests/docker/dockerfiles/opensuse-leap.docker
+++ b/tests/docker/dockerfiles/opensuse-leap.docker
@@ -1,54 +1,111 @@
-FROM opensuse/leap:15.2
+FROM registry.opensuse.org/opensuse/leap:15.2
# Please keep this list sorted alphabetically
ENV PACKAGES \
+ Mesa-devel \
+ alsa-lib-devel \
bc \
brlapi-devel \
bzip2 \
+ ca-certificates \
ccache \
+ clang \
+ ctags \
cyrus-sasl-devel \
+ dbus-1 \
+ diffutils \
+ findutils \
gcc \
gcc-c++ \
- mkisofs \
+ gcovr \
gettext-runtime \
git \
glib2-devel \
+ glibc-locale \
+ glibc-static \
glusterfs-devel \
- libgnutls-devel \
gtk3-devel \
+ hostname \
+ jemalloc-devel \
+ libSDL2-devel \
+ libSDL2_image-devel \
libaio-devel \
+ libasan6 \
libattr-devel \
+ libbpf-devel \
+ libbz2-devel \
+ libcacard-devel \
libcap-ng-devel \
+ libcurl-devel \
+ libdrm-devel \
libepoxy-devel \
libfdt-devel \
+ libffi-devel \
+ libgcrypt-devel \
+ libgnutls-devel \
libiscsi-devel \
libjpeg8-devel \
+ libndctl-devel \
+ libnettle-devel \
+ libnfs-devel \
+ libnuma-devel \
+ libpixman-1-0-devel \
libpmem-devel \
libpng16-devel \
+ libpulse-devel \
librbd-devel \
libseccomp-devel \
+ libspice-server-devel \
libssh-devel \
+ libtasn1-devel \
+ libubsan1 \
+ libudev-devel \
+ libusb-1_0-devel \
+ libxml2-devel \
+ libzstd-devel \
+ llvm \
+ lttng-ust-devel \
lzo-devel \
make \
- libSDL2_image-devel \
+ mkisofs \
+ ncat \
ncurses-devel \
ninja \
- libnuma-devel \
- perl \
- libpixman-1-0-devel \
+ openssh \
+ pam-devel \
+ perl-Test-Harness \
+ perl-base \
+ pkgconfig \
+ python3-Pillow \
+ python3-PyYAML \
+ python3-Sphinx \
python3-base \
+ python3-numpy \
+ python3-opencv \
+ python3-pip \
+ python3-setuptools \
+ python3-sphinx_rtd_theme \
python3-virtualenv \
+ python3-wheel \
rdma-core-devel \
- libSDL2-devel \
+ rpm \
+ sed \
snappy-devel \
- libspice-server-devel \
+ sparse \
+ spice-protocol-devel \
systemd-devel \
systemtap-sdt-devel \
tar \
+ tesseract-ocr \
+ tesseract-ocr-traineddata-english \
+ texinfo \
usbredir-devel \
+ util-linux \
virglrenderer-devel \
- xen-devel \
vte-devel \
+ which \
+ xen-devel \
+ xfsprogs-devel \
zlib-devel
ENV QEMU_CONFIGURE_OPTS --python=/usr/bin/python3.6
diff --git a/tests/docker/dockerfiles/ubuntu.docker b/tests/docker/dockerfiles/ubuntu.docker
index 24d1647a65..f0e0180d21 100644
--- a/tests/docker/dockerfiles/ubuntu.docker
+++ b/tests/docker/dockerfiles/ubuntu.docker
@@ -9,7 +9,7 @@
# system won't pick up that it has changed.
#
-FROM ubuntu:20.04
+FROM docker.io/library/ubuntu:20.04
ENV PACKAGES \
ccache \
clang \
@@ -40,7 +40,6 @@ ENV PACKAGES \
libncurses5-dev \
libncursesw5-dev \
libnfs-dev \
- libnss3-dev \
libnuma-dev \
libpixman-1-dev \
libpng-dev \
@@ -70,4 +69,3 @@ ENV PACKAGES \
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get -y install $PACKAGES
RUN dpkg -l $PACKAGES | sort > /packages.txt
-ENV FEATURES clang pyyaml sdl2 docs
diff --git a/tests/docker/dockerfiles/ubuntu1804.docker b/tests/docker/dockerfiles/ubuntu1804.docker
index 2f1ec7c42b..0880bf3e29 100644
--- a/tests/docker/dockerfiles/ubuntu1804.docker
+++ b/tests/docker/dockerfiles/ubuntu1804.docker
@@ -1,62 +1,116 @@
-FROM ubuntu:18.04
+FROM docker.io/library/ubuntu:18.04
ENV PACKAGES \
+ bc \
+ bsdmainutils \
+ bzip2 \
+ ca-certificates \
ccache \
clang \
+ dbus \
+ debianutils \
+ diffutils \
+ exuberant-ctags \
+ findutils \
+ g++ \
gcc \
+ gcovr \
+ genisoimage \
gettext \
git \
glusterfs-common \
+ hostname \
libaio-dev \
+ libasan5 \
+ libasound2-dev \
libattr1-dev \
libbrlapi-dev \
libbz2-dev \
+ libc6-dev \
libcacard-dev \
libcap-ng-dev \
+ libcapstone-dev \
libcurl4-gnutls-dev \
+ libdaxctl-dev \
libdrm-dev \
libepoxy-dev \
libfdt-dev \
libffi-dev \
libgbm-dev \
+ libgcrypt20-dev \
+ libglib2.0-dev \
+ libgnutls28-dev \
libgtk-3-dev \
libibverbs-dev \
libiscsi-dev \
libjemalloc-dev \
libjpeg-turbo8-dev \
+ liblttng-ust-dev \
liblzo2-dev \
- libncurses5-dev \
libncursesw5-dev \
libnfs-dev \
- libnss3-dev \
libnuma-dev \
+ libpam0g-dev \
libpixman-1-dev \
- librados-dev \
+ libpmem-dev \
+ libpng-dev \
+ libpulse-dev \
librbd-dev \
librdmacm-dev \
libsasl2-dev \
libsdl2-dev \
+ libsdl2-image-dev \
libseccomp-dev \
libsnappy-dev \
libspice-protocol-dev \
libspice-server-dev \
libssh-dev \
+ libsystemd-dev \
+ libtasn1-6-dev \
+ libtest-harness-perl \
+ libubsan1 \
+ libudev-dev \
libusb-1.0-0-dev \
libusbredirhost-dev \
libvdeplug-dev \
+ libvirglrenderer-dev \
libvte-2.91-dev \
libxen-dev \
+ libxml2-dev \
libzstd-dev \
+ llvm \
+ locales \
make \
- python3-yaml \
+ multipath-tools \
+ netcat-openbsd \
+ nettle-dev \
+ ninja-build \
+ openssh-client \
+ perl-base \
+ pkgconf \
+ python3 \
+ python3-numpy \
+ python3-opencv \
+ python3-pillow \
+ python3-pip \
+ python3-setuptools \
python3-sphinx \
python3-sphinx-rtd-theme \
- ninja-build \
+ python3-venv \
+ python3-wheel \
+ python3-yaml \
+ rpm2cpio \
+ sed \
sparse \
- xfslibs-dev
+ systemtap-sdt-dev \
+ tar \
+ tesseract-ocr \
+ tesseract-ocr-eng \
+ texinfo \
+ xfslibs-dev \
+ zlib1g-dev
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get -y install $PACKAGES
RUN dpkg -l $PACKAGES | sort > /packages.txt
-ENV FEATURES clang pyyaml sdl2 docs
# https://bugs.launchpad.net/qemu/+bug/1838763
ENV QEMU_CONFIGURE_OPTS --disable-libssh
diff --git a/tests/docker/dockerfiles/ubuntu2004.docker b/tests/docker/dockerfiles/ubuntu2004.docker
index fe993fe2a3..39de63d012 100644
--- a/tests/docker/dockerfiles/ubuntu2004.docker
+++ b/tests/docker/dockerfiles/ubuntu2004.docker
@@ -1,26 +1,44 @@
-FROM ubuntu:20.04
-ENV PACKAGES flex bison \
+FROM docker.io/library/ubuntu:20.04
+ENV PACKAGES \
+ bc \
bsdmainutils \
+ bzip2 \
+ ca-certificates \
ccache \
- clang-10\
+ clang \
+ dbus \
+ debianutils \
+ diffutils \
+ exuberant-ctags \
+ findutils \
+ g++ \
gcc \
gcovr \
genisoimage \
gettext \
git \
- glusterfs-common \
+ hostname \
libaio-dev \
+ libasan5 \
+ libasound2-dev \
libattr1-dev \
libbrlapi-dev \
libbz2-dev \
+ libc6-dev \
libcacard-dev \
libcap-ng-dev \
+ libcapstone-dev \
libcurl4-gnutls-dev \
+ libdaxctl-dev \
libdrm-dev \
libepoxy-dev \
libfdt-dev \
libffi-dev \
libgbm-dev \
+ libgcrypt20-dev \
+ libglib2.0-dev \
+ libglusterfs-dev \
+ libgnutls28-dev \
libgtk-3-dev \
libibverbs-dev \
libiscsi-dev \
@@ -28,50 +46,72 @@ ENV PACKAGES flex bison \
libjpeg-turbo8-dev \
liblttng-ust-dev \
liblzo2-dev \
- libncurses5-dev \
libncursesw5-dev \
libnfs-dev \
- libnss3-dev \
libnuma-dev \
+ libpam0g-dev \
libpixman-1-dev \
- librados-dev \
+ libpmem-dev \
+ libpng-dev \
+ libpulse-dev \
librbd-dev \
librdmacm-dev \
libsasl2-dev \
libsdl2-dev \
+ libsdl2-image-dev \
libseccomp-dev \
libslirp-dev \
libsnappy-dev \
libspice-protocol-dev \
libspice-server-dev \
libssh-dev \
+ libsystemd-dev \
+ libtasn1-6-dev \
+ libtest-harness-perl \
+ libubsan1 \
+ libudev-dev \
libusb-1.0-0-dev \
libusbredirhost-dev \
libvdeplug-dev \
+ libvirglrenderer-dev \
libvte-2.91-dev \
libxen-dev \
+ libxml2-dev \
libzstd-dev \
+ llvm \
+ locales \
make \
- netcat-openbsd \
+ multipath-tools \
+ ncat \
+ nettle-dev \
ninja-build \
+ openssh-client \
+ perl-base \
+ pkgconf \
+ python3 \
python3-numpy \
python3-opencv \
- python3-pil \
+ python3-pillow \
python3-pip \
+ python3-setuptools \
python3-sphinx \
python3-sphinx-rtd-theme \
python3-venv \
+ python3-wheel \
python3-yaml \
rpm2cpio \
+ sed \
sparse \
+ systemtap-sdt-dev \
+ tar \
tesseract-ocr \
tesseract-ocr-eng \
- xfslibs-dev\
- vim
+ texinfo \
+ xfslibs-dev \
+ zlib1g-dev
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get -y install $PACKAGES
RUN dpkg -l $PACKAGES | sort > /packages.txt
-ENV FEATURES clang tsan pyyaml sdl2
# Apply patch https://reviews.llvm.org/D75820
# This is required for TSan in clang-10 to compile with QEMU.
diff --git a/tests/docker/run b/tests/docker/run
index 8edc7026ee..421393046b 100755
--- a/tests/docker/run
+++ b/tests/docker/run
@@ -30,9 +30,6 @@ mkdir -p $TEST_DIR/{src,build,install}
# Extract the source tarballs
tar -C $TEST_DIR/src -xf $BASE/qemu.tar || { echo "Failed to untar source"; exit 2; }
-if test -f $TEST_DIR/src/Makefile; then
- export FEATURES="$FEATURES dtc"
-fi
if test -n "$SHOW_ENV"; then
if test -f /packages.txt; then
diff --git a/tests/docker/test-clang b/tests/docker/test-clang
index 8c51ead518..b57e0119d9 100755
--- a/tests/docker/test-clang
+++ b/tests/docker/test-clang
@@ -13,7 +13,7 @@
. common.rc
-requires clang
+requires_binary clang
cd "$BUILD_DIR"
diff --git a/tests/docker/test-debug b/tests/docker/test-debug
index c050fa0d93..f52f16328c 100755
--- a/tests/docker/test-debug
+++ b/tests/docker/test-debug
@@ -14,7 +14,7 @@
. common.rc
-requires clang asan
+requires_binary clang
cd "$BUILD_DIR"
diff --git a/tests/docker/test-mingw b/tests/docker/test-mingw
index c30eb654eb..0bc6d78872 100755
--- a/tests/docker/test-mingw
+++ b/tests/docker/test-mingw
@@ -13,7 +13,8 @@
. common.rc
-requires mingw dtc
+requires_binary x86_64-w64-mingw32-gcc
+requires_binary i686-w64-mingw32-gcc
cd "$BUILD_DIR"
diff --git a/tests/docker/test-misc b/tests/docker/test-misc
index cc94a738dd..2a3c2c2e1c 100755
--- a/tests/docker/test-misc
+++ b/tests/docker/test-misc
@@ -14,7 +14,7 @@
. common.rc
-requires docs
+requires_binary sphinx-build-3 sphinx-build
cd "$BUILD_DIR"
diff --git a/tests/docker/test-tsan b/tests/docker/test-tsan
index eb40ac45b7..53d90d2f79 100755
--- a/tests/docker/test-tsan
+++ b/tests/docker/test-tsan
@@ -17,7 +17,7 @@
setup_tsan()
{
- requires clang tsan
+ requires_binary clang
tsan_log_dir="/tmp/qemu-test/build/tsan"
mkdir -p $tsan_log_dir > /dev/null || true
EXTRA_CONFIGURE_OPTS="${EXTRA_CONFIGURE_OPTS} --enable-tsan \
diff --git a/tests/tcg/hexagon/Makefile.target b/tests/tcg/hexagon/Makefile.target
index 0992787d50..050cd61c1a 100644
--- a/tests/tcg/hexagon/Makefile.target
+++ b/tests/tcg/hexagon/Makefile.target
@@ -18,15 +18,6 @@
# Hexagon doesn't support gdb, so skip the EXTRA_RUNS
EXTRA_RUNS =
-# Hexagon has 64K pages, so increase the timeout to keep
-# test-mmap from timing out
-ifeq ($(CONFIG_DEBUG_TCG),y)
-TIMEOUT=800
-else
-TIMEOUT=500
-endif
-
-
CFLAGS += -Wno-incompatible-pointer-types -Wno-undefined-internal
CFLAGS += -fno-unroll-loops
diff --git a/tests/tcg/i386/Makefile.target b/tests/tcg/i386/Makefile.target
index f7efaab918..b0a2128980 100644
--- a/tests/tcg/i386/Makefile.target
+++ b/tests/tcg/i386/Makefile.target
@@ -65,6 +65,9 @@ run-plugin-%-with-libinsn.so:
-d plugin -D $*-with-libinsn.so.pout $*, \
"$* (inline) on $(TARGET_NAME)")
+run-plugin-signals-with-libinsn.so:
+ $(call skip-test, $<, "BROKEN awaiting sigframe clean-ups and vdso support")
+
# Update TESTS
I386_TESTS:=$(filter-out $(SKIP_I386_TESTS), $(ALL_X86_TESTS))
TESTS=$(MULTIARCH_TESTS) $(I386_TESTS)
diff --git a/tests/tcg/multiarch/Makefile.target b/tests/tcg/multiarch/Makefile.target
index d57a115873..85a6fb7a2e 100644
--- a/tests/tcg/multiarch/Makefile.target
+++ b/tests/tcg/multiarch/Makefile.target
@@ -37,6 +37,8 @@ signals: LDFLAGS+=-lrt -lpthread
run-signals: signals
$(call skip-test, $<, "BROKEN awaiting sigframe clean-ups and vdso support")
+run-plugin-signals-with-%:
+ $(call skip-test, $<, "BROKEN awaiting sigframe clean-ups and vdso support")
# We define the runner for test-mmap after the individual
# architectures have defined their supported pages sizes. If no
diff --git a/tests/tcg/multiarch/test-mmap.c b/tests/tcg/multiarch/test-mmap.c
index 11d0e777b1..96257f8ebe 100644
--- a/tests/tcg/multiarch/test-mmap.c
+++ b/tests/tcg/multiarch/test-mmap.c
@@ -49,64 +49,62 @@ size_t test_fsize;
void check_aligned_anonymous_unfixed_mmaps(void)
{
- void *p1;
- void *p2;
- void *p3;
- void *p4;
- void *p5;
- uintptr_t p;
- int i;
-
- fprintf(stdout, "%s", __func__);
- for (i = 0; i < 0x1fff; i++)
- {
- size_t len;
-
- len = pagesize + (pagesize * i & 7);
- p1 = mmap(NULL, len, PROT_READ,
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
- p2 = mmap(NULL, len, PROT_READ,
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
- p3 = mmap(NULL, len, PROT_READ,
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
- p4 = mmap(NULL, len, PROT_READ,
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
- p5 = mmap(NULL, len, PROT_READ,
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
-
- /* Make sure we get pages aligned with the pagesize. The
- target expects this. */
- fail_unless (p1 != MAP_FAILED);
- fail_unless (p2 != MAP_FAILED);
- fail_unless (p3 != MAP_FAILED);
- fail_unless (p4 != MAP_FAILED);
- fail_unless (p5 != MAP_FAILED);
- p = (uintptr_t) p1;
- D(printf ("p=%x\n", p));
- fail_unless ((p & pagemask) == 0);
- p = (uintptr_t) p2;
- fail_unless ((p & pagemask) == 0);
- p = (uintptr_t) p3;
- fail_unless ((p & pagemask) == 0);
- p = (uintptr_t) p4;
- fail_unless ((p & pagemask) == 0);
- p = (uintptr_t) p5;
- fail_unless ((p & pagemask) == 0);
-
- /* Make sure we can read from the entire area. */
- memcpy (dummybuf, p1, pagesize);
- memcpy (dummybuf, p2, pagesize);
- memcpy (dummybuf, p3, pagesize);
- memcpy (dummybuf, p4, pagesize);
- memcpy (dummybuf, p5, pagesize);
-
- munmap (p1, len);
- munmap (p2, len);
- munmap (p3, len);
- munmap (p4, len);
- munmap (p5, len);
- }
- fprintf(stdout, " passed\n");
+ void *p1;
+ void *p2;
+ void *p3;
+ void *p4;
+ void *p5;
+ uintptr_t p;
+ int i;
+ fprintf(stdout, "%s", __func__);
+ for (i = 0; i < 8; i++) {
+ size_t len;
+ len = pagesize + (pagesize * i);
+ p1 = mmap(NULL, len, PROT_READ,
+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+ p2 = mmap(NULL, len, PROT_READ,
+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+ p3 = mmap(NULL, len, PROT_READ,
+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+ p4 = mmap(NULL, len, PROT_READ,
+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+ p5 = mmap(NULL, len, PROT_READ,
+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+
+ /*
+ * Make sure we get pages aligned with the pagesize. The
+ * target expects this.
+ */
+ fail_unless(p1 != MAP_FAILED);
+ fail_unless(p2 != MAP_FAILED);
+ fail_unless(p3 != MAP_FAILED);
+ fail_unless(p4 != MAP_FAILED);
+ fail_unless(p5 != MAP_FAILED);
+ p = (uintptr_t) p1;
+ D(printf("p=%x\n", p));
+ fail_unless((p & pagemask) == 0);
+ p = (uintptr_t) p2;
+ fail_unless((p & pagemask) == 0);
+ p = (uintptr_t) p3;
+ fail_unless((p & pagemask) == 0);
+ p = (uintptr_t) p4;
+ fail_unless((p & pagemask) == 0);
+ p = (uintptr_t) p5;
+ fail_unless((p & pagemask) == 0);
+
+ /* Make sure we can read from the entire area. */
+ memcpy(dummybuf, p1, pagesize);
+ memcpy(dummybuf, p2, pagesize);
+ memcpy(dummybuf, p3, pagesize);
+ memcpy(dummybuf, p4, pagesize);
+ memcpy(dummybuf, p5, pagesize);
+ munmap(p1, len);
+ munmap(p2, len);
+ munmap(p3, len);
+ munmap(p4, len);
+ munmap(p5, len);
+ }
+ fprintf(stdout, " passed\n");
}
void check_large_anonymous_unfixed_mmap(void)
@@ -135,52 +133,54 @@ void check_large_anonymous_unfixed_mmap(void)
void check_aligned_anonymous_unfixed_colliding_mmaps(void)
{
- char *p1;
- char *p2;
- char *p3;
- uintptr_t p;
- int i;
-
- fprintf(stdout, "%s", __func__);
- for (i = 0; i < 0x2fff; i++)
- {
- int nlen;
- p1 = mmap(NULL, pagesize, PROT_READ,
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
- fail_unless (p1 != MAP_FAILED);
- p = (uintptr_t) p1;
- fail_unless ((p & pagemask) == 0);
- memcpy (dummybuf, p1, pagesize);
-
- p2 = mmap(NULL, pagesize, PROT_READ,
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
- fail_unless (p2 != MAP_FAILED);
- p = (uintptr_t) p2;
- fail_unless ((p & pagemask) == 0);
- memcpy (dummybuf, p2, pagesize);
-
-
- munmap (p1, pagesize);
- nlen = pagesize * 8;
- p3 = mmap(NULL, nlen, PROT_READ,
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
- fail_unless (p3 != MAP_FAILED);
-
- /* Check if the mmaped areas collide. */
- if (p3 < p2
- && (p3 + nlen) > p2)
- fail_unless (0);
-
- memcpy (dummybuf, p3, pagesize);
-
- /* Make sure we get pages aligned with the pagesize. The
- target expects this. */
- p = (uintptr_t) p3;
- fail_unless ((p & pagemask) == 0);
- munmap (p2, pagesize);
- munmap (p3, nlen);
- }
- fprintf(stdout, " passed\n");
+ char *p1;
+ char *p2;
+ char *p3;
+ uintptr_t p;
+ int i;
+
+ fprintf(stdout, "%s", __func__);
+ for (i = 0; i < 2; i++) {
+ int nlen;
+ p1 = mmap(NULL, pagesize, PROT_READ,
+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+ fail_unless(p1 != MAP_FAILED);
+ p = (uintptr_t) p1;
+ fail_unless((p & pagemask) == 0);
+ memcpy(dummybuf, p1, pagesize);
+
+ p2 = mmap(NULL, pagesize, PROT_READ,
+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+ fail_unless(p2 != MAP_FAILED);
+ p = (uintptr_t) p2;
+ fail_unless((p & pagemask) == 0);
+ memcpy(dummybuf, p2, pagesize);
+
+
+ munmap(p1, pagesize);
+ nlen = pagesize * 8;
+ p3 = mmap(NULL, nlen, PROT_READ,
+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+ fail_unless(p3 != MAP_FAILED);
+
+ /* Check if the mmaped areas collide. */
+ if (p3 < p2
+ && (p3 + nlen) > p2) {
+ fail_unless(0);
+ }
+
+ memcpy(dummybuf, p3, pagesize);
+
+ /*
+ * Make sure we get pages aligned with the pagesize. The
+ * target expects this.
+ */
+ p = (uintptr_t) p3;
+ fail_unless((p & pagemask) == 0);
+ munmap(p2, pagesize);
+ munmap(p3, nlen);
+ }
+ fprintf(stdout, " passed\n");
}
void check_aligned_anonymous_fixed_mmaps(void)
diff --git a/tests/vm/netbsd b/tests/vm/netbsd
index b9efc269d2..4cc58df130 100755
--- a/tests/vm/netbsd
+++ b/tests/vm/netbsd
@@ -22,8 +22,8 @@ class NetBSDVM(basevm.BaseVM):
name = "netbsd"
arch = "x86_64"
- link = "https://cdn.netbsd.org/pub/NetBSD/NetBSD-9.1/images/NetBSD-9.1-amd64.iso"
- csum = "65bddc95945991c3b2021f9c8ded7f34c25f0a7611b7aa15a15fe23399e902307e926ae97fcd01dc1662ac67b5f6e4be643c6a2b581692ddcb616d30125066f9"
+ link = "https://cdn.netbsd.org/pub/NetBSD/NetBSD-9.2/images/NetBSD-9.2-amd64.iso"
+ csum = "5ee0ea101f73386b9b424f5d1041e371db3c42fdd6f4e4518dc79c4a08f31d43091ebe93425c9f0dcaaed2b51131836fe6774f33f89030b58d64709b35fda72f"
size = "20G"
pkgs = [
# tools
diff --git a/tests/vm/openbsd b/tests/vm/openbsd
index 4d1399378e..c4c78a80f1 100755
--- a/tests/vm/openbsd
+++ b/tests/vm/openbsd
@@ -22,8 +22,8 @@ class OpenBSDVM(basevm.BaseVM):
name = "openbsd"
arch = "x86_64"
- link = "https://cdn.openbsd.org/pub/OpenBSD/6.8/amd64/install68.iso"
- csum = "47e291fcc2d0c1a8ae0b66329f040b33af755b6adbd21739e20bb5ad56f62b6c"
+ link = "https://cdn.openbsd.org/pub/OpenBSD/6.9/amd64/install69.iso"
+ csum = "140d26548aec680e34bb5f82295414228e7f61e4f5e7951af066014fda2d6e43"
size = "20G"
pkgs = [
# tools