testing updates:

- update most Debian to bookworm
   - fix some typos
   - update loongarch toolchain
   - fix microbit test
   - handle GitLab/Cirrus timeout discrepancy
   - improve avocado console handling
   - disable mips avocado images pending bugfix
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAmUK/RcACgkQ+9DbCVqe
 KkQtYwf/Qu0eQZ8ZM4PsKcW07O76qn3cOphTFeZM01hICeiiMGRnwBVtBGIsdx1r
 MaXd7o35tnJRMbUnlGCFUDMWDZaafQIKIlsFwAGTMqgQ+kv+GB22MHpNySRZ9pXl
 ed1tOyz8maId4b3ECvGJqJSNOBB1P3tw7rdbFEhuSyXFZKJc79w1nCYjJyEtNpST
 CT7AYXJiVLiB4jSB7XH9XrkVTvw4k+PjzmLUFRJoGlik0O7xj2i7zfGO5+VxCm9t
 VluEcrlQ5w3JNL69yRhqTtrHAC7bBKqUOaF1bEA//ELNNQn2heuxDeHlDAgOtpV/
 VkShHgWJAwGLishFlv/+tmp5fbU5CQ==
 =3Lsz
 -----END PGP SIGNATURE-----

Merge tag 'pull-testing-200923-1' of https://gitlab.com/stsquad/qemu into staging

testing updates:

  - update most Debian to bookworm
  - fix some typos
  - update loongarch toolchain
  - fix microbit test
  - handle GitLab/Cirrus timeout discrepancy
  - improve avocado console handling
  - disable mips avocado images pending bugfix

# -----BEGIN PGP SIGNATURE-----
#
# iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAmUK/RcACgkQ+9DbCVqe
# KkQtYwf/Qu0eQZ8ZM4PsKcW07O76qn3cOphTFeZM01hICeiiMGRnwBVtBGIsdx1r
# MaXd7o35tnJRMbUnlGCFUDMWDZaafQIKIlsFwAGTMqgQ+kv+GB22MHpNySRZ9pXl
# ed1tOyz8maId4b3ECvGJqJSNOBB1P3tw7rdbFEhuSyXFZKJc79w1nCYjJyEtNpST
# CT7AYXJiVLiB4jSB7XH9XrkVTvw4k+PjzmLUFRJoGlik0O7xj2i7zfGO5+VxCm9t
# VluEcrlQ5w3JNL69yRhqTtrHAC7bBKqUOaF1bEA//ELNNQn2heuxDeHlDAgOtpV/
# VkShHgWJAwGLishFlv/+tmp5fbU5CQ==
# =3Lsz
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 20 Sep 2023 10:09:27 EDT
# gpg:                using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44
# gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 6685 AE99 E751 67BC AFC8  DF35 FBD0 DB09 5A9E 2A44

* tag 'pull-testing-200923-1' of https://gitlab.com/stsquad/qemu:
  tests/avocado: Disable MIPS Malta tests due to GitLab issue #1884
  tests/avocado: Fix console data loss
  gitlab: make Cirrus CI jobs gating
  gitlab: make Cirrus CI timeout explicit
  qtest: kill orphaned qtest QEMU processes on FreeBSD
  microbit: add missing qtest_quit() call
  tests/docker: Update docker-loongarch-cross toolchain
  gitlab: fix typo/spelling in comments
  tests: update most Debian images to Bookworm

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
Stefan Hajnoczi 2023-09-21 09:30:20 -04:00
commit f2df7e7705
20 changed files with 88 additions and 49 deletions

View file

@ -68,7 +68,7 @@ variables:
############################################################# #############################################################
# Stage 2: fine tune execution of jobs in specific scenarios # Stage 2: fine tune execution of jobs in specific scenarios
# where the catch all logic is inapprorpaite # where the catch all logic is inappropriate
############################################################# #############################################################
# Optional jobs should not be run unless manually triggered # Optional jobs should not be run unless manually triggered

View file

@ -15,8 +15,10 @@
stage: build stage: build
image: registry.gitlab.com/libvirt/libvirt-ci/cirrus-run:master image: registry.gitlab.com/libvirt/libvirt-ci/cirrus-run:master
needs: [] needs: []
# 20 mins larger than "timeout_in" in cirrus/build.yml
# as there's often a 5-10 minute delay before Cirrus CI
# actually starts the task
timeout: 80m timeout: 80m
allow_failure: true
script: script:
- source .gitlab-ci.d/cirrus/$NAME.vars - source .gitlab-ci.d/cirrus/$NAME.vars
- sed -e "s|[@]CI_REPOSITORY_URL@|$CI_REPOSITORY_URL|g" - sed -e "s|[@]CI_REPOSITORY_URL@|$CI_REPOSITORY_URL|g"

View file

@ -16,6 +16,8 @@ env:
TEST_TARGETS: "@TEST_TARGETS@" TEST_TARGETS: "@TEST_TARGETS@"
build_task: build_task:
# A little shorter than GitLab timeout in ../cirrus.yml
timeout_in: 60m
install_script: install_script:
- @UPDATE_COMMAND@ - @UPDATE_COMMAND@
- @INSTALL_COMMAND@ @PKGS@ - @INSTALL_COMMAND@ @PKGS@

View file

@ -191,6 +191,7 @@ class QEMUMachine:
self.sock_dir, f"{self._name}.con" self.sock_dir, f"{self._name}.con"
) )
self._console_socket: Optional[socket.socket] = None self._console_socket: Optional[socket.socket] = None
self._console_file: Optional[socket.SocketIO] = None
self._remove_files: List[str] = [] self._remove_files: List[str] = []
self._user_killed = False self._user_killed = False
self._quit_issued = False self._quit_issued = False
@ -509,6 +510,11 @@ class QEMUMachine:
# If we keep the console socket open, we may deadlock waiting # If we keep the console socket open, we may deadlock waiting
# for QEMU to exit, while QEMU is waiting for the socket to # for QEMU to exit, while QEMU is waiting for the socket to
# become writable. # become writable.
if self._console_file is not None:
LOG.debug("Closing console file")
self._console_file.close()
self._console_file = None
if self._console_socket is not None: if self._console_socket is not None:
LOG.debug("Closing console socket") LOG.debug("Closing console socket")
self._console_socket.close() self._console_socket.close()
@ -874,12 +880,25 @@ class QEMUMachine:
Returns a socket connected to the console Returns a socket connected to the console
""" """
if self._console_socket is None: if self._console_socket is None:
LOG.debug("Opening console socket")
self._console_socket = console_socket.ConsoleSocket( self._console_socket = console_socket.ConsoleSocket(
self._console_address, self._console_address,
file=self._console_log_path, file=self._console_log_path,
drain=self._drain_console) drain=self._drain_console)
return self._console_socket return self._console_socket
@property
def console_file(self) -> socket.SocketIO:
"""
Returns a file associated with the console socket
"""
if self._console_file is None:
LOG.debug("Opening console file")
self._console_file = self.console_socket.makefile(mode='rb',
buffering=0,
encoding='utf-8')
return self._console_file
@property @property
def temp_dir(self) -> str: def temp_dir(self) -> str:
""" """

View file

@ -137,7 +137,7 @@ def _console_interaction(test, success_message, failure_message,
assert not keep_sending or send_string assert not keep_sending or send_string
if vm is None: if vm is None:
vm = test.vm vm = test.vm
console = vm.console_socket.makefile(mode='rb', encoding='utf-8') console = vm.console_file
console_logger = logging.getLogger('console') console_logger = logging.getLogger('console')
while True: while True:
if send_string: if send_string:

View file

@ -116,6 +116,7 @@ class BootLinuxConsole(LinuxKernelTest):
console_pattern = 'Kernel command line: %s' % kernel_command_line console_pattern = 'Kernel command line: %s' % kernel_command_line
self.wait_for_console_pattern(console_pattern) self.wait_for_console_pattern(console_pattern)
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
def test_mips_malta(self): def test_mips_malta(self):
""" """
:avocado: tags=arch:mips :avocado: tags=arch:mips
@ -138,6 +139,7 @@ class BootLinuxConsole(LinuxKernelTest):
console_pattern = 'Kernel command line: %s' % kernel_command_line console_pattern = 'Kernel command line: %s' % kernel_command_line
self.wait_for_console_pattern(console_pattern) self.wait_for_console_pattern(console_pattern)
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
def test_mips64el_malta(self): def test_mips64el_malta(self):
""" """
This test requires the ar tool to extract "data.tar.gz" from This test requires the ar tool to extract "data.tar.gz" from
@ -191,6 +193,7 @@ class BootLinuxConsole(LinuxKernelTest):
console_pattern = 'Kernel command line: %s' % kernel_command_line console_pattern = 'Kernel command line: %s' % kernel_command_line
self.wait_for_console_pattern(console_pattern) self.wait_for_console_pattern(console_pattern)
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
def test_mips_malta_cpio(self): def test_mips_malta_cpio(self):
""" """
:avocado: tags=arch:mips :avocado: tags=arch:mips
@ -232,6 +235,7 @@ class BootLinuxConsole(LinuxKernelTest):
# Wait for VM to shut down gracefully # Wait for VM to shut down gracefully
self.vm.wait() self.vm.wait()
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
@skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code') @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code')
def test_mips64el_malta_5KEc_cpio(self): def test_mips64el_malta_5KEc_cpio(self):
""" """
@ -292,6 +296,7 @@ class BootLinuxConsole(LinuxKernelTest):
console_pattern = 'Kernel command line: %s' % kernel_command_line console_pattern = 'Kernel command line: %s' % kernel_command_line
self.wait_for_console_pattern(console_pattern) self.wait_for_console_pattern(console_pattern)
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
def test_mips_malta32el_nanomips_4k(self): def test_mips_malta32el_nanomips_4k(self):
""" """
:avocado: tags=arch:mipsel :avocado: tags=arch:mipsel
@ -305,6 +310,7 @@ class BootLinuxConsole(LinuxKernelTest):
kernel_hash = '477456aafd2a0f1ddc9482727f20fe9575565dd6' kernel_hash = '477456aafd2a0f1ddc9482727f20fe9575565dd6'
self.do_test_mips_malta32el_nanomips(kernel_url, kernel_hash) self.do_test_mips_malta32el_nanomips(kernel_url, kernel_hash)
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
def test_mips_malta32el_nanomips_16k_up(self): def test_mips_malta32el_nanomips_16k_up(self):
""" """
:avocado: tags=arch:mipsel :avocado: tags=arch:mipsel
@ -318,6 +324,7 @@ class BootLinuxConsole(LinuxKernelTest):
kernel_hash = 'e882868f944c71c816e832e2303b7874d044a7bc' kernel_hash = 'e882868f944c71c816e832e2303b7874d044a7bc'
self.do_test_mips_malta32el_nanomips(kernel_url, kernel_hash) self.do_test_mips_malta32el_nanomips(kernel_url, kernel_hash)
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
def test_mips_malta32el_nanomips_64k_dbg(self): def test_mips_malta32el_nanomips_64k_dbg(self):
""" """
:avocado: tags=arch:mipsel :avocado: tags=arch:mipsel

View file

@ -11,6 +11,7 @@ import os
import gzip import gzip
import logging import logging
from avocado import skip
from avocado import skipIf from avocado import skipIf
from avocado import skipUnless from avocado import skipUnless
from avocado.utils import archive from avocado.utils import archive
@ -93,6 +94,7 @@ class MaltaMachineFramebuffer(QemuSystemTest):
cv2.imwrite(debug_png, screendump_bgr) cv2.imwrite(debug_png, screendump_bgr)
self.assertGreaterEqual(tuxlogo_count, cpu_cores_count) self.assertGreaterEqual(tuxlogo_count, cpu_cores_count)
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
def test_mips_malta_i6400_framebuffer_logo_1core(self): def test_mips_malta_i6400_framebuffer_logo_1core(self):
""" """
:avocado: tags=arch:mips64el :avocado: tags=arch:mips64el
@ -101,6 +103,7 @@ class MaltaMachineFramebuffer(QemuSystemTest):
""" """
self.do_test_i6400_framebuffer_logo(1) self.do_test_i6400_framebuffer_logo(1)
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
@skipIf(os.getenv('GITLAB_CI'), 'Running on GitLab') @skipIf(os.getenv('GITLAB_CI'), 'Running on GitLab')
def test_mips_malta_i6400_framebuffer_logo_7cores(self): def test_mips_malta_i6400_framebuffer_logo_7cores(self):
""" """
@ -111,6 +114,7 @@ class MaltaMachineFramebuffer(QemuSystemTest):
""" """
self.do_test_i6400_framebuffer_logo(7) self.do_test_i6400_framebuffer_logo(7)
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
@skipIf(os.getenv('GITLAB_CI'), 'Running on GitLab') @skipIf(os.getenv('GITLAB_CI'), 'Running on GitLab')
def test_mips_malta_i6400_framebuffer_logo_8cores(self): def test_mips_malta_i6400_framebuffer_logo_8cores(self):
""" """
@ -142,6 +146,7 @@ class MaltaMachine(QemuSystemTest):
wait_for_console_pattern(self, prompt) wait_for_console_pattern(self, prompt)
self.vm.shutdown() self.vm.shutdown()
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
def test_mipsel_malta_yamon(self): def test_mipsel_malta_yamon(self):
""" """
:avocado: tags=arch:mipsel :avocado: tags=arch:mipsel
@ -150,6 +155,7 @@ class MaltaMachine(QemuSystemTest):
""" """
self.do_test_yamon() self.do_test_yamon()
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
def test_mips64el_malta_yamon(self): def test_mips64el_malta_yamon(self):
""" """
:avocado: tags=arch:mips64el :avocado: tags=arch:mips64el

View file

@ -98,6 +98,7 @@ class ReplayKernelNormal(ReplayKernelBase):
self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5) self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5)
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
def test_mips_malta(self): def test_mips_malta(self):
""" """
:avocado: tags=arch:mips :avocado: tags=arch:mips
@ -116,6 +117,7 @@ class ReplayKernelNormal(ReplayKernelBase):
self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5) self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5)
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
def test_mips64el_malta(self): def test_mips64el_malta(self):
""" """
This test requires the ar tool to extract "data.tar.gz" from This test requires the ar tool to extract "data.tar.gz" from
@ -431,6 +433,7 @@ class ReplayKernelSlow(ReplayKernelBase):
# making it very slow. # making it very slow.
timeout = 180 timeout = 180
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
def test_mips_malta_cpio(self): def test_mips_malta_cpio(self):
""" """
:avocado: tags=arch:mips :avocado: tags=arch:mips
@ -460,6 +463,7 @@ class ReplayKernelSlow(ReplayKernelBase):
self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5, self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5,
args=('-initrd', initrd_path)) args=('-initrd', initrd_path))
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
@skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code') @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code')
def test_mips64el_malta_5KEc_cpio(self): def test_mips64el_malta_5KEc_cpio(self):
""" """
@ -502,6 +506,7 @@ class ReplayKernelSlow(ReplayKernelBase):
console_pattern = 'Kernel command line: %s' % kernel_command_line console_pattern = 'Kernel command line: %s' % kernel_command_line
self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5) self.run_rr(kernel_path, kernel_command_line, console_pattern, shift=5)
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
def test_mips_malta32el_nanomips_4k(self): def test_mips_malta32el_nanomips_4k(self):
""" """
:avocado: tags=arch:mipsel :avocado: tags=arch:mipsel
@ -516,6 +521,7 @@ class ReplayKernelSlow(ReplayKernelBase):
kernel_path_xz = self.fetch_asset(kernel_url, asset_hash=kernel_hash) kernel_path_xz = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
self.do_test_mips_malta32el_nanomips(kernel_path_xz) self.do_test_mips_malta32el_nanomips(kernel_path_xz)
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
def test_mips_malta32el_nanomips_16k_up(self): def test_mips_malta32el_nanomips_16k_up(self):
""" """
:avocado: tags=arch:mipsel :avocado: tags=arch:mipsel
@ -530,6 +536,7 @@ class ReplayKernelSlow(ReplayKernelBase):
kernel_path_xz = self.fetch_asset(kernel_url, asset_hash=kernel_hash) kernel_path_xz = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
self.do_test_mips_malta32el_nanomips(kernel_path_xz) self.do_test_mips_malta32el_nanomips(kernel_path_xz)
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
def test_mips_malta32el_nanomips_64k_dbg(self): def test_mips_malta32el_nanomips_64k_dbg(self):
""" """
:avocado: tags=arch:mipsel :avocado: tags=arch:mipsel

View file

@ -352,6 +352,7 @@ class TuxRunBaselineTest(QemuSystemTest):
self.common_tuxrun(csums=sums, drive="virtio-blk-pci") self.common_tuxrun(csums=sums, drive="virtio-blk-pci")
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
def test_mips32(self): def test_mips32(self):
""" """
:avocado: tags=arch:mips :avocado: tags=arch:mips
@ -370,6 +371,7 @@ class TuxRunBaselineTest(QemuSystemTest):
self.common_tuxrun(csums=sums, drive="driver=ide-hd,bus=ide.0,unit=0") self.common_tuxrun(csums=sums, drive="driver=ide-hd,bus=ide.0,unit=0")
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
def test_mips32el(self): def test_mips32el(self):
""" """
:avocado: tags=arch:mipsel :avocado: tags=arch:mipsel
@ -387,6 +389,7 @@ class TuxRunBaselineTest(QemuSystemTest):
self.common_tuxrun(csums=sums, drive="driver=ide-hd,bus=ide.0,unit=0") self.common_tuxrun(csums=sums, drive="driver=ide-hd,bus=ide.0,unit=0")
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
def test_mips64(self): def test_mips64(self):
""" """
:avocado: tags=arch:mips64 :avocado: tags=arch:mips64
@ -404,6 +407,7 @@ class TuxRunBaselineTest(QemuSystemTest):
self.common_tuxrun(csums=sums, drive="driver=ide-hd,bus=ide.0,unit=0") self.common_tuxrun(csums=sums, drive="driver=ide-hd,bus=ide.0,unit=0")
@skip('https://gitlab.com/qemu-project/qemu/-/issues/1884')
def test_mips64el(self): def test_mips64el(self):
""" """
:avocado: tags=arch:mips64el :avocado: tags=arch:mips64el

View file

@ -1,10 +1,10 @@
# THIS FILE WAS AUTO-GENERATED # THIS FILE WAS AUTO-GENERATED
# #
# $ lcitool dockerfile --layers all --cross-arch x86_64 debian-11 qemu # $ lcitool dockerfile --layers all --cross-arch x86_64 debian-12 qemu
# #
# https://gitlab.com/libvirt/libvirt-ci # https://gitlab.com/libvirt/libvirt-ci
FROM docker.io/library/debian:11-slim FROM docker.io/library/debian:12-slim
RUN export DEBIAN_FRONTEND=noninteractive && \ RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \ apt-get update && \
@ -47,11 +47,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
python3-opencv \ python3-opencv \
python3-pillow \ python3-pillow \
python3-pip \ python3-pip \
python3-setuptools \
python3-sphinx \ python3-sphinx \
python3-sphinx-rtd-theme \ python3-sphinx-rtd-theme \
python3-venv \ python3-venv \
python3-wheel \
python3-yaml \ python3-yaml \
rpm2cpio \ rpm2cpio \
sed \ sed \
@ -67,8 +65,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \ sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
dpkg-reconfigure locales dpkg-reconfigure locales
RUN /usr/bin/pip3 install tomli
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8" ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make" ENV MAKE "/usr/bin/make"
@ -146,6 +142,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libvdeplug-dev:amd64 \ libvdeplug-dev:amd64 \
libvirglrenderer-dev:amd64 \ libvirglrenderer-dev:amd64 \
libvte-2.91-dev:amd64 \ libvte-2.91-dev:amd64 \
libxdp-dev:amd64 \
libxen-dev:amd64 \ libxen-dev:amd64 \
libzstd-dev:amd64 \ libzstd-dev:amd64 \
nettle-dev:amd64 \ nettle-dev:amd64 \

View file

@ -1,10 +1,10 @@
# THIS FILE WAS AUTO-GENERATED # THIS FILE WAS AUTO-GENERATED
# #
# $ lcitool dockerfile --layers all debian-11 qemu # $ lcitool dockerfile --layers all debian-12 qemu
# #
# https://gitlab.com/libvirt/libvirt-ci # https://gitlab.com/libvirt/libvirt-ci
FROM docker.io/library/debian:11-slim FROM docker.io/library/debian:12-slim
RUN export DEBIAN_FRONTEND=noninteractive && \ RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \ apt-get update && \
@ -97,6 +97,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libvdeplug-dev \ libvdeplug-dev \
libvirglrenderer-dev \ libvirglrenderer-dev \
libvte-2.91-dev \ libvte-2.91-dev \
libxdp-dev \
libxen-dev \ libxen-dev \
libzstd-dev \ libzstd-dev \
llvm \ llvm \
@ -115,11 +116,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
python3-opencv \ python3-opencv \
python3-pillow \ python3-pillow \
python3-pip \ python3-pip \
python3-setuptools \
python3-sphinx \ python3-sphinx \
python3-sphinx-rtd-theme \ python3-sphinx-rtd-theme \
python3-venv \ python3-venv \
python3-wheel \
python3-yaml \ python3-yaml \
rpm2cpio \ rpm2cpio \
sed \ sed \
@ -145,8 +144,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc
RUN /usr/bin/pip3 install tomli
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8" ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make" ENV MAKE "/usr/bin/make"

View file

@ -1,10 +1,10 @@
# THIS FILE WAS AUTO-GENERATED # THIS FILE WAS AUTO-GENERATED
# #
# $ lcitool dockerfile --layers all --cross-arch aarch64 debian-11 qemu # $ lcitool dockerfile --layers all --cross-arch aarch64 debian-12 qemu
# #
# https://gitlab.com/libvirt/libvirt-ci # https://gitlab.com/libvirt/libvirt-ci
FROM docker.io/library/debian:11-slim FROM docker.io/library/debian:12-slim
RUN export DEBIAN_FRONTEND=noninteractive && \ RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \ apt-get update && \
@ -47,11 +47,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
python3-opencv \ python3-opencv \
python3-pillow \ python3-pillow \
python3-pip \ python3-pip \
python3-setuptools \
python3-sphinx \ python3-sphinx \
python3-sphinx-rtd-theme \ python3-sphinx-rtd-theme \
python3-venv \ python3-venv \
python3-wheel \
python3-yaml \ python3-yaml \
rpm2cpio \ rpm2cpio \
sed \ sed \
@ -67,8 +65,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \ sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
dpkg-reconfigure locales dpkg-reconfigure locales
RUN /usr/bin/pip3 install tomli
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8" ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make" ENV MAKE "/usr/bin/make"
@ -145,6 +141,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libvdeplug-dev:arm64 \ libvdeplug-dev:arm64 \
libvirglrenderer-dev:arm64 \ libvirglrenderer-dev:arm64 \
libvte-2.91-dev:arm64 \ libvte-2.91-dev:arm64 \
libxdp-dev:arm64 \
libxen-dev:arm64 \ libxen-dev:arm64 \
libzstd-dev:arm64 \ libzstd-dev:arm64 \
nettle-dev:arm64 \ nettle-dev:arm64 \

View file

@ -1,10 +1,10 @@
# THIS FILE WAS AUTO-GENERATED # THIS FILE WAS AUTO-GENERATED
# #
# $ lcitool dockerfile --layers all --cross-arch armv7l debian-11 qemu # $ lcitool dockerfile --layers all --cross-arch armv7l debian-12 qemu
# #
# https://gitlab.com/libvirt/libvirt-ci # https://gitlab.com/libvirt/libvirt-ci
FROM docker.io/library/debian:11-slim FROM docker.io/library/debian:12-slim
RUN export DEBIAN_FRONTEND=noninteractive && \ RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \ apt-get update && \
@ -47,11 +47,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
python3-opencv \ python3-opencv \
python3-pillow \ python3-pillow \
python3-pip \ python3-pip \
python3-setuptools \
python3-sphinx \ python3-sphinx \
python3-sphinx-rtd-theme \ python3-sphinx-rtd-theme \
python3-venv \ python3-venv \
python3-wheel \
python3-yaml \ python3-yaml \
rpm2cpio \ rpm2cpio \
sed \ sed \
@ -67,8 +65,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \ sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
dpkg-reconfigure locales dpkg-reconfigure locales
RUN /usr/bin/pip3 install tomli
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8" ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make" ENV MAKE "/usr/bin/make"
@ -145,6 +141,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libvdeplug-dev:armhf \ libvdeplug-dev:armhf \
libvirglrenderer-dev:armhf \ libvirglrenderer-dev:armhf \
libvte-2.91-dev:armhf \ libvte-2.91-dev:armhf \
libxdp-dev:armhf \
libxen-dev:armhf \ libxen-dev:armhf \
libzstd-dev:armhf \ libzstd-dev:armhf \
nettle-dev:armhf \ nettle-dev:armhf \

View file

@ -20,7 +20,7 @@ RUN apt-get update && \
git \ git \
python3-minimal python3-minimal
RUN curl -#SL https://github.com/loongson/build-tools/releases/download/2022.05.29/loongarch64-clfs-5.0-cross-tools-gcc-glibc.tar.xz \ 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 | tar -xJC /opt
ENV PATH $PATH:/opt/cross-tools/bin ENV PATH $PATH:/opt/cross-tools/bin

View file

@ -1,10 +1,10 @@
# THIS FILE WAS AUTO-GENERATED # THIS FILE WAS AUTO-GENERATED
# #
# $ lcitool dockerfile --layers all --cross-arch ppc64le debian-11 qemu # $ lcitool dockerfile --layers all --cross-arch ppc64le debian-12 qemu
# #
# https://gitlab.com/libvirt/libvirt-ci # https://gitlab.com/libvirt/libvirt-ci
FROM docker.io/library/debian:11-slim FROM docker.io/library/debian:12-slim
RUN export DEBIAN_FRONTEND=noninteractive && \ RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \ apt-get update && \
@ -47,11 +47,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
python3-opencv \ python3-opencv \
python3-pillow \ python3-pillow \
python3-pip \ python3-pip \
python3-setuptools \
python3-sphinx \ python3-sphinx \
python3-sphinx-rtd-theme \ python3-sphinx-rtd-theme \
python3-venv \ python3-venv \
python3-wheel \
python3-yaml \ python3-yaml \
rpm2cpio \ rpm2cpio \
sed \ sed \
@ -67,8 +65,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \ sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
dpkg-reconfigure locales dpkg-reconfigure locales
RUN /usr/bin/pip3 install tomli
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8" ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make" ENV MAKE "/usr/bin/make"
@ -145,6 +141,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libvdeplug-dev:ppc64el \ libvdeplug-dev:ppc64el \
libvirglrenderer-dev:ppc64el \ libvirglrenderer-dev:ppc64el \
libvte-2.91-dev:ppc64el \ libvte-2.91-dev:ppc64el \
libxdp-dev:ppc64el \
libzstd-dev:ppc64el \ libzstd-dev:ppc64el \
nettle-dev:ppc64el \ nettle-dev:ppc64el \
systemtap-sdt-dev:ppc64el \ systemtap-sdt-dev:ppc64el \

View file

@ -1,10 +1,10 @@
# THIS FILE WAS AUTO-GENERATED # THIS FILE WAS AUTO-GENERATED
# #
# $ lcitool dockerfile --layers all --cross-arch s390x debian-11 qemu # $ lcitool dockerfile --layers all --cross-arch s390x debian-12 qemu
# #
# https://gitlab.com/libvirt/libvirt-ci # https://gitlab.com/libvirt/libvirt-ci
FROM docker.io/library/debian:11-slim FROM docker.io/library/debian:12-slim
RUN export DEBIAN_FRONTEND=noninteractive && \ RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \ apt-get update && \
@ -47,11 +47,9 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
python3-opencv \ python3-opencv \
python3-pillow \ python3-pillow \
python3-pip \ python3-pip \
python3-setuptools \
python3-sphinx \ python3-sphinx \
python3-sphinx-rtd-theme \ python3-sphinx-rtd-theme \
python3-venv \ python3-venv \
python3-wheel \
python3-yaml \ python3-yaml \
rpm2cpio \ rpm2cpio \
sed \ sed \
@ -67,8 +65,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \ sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
dpkg-reconfigure locales dpkg-reconfigure locales
RUN /usr/bin/pip3 install tomli
ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
ENV LANG "en_US.UTF-8" ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make" ENV MAKE "/usr/bin/make"
@ -144,6 +140,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
libvdeplug-dev:s390x \ libvdeplug-dev:s390x \
libvirglrenderer-dev:s390x \ libvirglrenderer-dev:s390x \
libvte-2.91-dev:s390x \ libvte-2.91-dev:s390x \
libxdp-dev:s390x \
libzstd-dev:s390x \ libzstd-dev:s390x \
nettle-dev:s390x \ nettle-dev:s390x \
systemtap-sdt-dev:s390x \ systemtap-sdt-dev:s390x \

@ -1 +1 @@
Subproject commit 5f84a21881577a5fb56cc956f6fe4e2abd6fcff0 Subproject commit e3ed1e5da101943e53d8d89424e17b22120743f5

View file

@ -93,7 +93,7 @@ def generate_pkglist(vm, target):
# Netmap still needs to be manually built as it is yet to be packaged # 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 # into a distro. We also add cscope and gtags which are used in the CI
# test # test
debian11_extras = [ debian12_extras = [
"# netmap/cscope/global\n", "# netmap/cscope/global\n",
"RUN DEBIAN_FRONTEND=noninteractive eatmydata \\\n", "RUN DEBIAN_FRONTEND=noninteractive eatmydata \\\n",
" apt install -y --no-install-recommends \\\n", " apt install -y --no-install-recommends \\\n",
@ -123,8 +123,8 @@ try:
# #
generate_dockerfile("alpine", "alpine-318") generate_dockerfile("alpine", "alpine-318")
generate_dockerfile("centos8", "centos-stream-8") generate_dockerfile("centos8", "centos-stream-8")
generate_dockerfile("debian-amd64", "debian-11", generate_dockerfile("debian-amd64", "debian-12",
trailer="".join(debian11_extras)) trailer="".join(debian12_extras))
generate_dockerfile("fedora", "fedora-38") generate_dockerfile("fedora", "fedora-38")
generate_dockerfile("opensuse-leap", "opensuse-leap-15") generate_dockerfile("opensuse-leap", "opensuse-leap-15")
generate_dockerfile("ubuntu2004", "ubuntu-2004") generate_dockerfile("ubuntu2004", "ubuntu-2004")
@ -133,24 +133,25 @@ try:
# #
# Cross compiling builds # Cross compiling builds
# #
generate_dockerfile("debian-amd64-cross", "debian-11", generate_dockerfile("debian-amd64-cross", "debian-12",
cross="x86_64", cross="x86_64",
trailer=cross_build("x86_64-linux-gnu-", trailer=cross_build("x86_64-linux-gnu-",
"x86_64-softmmu," "x86_64-softmmu,"
"x86_64-linux-user," "x86_64-linux-user,"
"i386-softmmu,i386-linux-user")) "i386-softmmu,i386-linux-user"))
generate_dockerfile("debian-arm64-cross", "debian-11", generate_dockerfile("debian-arm64-cross", "debian-12",
cross="aarch64", cross="aarch64",
trailer=cross_build("aarch64-linux-gnu-", trailer=cross_build("aarch64-linux-gnu-",
"aarch64-softmmu,aarch64-linux-user")) "aarch64-softmmu,aarch64-linux-user"))
# migration to bookworm stalled: https://lists.debian.org/debian-arm/2023/09/msg00006.html
generate_dockerfile("debian-armel-cross", "debian-11", generate_dockerfile("debian-armel-cross", "debian-11",
cross="armv6l", cross="armv6l",
trailer=cross_build("arm-linux-gnueabi-", trailer=cross_build("arm-linux-gnueabi-",
"arm-softmmu,arm-linux-user,armeb-linux-user")) "arm-softmmu,arm-linux-user,armeb-linux-user"))
generate_dockerfile("debian-armhf-cross", "debian-11", generate_dockerfile("debian-armhf-cross", "debian-12",
cross="armv7l", cross="armv7l",
trailer=cross_build("arm-linux-gnueabihf-", trailer=cross_build("arm-linux-gnueabihf-",
"arm-softmmu,arm-linux-user")) "arm-softmmu,arm-linux-user"))
@ -165,7 +166,7 @@ try:
trailer=cross_build("mipsel-linux-gnu-", trailer=cross_build("mipsel-linux-gnu-",
"mipsel-softmmu,mipsel-linux-user")) "mipsel-softmmu,mipsel-linux-user"))
generate_dockerfile("debian-ppc64el-cross", "debian-11", generate_dockerfile("debian-ppc64el-cross", "debian-12",
cross="ppc64le", cross="ppc64le",
trailer=cross_build("powerpc64le-linux-gnu-", trailer=cross_build("powerpc64le-linux-gnu-",
"ppc64-softmmu,ppc64-linux-user")) "ppc64-softmmu,ppc64-linux-user"))
@ -176,7 +177,7 @@ try:
trailer=cross_build("riscv64-linux-gnu-", trailer=cross_build("riscv64-linux-gnu-",
"riscv64-softmmu,riscv64-linux-user")) "riscv64-softmmu,riscv64-linux-user"))
generate_dockerfile("debian-s390x-cross", "debian-11", generate_dockerfile("debian-s390x-cross", "debian-12",
cross="s390x", cross="s390x",
trailer=cross_build("s390x-linux-gnu-", trailer=cross_build("s390x-linux-gnu-",
"s390x-softmmu,s390x-linux-user")) "s390x-softmmu,s390x-linux-user"))

View file

@ -24,6 +24,9 @@
#ifdef __linux__ #ifdef __linux__
#include <sys/prctl.h> #include <sys/prctl.h>
#endif /* __linux__ */ #endif /* __linux__ */
#ifdef __FreeBSD__
#include <sys/procctl.h>
#endif /* __FreeBSD__ */
#include "libqtest.h" #include "libqtest.h"
#include "libqmp.h" #include "libqmp.h"
@ -414,6 +417,10 @@ static QTestState *G_GNUC_PRINTF(1, 2) qtest_spawn_qemu(const char *fmt, ...)
*/ */
prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0); prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0);
#endif /* __linux__ */ #endif /* __linux__ */
#ifdef __FreeBSD__
int sig = SIGKILL;
procctl(P_PID, getpid(), PROC_PDEATHSIG_CTL, &sig);
#endif /* __FreeBSD__ */
if (!g_setenv("QEMU_AUDIO_DRV", "none", true)) { if (!g_setenv("QEMU_AUDIO_DRV", "none", true)) {
exit(1); exit(1);
} }

View file

@ -434,6 +434,8 @@ static void test_nrf51_gpio_detect(void)
g_assert_true(qtest_get_irq(qts, 0)); g_assert_true(qtest_get_irq(qts, 0));
qtest_set_irq_in(qts, "/machine/nrf51", "unnamed-gpio-in", 3, 0); qtest_set_irq_in(qts, "/machine/nrf51", "unnamed-gpio-in", 3, 0);
g_assert_true(qtest_get_irq(qts, 0)); g_assert_true(qtest_get_irq(qts, 0));
qtest_quit(qts);
} }
static void timer_task(QTestState *qts, hwaddr task) static void timer_task(QTestState *qts, hwaddr task)