diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2019-07-23 17:39:07 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2019-07-23 17:39:07 +0100 |
commit | b1f0a72370bdd0a22e4a1878ab2fb25df9662f30 (patch) | |
tree | f260285ce6a8f0364958d3a518af667ecc0f30b2 | |
parent | 4da6c0f9ebbdaaf4315c71ccd288d02b9087f8af (diff) | |
parent | 98808c3d0c162aba93fe7840a34b54c4814332d4 (diff) |
Merge remote-tracking branch 'remotes/stsquad/tags/pull-testing-230719-4' into staging
Final testing updates:
- docker sphinx updates
- windows build re-enabled in CI
- travis_retry for make check
- build fixes
- docker cache fixes
# gpg: Signature made Tue 23 Jul 2019 17:20:16 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-230719-4: (23 commits)
tests/docker: Refresh APT cache before installing new packages on Debian
tests/qemu-iotests: Don't use 'seq' in the iotests
tests/qemu-iotests/group: Remove some more tests from the "auto" group
tests/qemu-iotests/check: Allow tests without groups
tests/docker: invoke the DEBUG shell with --noprofile/--norc
travis: enable travis_retry for check phase
hw/i386: also turn off VMMOUSE is VMPORT is disabled
NSIS: Add missing firmware blobs
tests/docker: Let the test-mingw test generate a NSIS installer
buildsys: The NSIS Windows build requires qemu-nsis.bmp installed
buildsys: The NSIS Windows build requires the documentation installed
tests/docker: Install texinfo in the Fedora image
tests/docker: Set the correct cross-PKG_CONFIG_PATH in the MXE images
tests/docker: Install the NSIS tools in the MinGW capable images
tests/docker: Install Sphinx in the Debian images
shippable: re-enable the windows cross builds
tests/dockerfiles: update the win cross builds to stretch
tests/migration-test: don't spam the logs when we fail
tests/docker: Install Ubuntu images noninteractively
tests/docker: Install Sphinx in the Fedora image
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
51 files changed, 309 insertions, 210 deletions
diff --git a/.shippable.yml b/.shippable.yml index f2ffef21d1..f74a3de3ff 100644 --- a/.shippable.yml +++ b/.shippable.yml @@ -7,11 +7,10 @@ env: matrix: - IMAGE=debian-amd64 TARGET_LIST=x86_64-softmmu,x86_64-linux-user - # currently disabled as the mxe.cc repos are down - # - IMAGE=debian-win32-cross - # TARGET_LIST=arm-softmmu,i386-softmmu,lm32-softmmu - # - IMAGE=debian-win64-cross - # TARGET_LIST=aarch64-softmmu,sparc64-softmmu,x86_64-softmmu + - IMAGE=debian-win32-cross + TARGET_LIST=arm-softmmu,i386-softmmu,lm32-softmmu + - IMAGE=debian-win64-cross + TARGET_LIST=aarch64-softmmu,sparc64-softmmu,x86_64-softmmu - IMAGE=debian-armel-cross TARGET_LIST=arm-softmmu,arm-linux-user,armeb-linux-user - IMAGE=debian-armhf-cross diff --git a/.travis.yml b/.travis.yml index 5d3d6ee1d3..caf0a1f8fa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -75,7 +75,7 @@ before_script: - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; } script: - - make -j3 && ${TEST_CMD} + - make -j3 && travis_retry ${TEST_CMD} matrix: @@ -761,6 +761,7 @@ pxe-pcnet.rom pxe-rtl8139.rom pxe-virtio.rom \ efi-e1000.rom efi-eepro100.rom efi-ne2k_pci.rom \ efi-pcnet.rom efi-rtl8139.rom efi-virtio.rom \ efi-e1000e.rom efi-vmxnet3.rom \ +qemu-nsis.bmp \ bamboo.dtb canyonlands.dtb petalogix-s3adsp1800.dtb petalogix-ml605.dtb \ multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin \ s390-ccw.img s390-netboot.img \ @@ -1077,7 +1078,7 @@ installer: $(INSTALLER) INSTDIR=/tmp/qemu-nsis -$(INSTALLER): $(SRC_PATH)/qemu.nsi +$(INSTALLER): install-doc $(SRC_PATH)/qemu.nsi $(MAKE) install prefix=${INSTDIR} ifdef SIGNCODE (cd ${INSTDIR}; \ diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig index b9c96ac361..6350438036 100644 --- a/hw/i386/Kconfig +++ b/hw/i386/Kconfig @@ -52,6 +52,7 @@ config I440FX bool imply E1000_PCI imply VMPORT + imply VMMOUSE select PC_PCI select PC_ACPI select ACPI_SMBUS @@ -59,7 +60,6 @@ config I440FX select IDE_PIIX select DIMM select SMBIOS - select VMMOUSE select FW_CFG_DMA config ISAPC @@ -78,6 +78,7 @@ config Q35 imply AMD_IOMMU imply E1000E_PCI_EXPRESS imply VMPORT + imply VMMOUSE select PC_PCI select PC_ACPI select PCI_EXPRESS_Q35 @@ -85,7 +86,6 @@ config Q35 select AHCI_ICH9 select DIMM select SMBIOS - select VMMOUSE select FW_CFG_DMA config VTD @@ -106,6 +106,9 @@ RequestExecutionLevel admin ;-------------------------------- ; The stuff to install. +; +; Remember to keep the "Uninstall" section in sync. + Section "${PRODUCT} (required)" SectionIn RO @@ -122,6 +125,10 @@ Section "${PRODUCT} (required)" File "${BINDIR}\*.bmp" File "${BINDIR}\*.bin" File "${BINDIR}\*.dtb" + File "${BINDIR}\*.fd" + File "${BINDIR}\*.img" + File "${BINDIR}\*.lid" + File "${BINDIR}\*.ndrv" File "${BINDIR}\*.rom" File "${BINDIR}\openbios-*" @@ -210,6 +217,10 @@ Section "Uninstall" Delete "$INSTDIR\*.bin" Delete "$INSTDIR\*.dll" Delete "$INSTDIR\*.dtb" + Delete "$INSTDIR\*.fd" + Delete "$INSTDIR\*.img" + Delete "$INSTDIR\*.lid" + Delete "$INSTDIR\*.ndrv" Delete "$INSTDIR\*.rom" Delete "$INSTDIR\openbios-*" Delete "$INSTDIR\qemu-img.exe" diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh index ca94e49978..fb5d6b3918 100755 --- a/scripts/archive-source.sh +++ b/scripts/archive-source.sh @@ -39,14 +39,16 @@ function cleanup() { } trap "cleanup" 0 1 2 3 15 -if git diff-index --quiet HEAD -- &>/dev/null -then - HEAD=HEAD -else - HEAD=$(git stash create) -fi +function tree_ish() { + local retval='HEAD' + if ! git diff-index --quiet --ignore-submodules=all HEAD -- &>/dev/null + then + retval=$(git stash create) + fi + echo "$retval" +} -git archive --format tar $HEAD > "$tar_file" +git archive --format tar "$(tree_ish)" > "$tar_file" test $? -ne 0 && error "failed to archive qemu" for sm in $submodules; do status="$(git submodule status "$sm")" @@ -62,7 +64,7 @@ for sm in $submodules; do echo "WARNING: submodule $sm is out of sync" ;; esac - (cd $sm; git archive --format tar --prefix "$sm/" $smhash) > "$sub_file" + (cd $sm; git archive --format tar --prefix "$sm/" $(tree_ish)) > "$sub_file" test $? -ne 0 && error "failed to archive submodule $sm ($smhash)" tar --concatenate --file "$tar_file" "$sub_file" test $? -ne 0 && error "failed append submodule $sm to $tar_file" diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include index aaf5396b85..dbd58e548c 100644 --- a/tests/docker/Makefile.include +++ b/tests/docker/Makefile.include @@ -85,7 +85,7 @@ endif # Enforce dependencies for composite images docker-image-debian: docker-image-debian9 -docker-image-debian8-mxe: docker-image-debian8 +docker-image-debian9-mxe: docker-image-debian9 docker-image-debian-amd64: docker-image-debian9 docker-image-debian-armel-cross: docker-image-debian9 docker-image-debian-armhf-cross: docker-image-debian9 @@ -96,8 +96,8 @@ docker-image-debian-mipsel-cross: docker-image-debian9 docker-image-debian-mips64el-cross: docker-image-debian9 docker-image-debian-ppc64el-cross: docker-image-debian9 docker-image-debian-s390x-cross: docker-image-debian9 -docker-image-debian-win32-cross: docker-image-debian8-mxe -docker-image-debian-win64-cross: docker-image-debian8-mxe +docker-image-debian-win32-cross: docker-image-debian9-mxe +docker-image-debian-win64-cross: docker-image-debian9-mxe docker-image-debian-alpha-cross: docker-image-debian-sid docker-image-debian-hppa-cross: docker-image-debian-sid diff --git a/tests/docker/dockerfiles/debian-alpha-cross.docker b/tests/docker/dockerfiles/debian-alpha-cross.docker index 29a25d0dfd..23444342f0 100644 --- a/tests/docker/dockerfiles/debian-alpha-cross.docker +++ b/tests/docker/dockerfiles/debian-alpha-cross.docker @@ -6,7 +6,8 @@ # FROM qemu:debian-sid -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ gcc-alpha-linux-gnu \ libc6.1-dev-alpha-cross || { echo "Failed to build - see debian-sid.docker notes"; exit 1; } diff --git a/tests/docker/dockerfiles/debian-amd64.docker b/tests/docker/dockerfiles/debian-amd64.docker index d770a11a52..431e947ebd 100644 --- a/tests/docker/dockerfiles/debian-amd64.docker +++ b/tests/docker/dockerfiles/debian-amd64.docker @@ -7,11 +7,13 @@ FROM qemu:debian9 MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org> -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get build-dep -yy qemu +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt build-dep -yy qemu -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ libbz2-dev \ liblzo2-dev \ librdmacm-dev \ @@ -19,8 +21,9 @@ RUN DEBIAN_FRONTEND=noninteractive eatmydata \ libvte-dev # virgl -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ libegl1-mesa-dev \ libepoxy-dev \ libgbm-dev @@ -29,8 +32,9 @@ RUN git clone https://anongit.freedesktop.org/git/virglrenderer.git /usr/src/vir RUN cd /usr/src/virglrenderer && ./autogen.sh && ./configure --with-glx --disable-tests && make install # netmap -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ linux-headers-amd64 RUN git clone https://github.com/luigirizzo/netmap.git /usr/src/netmap RUN cd /usr/src/netmap && git checkout v11.3 diff --git a/tests/docker/dockerfiles/debian-arm64-cross.docker b/tests/docker/dockerfiles/debian-arm64-cross.docker index 877d863475..7c2cc93daf 100644 --- a/tests/docker/dockerfiles/debian-arm64-cross.docker +++ b/tests/docker/dockerfiles/debian-arm64-cross.docker @@ -7,18 +7,20 @@ FROM qemu:debian9 # Add the foreign architecture we want and install dependencies RUN dpkg --add-architecture arm64 -RUN apt update -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ crossbuild-essential-arm64 -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get build-dep -yy -a arm64 qemu +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt build-dep -yy -a arm64 qemu # Specify the cross prefix for this image (see tests/docker/common.rc) ENV QEMU_CONFIGURE_OPTS --cross-prefix=aarch64-linux-gnu- -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ libbz2-dev:arm64 \ liblzo2-dev:arm64 \ librdmacm-dev:arm64 \ diff --git a/tests/docker/dockerfiles/debian-armel-cross.docker b/tests/docker/dockerfiles/debian-armel-cross.docker index e3bd68f51e..d866fe5d75 100644 --- a/tests/docker/dockerfiles/debian-armel-cross.docker +++ b/tests/docker/dockerfiles/debian-armel-cross.docker @@ -8,16 +8,17 @@ MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org> # Add the foreign architecture we want and install dependencies RUN dpkg --add-architecture armel && \ - apt update -RUN apt install -yy crossbuild-essential-armel -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get build-dep -yy -a armel qemu + apt update && \ + apt install -yy crossbuild-essential-armel && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt build-dep -yy -a armel qemu # Specify the cross prefix for this image (see tests/docker/common.rc) ENV QEMU_CONFIGURE_OPTS --cross-prefix=arm-linux-gnueabi- -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ libbz2-dev:armel \ liblzo2-dev:armel \ librdmacm-dev:armel \ diff --git a/tests/docker/dockerfiles/debian-armhf-cross.docker b/tests/docker/dockerfiles/debian-armhf-cross.docker index 5100b0afc0..2b8627673c 100644 --- a/tests/docker/dockerfiles/debian-armhf-cross.docker +++ b/tests/docker/dockerfiles/debian-armhf-cross.docker @@ -7,18 +7,20 @@ FROM qemu:debian9 # Add the foreign architecture we want and install dependencies RUN dpkg --add-architecture armhf -RUN apt update -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ crossbuild-essential-armhf -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get build-dep -yy -a armhf qemu +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt build-dep -yy -a armhf qemu # Specify the cross prefix for this image (see tests/docker/common.rc) ENV QEMU_CONFIGURE_OPTS --cross-prefix=arm-linux-gnueabihf- -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ libbz2-dev:armhf \ liblzo2-dev:armhf \ librdmacm-dev:armhf \ diff --git a/tests/docker/dockerfiles/debian-buster-arm64-cross.docker b/tests/docker/dockerfiles/debian-buster-arm64-cross.docker index 33ada13806..52787edcc2 100644 --- a/tests/docker/dockerfiles/debian-buster-arm64-cross.docker +++ b/tests/docker/dockerfiles/debian-buster-arm64-cross.docker @@ -9,7 +9,8 @@ FROM qemu:debian10 # Add the foreign architecture we want and install dependencies RUN dpkg --add-architecture arm64 -RUN apt update -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ apt-get install -y --no-install-recommends \ crossbuild-essential-arm64 diff --git a/tests/docker/dockerfiles/debian-hppa-cross.docker b/tests/docker/dockerfiles/debian-hppa-cross.docker index ad443defac..ee6d9a24ce 100644 --- a/tests/docker/dockerfiles/debian-hppa-cross.docker +++ b/tests/docker/dockerfiles/debian-hppa-cross.docker @@ -6,7 +6,8 @@ # FROM qemu:debian-sid -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ gcc-hppa-linux-gnu \ libc6-dev-hppa-cross diff --git a/tests/docker/dockerfiles/debian-m68k-cross.docker b/tests/docker/dockerfiles/debian-m68k-cross.docker index 21ba3b0132..4311c9cf86 100644 --- a/tests/docker/dockerfiles/debian-m68k-cross.docker +++ b/tests/docker/dockerfiles/debian-m68k-cross.docker @@ -6,7 +6,8 @@ # FROM qemu:debian-sid -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ gcc-m68k-linux-gnu \ libc6-dev-m68k-cross diff --git a/tests/docker/dockerfiles/debian-mips-cross.docker b/tests/docker/dockerfiles/debian-mips-cross.docker index 550f43281b..3c4d6f9ec1 100644 --- a/tests/docker/dockerfiles/debian-mips-cross.docker +++ b/tests/docker/dockerfiles/debian-mips-cross.docker @@ -9,20 +9,22 @@ MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org> # Add the foreign architecture we want and install dependencies RUN dpkg --add-architecture mips -RUN apt-get update -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ gcc-mips-linux-gnu -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get build-dep -yy -a mips qemu +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt build-dep -yy -a mips qemu # Specify the cross prefix for this image (see tests/docker/common.rc) ENV QEMU_CONFIGURE_OPTS --cross-prefix=mips-linux-gnu- # Install extra libraries to increase code coverage -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ libbz2-dev:mips \ liblzo2-dev:mips \ librdmacm-dev:mips \ diff --git a/tests/docker/dockerfiles/debian-mips64-cross.docker b/tests/docker/dockerfiles/debian-mips64-cross.docker index ed1ce0e919..bf0073a466 100644 --- a/tests/docker/dockerfiles/debian-mips64-cross.docker +++ b/tests/docker/dockerfiles/debian-mips64-cross.docker @@ -6,7 +6,8 @@ # FROM qemu:debian-sid -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ gcc-mips64-linux-gnuabi64 \ libc6-dev-mips64-cross diff --git a/tests/docker/dockerfiles/debian-mips64el-cross.docker b/tests/docker/dockerfiles/debian-mips64el-cross.docker index fd2aafeb01..34b0b82895 100644 --- a/tests/docker/dockerfiles/debian-mips64el-cross.docker +++ b/tests/docker/dockerfiles/debian-mips64el-cross.docker @@ -10,20 +10,22 @@ MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org> # Add the foreign architecture we want and install dependencies RUN dpkg --add-architecture mips64el && \ - apt-get update -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ + apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ gcc-mips64el-linux-gnuabi64 -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get build-dep -yy -a mips64el qemu +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt build-dep -yy -a mips64el qemu # Specify the cross prefix for this image (see tests/docker/common.rc) ENV QEMU_CONFIGURE_OPTS --cross-prefix=mips64el-linux-gnuabi64- # Install extra libraries to increase code coverage -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ libbz2-dev:mips64el \ liblzo2-dev:mips64el \ librdmacm-dev:mips64el \ diff --git a/tests/docker/dockerfiles/debian-mipsel-cross.docker b/tests/docker/dockerfiles/debian-mipsel-cross.docker index 6378bd41e7..88accad269 100644 --- a/tests/docker/dockerfiles/debian-mipsel-cross.docker +++ b/tests/docker/dockerfiles/debian-mipsel-cross.docker @@ -9,20 +9,22 @@ MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org> # Add the foreign architecture we want and install dependencies RUN dpkg --add-architecture mipsel -RUN apt-get update -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ gcc-mipsel-linux-gnu -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get build-dep -yy -a mipsel qemu +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt build-dep -yy -a mipsel qemu # Specify the cross prefix for this image (see tests/docker/common.rc) ENV QEMU_CONFIGURE_OPTS --cross-prefix=mipsel-linux-gnu- # Install extra libraries to increase code coverage -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ libbz2-dev:mipsel \ liblzo2-dev:mipsel \ librdmacm-dev:mipsel \ diff --git a/tests/docker/dockerfiles/debian-ports.docker b/tests/docker/dockerfiles/debian-ports.docker index e05a9a9802..61bc3f2993 100644 --- a/tests/docker/dockerfiles/debian-ports.docker +++ b/tests/docker/dockerfiles/debian-ports.docker @@ -18,8 +18,8 @@ RUN cat /etc/apt/sources.list | sed -ne "s/^deb\ \(\[.*\]\ \)\?\(.*\)/deb-src \2 # Setup some basic tools we need RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -yy eatmydata -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ + DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ apt-get install -y --no-install-recommends \ bison \ build-essential \ diff --git a/tests/docker/dockerfiles/debian-powerpc-cross.docker b/tests/docker/dockerfiles/debian-powerpc-cross.docker index 5e62ca0df1..5d08fad7cd 100644 --- a/tests/docker/dockerfiles/debian-powerpc-cross.docker +++ b/tests/docker/dockerfiles/debian-powerpc-cross.docker @@ -7,7 +7,8 @@ # FROM qemu:debian-sid -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ gcc-powerpc-linux-gnu \ libc6-dev-powerpc-cross || { echo "Failed to build - see debian-sid.docker notes"; exit 1; } diff --git a/tests/docker/dockerfiles/debian-ppc64-cross.docker b/tests/docker/dockerfiles/debian-ppc64-cross.docker index 7f239c322d..e5757fe46e 100644 --- a/tests/docker/dockerfiles/debian-ppc64-cross.docker +++ b/tests/docker/dockerfiles/debian-ppc64-cross.docker @@ -5,7 +5,8 @@ # contains cross compilers for Debian "ports" targets. FROM qemu:debian-sid -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ gcc-powerpc64-linux-gnu \ libc6-dev-ppc64-cross || { echo "Failed to build - see debian-sid.docker notes"; exit 1; } diff --git a/tests/docker/dockerfiles/debian-ppc64el-cross.docker b/tests/docker/dockerfiles/debian-ppc64el-cross.docker index f44a35880a..fc056d7bc3 100644 --- a/tests/docker/dockerfiles/debian-ppc64el-cross.docker +++ b/tests/docker/dockerfiles/debian-ppc64el-cross.docker @@ -7,18 +7,20 @@ FROM qemu:debian9 # Add the foreign architecture we want and install dependencies RUN dpkg --add-architecture ppc64el && \ - apt update -RUN apt install -yy crossbuild-essential-ppc64el + apt update && \ + apt install -yy crossbuild-essential-ppc64el -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get build-dep -yy -a ppc64el qemu +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt build-dep -yy -a ppc64el qemu # Specify the cross prefix for this image (see tests/docker/common.rc) ENV QEMU_CONFIGURE_OPTS --cross-prefix=powerpc64le-linux-gnu- # Install extra libraries to increase code coverage -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ libbz2-dev:ppc64el \ liblzo2-dev:ppc64el \ librdmacm-dev:ppc64el \ diff --git a/tests/docker/dockerfiles/debian-riscv64-cross.docker b/tests/docker/dockerfiles/debian-riscv64-cross.docker index 2b2e64cee6..221697f9d1 100644 --- a/tests/docker/dockerfiles/debian-riscv64-cross.docker +++ b/tests/docker/dockerfiles/debian-riscv64-cross.docker @@ -6,7 +6,8 @@ # FROM qemu:debian-sid -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ gcc-riscv64-linux-gnu \ libc6-dev-riscv64-cross diff --git a/tests/docker/dockerfiles/debian-s390x-cross.docker b/tests/docker/dockerfiles/debian-s390x-cross.docker index e188bfeda4..6732f9ec78 100644 --- a/tests/docker/dockerfiles/debian-s390x-cross.docker +++ b/tests/docker/dockerfiles/debian-s390x-cross.docker @@ -10,19 +10,22 @@ RUN dpkg --add-architecture s390x # Grab the updated list of packages RUN apt update && apt dist-upgrade -yy -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ gcc-multilib-s390x-linux-gnu -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get build-dep -yy -a s390x qemu +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt build-dep -yy -a s390x qemu # Specify the cross prefix for this image (see tests/docker/common.rc) ENV QEMU_CONFIGURE_OPTS --cross-prefix=s390x-linux-gnu- # Install extra libraries to increase code coverage -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ libbz2-dev:s390x \ liblzo2-dev:s390x \ librdmacm-dev:s390x \ diff --git a/tests/docker/dockerfiles/debian-sh4-cross.docker b/tests/docker/dockerfiles/debian-sh4-cross.docker index 88a2423094..29983b2d75 100644 --- a/tests/docker/dockerfiles/debian-sh4-cross.docker +++ b/tests/docker/dockerfiles/debian-sh4-cross.docker @@ -6,7 +6,8 @@ # FROM qemu:debian-sid -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ gcc-sh4-linux-gnu \ libc6-dev-sh4-cross diff --git a/tests/docker/dockerfiles/debian-sid.docker b/tests/docker/dockerfiles/debian-sid.docker index 676941cb32..513459ca7f 100644 --- a/tests/docker/dockerfiles/debian-sid.docker +++ b/tests/docker/dockerfiles/debian-sid.docker @@ -26,9 +26,9 @@ RUN sed -i "s%^deb \(https\?://\)deb.debian.org/debian/\? \(.*\)%deb [check-vali RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list # Install common build utilities -RUN apt update -RUN DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ apt install -y --no-install-recommends \ bison \ build-essential \ diff --git a/tests/docker/dockerfiles/debian-sparc64-cross.docker b/tests/docker/dockerfiles/debian-sparc64-cross.docker index 1e2c809274..7a2c2ab19c 100644 --- a/tests/docker/dockerfiles/debian-sparc64-cross.docker +++ b/tests/docker/dockerfiles/debian-sparc64-cross.docker @@ -6,7 +6,8 @@ # FROM qemu:debian-sid -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ - apt-get install -y --no-install-recommends \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends \ gcc-sparc64-linux-gnu \ libc6-dev-sparc64-cross diff --git a/tests/docker/dockerfiles/debian-win32-cross.docker b/tests/docker/dockerfiles/debian-win32-cross.docker index 0a4970c068..9d7053e59d 100644 --- a/tests/docker/dockerfiles/debian-win32-cross.docker +++ b/tests/docker/dockerfiles/debian-win32-cross.docker @@ -1,15 +1,21 @@ # # Docker mingw32 cross-compiler target # -# This docker target builds on the debian Jessie MXE base image. +# This docker target builds on the debian Stretch MXE base image. # -FROM qemu:debian8-mxe +FROM qemu:debian9-mxe MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org> ENV TARGET i686 -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ +ENV PATH $PATH:/usr/lib/mxe/usr/$TARGET-w64-mingw32.shared/bin + +ENV PKG_CONFIG_PATH \ + $PKG_CONFIG_PATH:/usr/lib/mxe/usr/$TARGET-w64-mingw32.shared/lib/pkgconfig + +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ apt-get install -y --no-install-recommends \ mxe-$TARGET-w64-mingw32.shared-bzip2 \ mxe-$TARGET-w64-mingw32.shared-curl \ @@ -19,6 +25,7 @@ RUN DEBIAN_FRONTEND=noninteractive eatmydata \ mxe-$TARGET-w64-mingw32.shared-lzo \ mxe-$TARGET-w64-mingw32.shared-nettle \ mxe-$TARGET-w64-mingw32.shared-ncurses \ + mxe-$TARGET-w64-mingw32.shared-nsis \ mxe-$TARGET-w64-mingw32.shared-pixman \ mxe-$TARGET-w64-mingw32.shared-pkgconf \ mxe-$TARGET-w64-mingw32.shared-pthreads \ diff --git a/tests/docker/dockerfiles/debian-win64-cross.docker b/tests/docker/dockerfiles/debian-win64-cross.docker index b27985b1b1..b0bc960445 100644 --- a/tests/docker/dockerfiles/debian-win64-cross.docker +++ b/tests/docker/dockerfiles/debian-win64-cross.docker @@ -1,15 +1,21 @@ # # Docker mingw64 cross-compiler target # -# This docker target builds on the debian Jessie MXE base image. +# This docker target builds on the debian Stretch MXE base image. # -FROM qemu:debian8-mxe +FROM qemu:debian9-mxe MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org> ENV TARGET x86-64 -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ +ENV PATH $PATH:/usr/lib/mxe/usr/$TARGET-w64-mingw32.shared/bin + +ENV PKG_CONFIG_PATH \ + $PKG_CONFIG_PATH:/usr/lib/mxe/usr/$TARGET-w64-mingw32.shared/lib/pkgconfig + +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ apt-get install -y --no-install-recommends \ mxe-$TARGET-w64-mingw32.shared-bzip2 \ mxe-$TARGET-w64-mingw32.shared-curl \ @@ -19,6 +25,7 @@ RUN DEBIAN_FRONTEND=noninteractive eatmydata \ mxe-$TARGET-w64-mingw32.shared-lzo \ mxe-$TARGET-w64-mingw32.shared-nettle \ mxe-$TARGET-w64-mingw32.shared-ncurses \ + mxe-$TARGET-w64-mingw32.shared-nsis \ mxe-$TARGET-w64-mingw32.shared-pixman \ mxe-$TARGET-w64-mingw32.shared-pkgconf \ mxe-$TARGET-w64-mingw32.shared-pthreads \ diff --git a/tests/docker/dockerfiles/debian-xtensa-cross.docker b/tests/docker/dockerfiles/debian-xtensa-cross.docker index afd2ab9163..b9c2e2e531 100644 --- a/tests/docker/dockerfiles/debian-xtensa-cross.docker +++ b/tests/docker/dockerfiles/debian-xtensa-cross.docker @@ -8,8 +8,8 @@ FROM debian:stretch-slim RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ + DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ apt-get install -y --no-install-recommends \ bison \ build-essential \ diff --git a/tests/docker/dockerfiles/debian10.docker b/tests/docker/dockerfiles/debian10.docker index aeeb151b52..30a78813f2 100644 --- a/tests/docker/dockerfiles/debian10.docker +++ b/tests/docker/dockerfiles/debian10.docker @@ -13,9 +13,9 @@ FROM debian:buster-slim RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list # Install common build utilities -RUN apt update -RUN DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ apt install -y --no-install-recommends \ bison \ build-essential \ @@ -27,5 +27,6 @@ RUN DEBIAN_FRONTEND=noninteractive eatmydata \ pkg-config \ psmisc \ python \ + python3-sphinx \ texinfo \ $(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\ -f2) diff --git a/tests/docker/dockerfiles/debian8.docker b/tests/docker/dockerfiles/debian8.docker index 52945631cd..1212a85c35 100644 --- a/tests/docker/dockerfiles/debian8.docker +++ b/tests/docker/dockerfiles/debian8.docker @@ -15,9 +15,9 @@ MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org> RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list # Setup some basic tools we need -RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -yy eatmydata && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ apt-get install -y --no-install-recommends \ bison \ binutils-multiarch \ diff --git a/tests/docker/dockerfiles/debian8-mxe.docker b/tests/docker/dockerfiles/debian9-mxe.docker index 2df4cc8c5c..7431168dad 100644 --- a/tests/docker/dockerfiles/debian8-mxe.docker +++ b/tests/docker/dockerfiles/debian9-mxe.docker @@ -1,17 +1,20 @@ # # Docker mingw cross-compiler target # -# This docker target builds on the debian Jessie base image. +# This docker target builds on the debian Stretch base image. # -FROM qemu:debian8 +FROM qemu:debian9 MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org> -# Add the foreign architecture we want and install dependencies -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D43A795B73B16ABE9643FE1AFD8FFF16DB45C6AB && \ - echo "deb http://pkg.mxe.cc/repos/apt/debian jessie main" > /etc/apt/sources.list.d/mxeapt.list -RUN apt-get update RUN DEBIAN_FRONTEND=noninteractive eatmydata \ + apt install -y --no-install-recommends gnupg dirmngr + +# Add the foreign architecture we want and install dependencies +RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C6BF758A33A3A276 && \ + echo "deb http://pkg.mxe.cc/repos/apt stretch main" > /etc/apt/sources.list.d/mxeapt.list +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ apt-get install -y --no-install-recommends \ libpython2.7-stdlib \ $(apt-get -s install -y --no-install-recommends gw32.shared-mingw-w64 | egrep "^Inst mxe-x86-64-unknown-" | cut -d\ -f2) diff --git a/tests/docker/dockerfiles/debian9.docker b/tests/docker/dockerfiles/debian9.docker index 5f23a35404..b36f1d4ed8 100644 --- a/tests/docker/dockerfiles/debian9.docker +++ b/tests/docker/dockerfiles/debian9.docker @@ -13,9 +13,9 @@ FROM debian:stretch-slim RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list # Install common build utilities -RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata -RUN DEBIAN_FRONTEND=noninteractive eatmydata \ +RUN apt update && \ + DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ + DEBIAN_FRONTEND=noninteractive eatmydata \ apt install -y --no-install-recommends \ bison \ build-essential \ @@ -27,5 +27,6 @@ RUN DEBIAN_FRONTEND=noninteractive eatmydata \ pkg-config \ psmisc \ python \ + python3-sphinx \ texinfo \ $(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\ -f2) diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker index 619d1b5656..4ddc7dd112 100644 --- a/tests/docker/dockerfiles/fedora.docker +++ b/tests/docker/dockerfiles/fedora.docker @@ -52,6 +52,7 @@ ENV PACKAGES \ mingw32-libpng \ mingw32-libtasn1 \ mingw32-nettle \ + mingw32-nsis \ mingw32-pixman \ mingw32-pkg-config \ mingw32-SDL2 \ @@ -76,6 +77,7 @@ ENV PACKAGES \ perl-Test-Harness \ pixman-devel \ python3 \ + python3-sphinx \ PyYAML \ rdma-core-devel \ SDL2-devel \ @@ -85,6 +87,7 @@ ENV PACKAGES \ systemd-devel \ systemtap-sdt-devel \ tar \ + texinfo \ usbredir-devel \ virglrenderer-devel \ vte291-devel \ @@ -95,4 +98,5 @@ 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 diff --git a/tests/docker/dockerfiles/ubuntu.docker b/tests/docker/dockerfiles/ubuntu.docker index d3b72209c8..a4f601395c 100644 --- a/tests/docker/dockerfiles/ubuntu.docker +++ b/tests/docker/dockerfiles/ubuntu.docker @@ -61,10 +61,11 @@ ENV PACKAGES flex bison \ libxen-dev \ make \ python-yaml \ + python3-sphinx \ sparse \ texinfo \ xfslibs-dev RUN apt-get update && \ - apt-get -y install $PACKAGES + DEBIAN_FRONTEND=noninteractive apt-get -y install $PACKAGES RUN dpkg -l $PACKAGES | sort > /packages.txt ENV FEATURES clang pyyaml sdl2 diff --git a/tests/docker/dockerfiles/ubuntu1804.docker b/tests/docker/dockerfiles/ubuntu1804.docker index 9d80b11500..44bbf0f77a 100644 --- a/tests/docker/dockerfiles/ubuntu1804.docker +++ b/tests/docker/dockerfiles/ubuntu1804.docker @@ -48,10 +48,11 @@ ENV PACKAGES flex bison \ libxen-dev \ make \ python-yaml \ + python3-sphinx \ sparse \ texinfo \ xfslibs-dev RUN apt-get update && \ - apt-get -y install $PACKAGES + DEBIAN_FRONTEND=noninteractive apt-get -y install $PACKAGES RUN dpkg -l $PACKAGES | sort > /packages.txt ENV FEATURES clang pyyaml sdl2 diff --git a/tests/docker/run b/tests/docker/run index 7aebf4b569..1014871fec 100755 --- a/tests/docker/run +++ b/tests/docker/run @@ -62,7 +62,7 @@ echo "* Prepared to run command:" echo " $CMD" echo "* Hit Ctrl-D to continue, or type 'exit 1' to abort" echo -$SHELL +$SHELL --noprofile --norc if "$CMD"; then exit 0 @@ -72,7 +72,7 @@ elif test -n "$DEBUG"; then echo "* Hit Ctrl-D to exit" echo # Force error after shell exits - $SHELL && exit 1 + $SHELL --noprofile --norc && exit 1 else exit 1 fi diff --git a/tests/docker/test-mingw b/tests/docker/test-mingw index 4b84cfe120..fdb1c2c879 100755 --- a/tests/docker/test-mingw +++ b/tests/docker/test-mingw @@ -27,8 +27,10 @@ for prefix in x86_64-w64-mingw32- i686-w64-mingw32-; do --enable-curl \ --enable-vnc \ --enable-bzip2 \ - --enable-guest-agent + --enable-guest-agent \ + --enable-docs install_qemu + make installer make clean done diff --git a/tests/docker/test-misc b/tests/docker/test-misc new file mode 100755 index 0000000000..d480afedca --- /dev/null +++ b/tests/docker/test-misc @@ -0,0 +1,22 @@ +#!/bin/bash -e +# +# Build the miscellaneous components +# +# Copyright (c) 2019 Linaro Ltd. +# +# Authors: +# Alex Bennée <alex.bennee@linaro.org> +# +# This work is licensed under the terms of the GNU GPL, version 2 or later. +# See the COPYING file in the top-level directory. +# +# SPDX-License-Identifier: GPL-2.0-or-later + +. common.rc + +cd "$BUILD_DIR" + +# build everything else but QEMU +configure_qemu --disable-user --disable-system --enable-docs --enable-tools +build_qemu +install_qemu diff --git a/tests/migration-test.c b/tests/migration-test.c index a4feb9545d..c1968740ab 100644 --- a/tests/migration-test.c +++ b/tests/migration-test.c @@ -308,7 +308,7 @@ static void check_guests_ram(QTestState *who) uint8_t first_byte; uint8_t last_byte; bool hit_edge = false; - bool bad = false; + int bad = 0; qtest_memread(who, start_address, &first_byte, 1); last_byte = first_byte; @@ -327,15 +327,20 @@ static void check_guests_ram(QTestState *who) hit_edge = true; last_byte = b; } else { - fprintf(stderr, "Memory content inconsistency at %x" - " first_byte = %x last_byte = %x current = %x" - " hit_edge = %x\n", - address, first_byte, last_byte, b, hit_edge); - bad = true; + bad++; + if (bad <= 10) { + fprintf(stderr, "Memory content inconsistency at %x" + " first_byte = %x last_byte = %x current = %x" + " hit_edge = %x\n", + address, first_byte, last_byte, b, hit_edge); + } } } } - g_assert_false(bad); + if (bad >= 10) { + fprintf(stderr, "and in another %d pages", bad - 10); + } + g_assert(bad == 0); } static void cleanup(const char *filename) diff --git a/tests/qemu-iotests/007 b/tests/qemu-iotests/007 index 6abd402423..7d3544b479 100755 --- a/tests/qemu-iotests/007 +++ b/tests/qemu-iotests/007 @@ -48,7 +48,7 @@ echo echo "creating image" _make_test_img 1M -for i in `seq 1 10`; do +for ((i=1;i<=10;i++)); do echo "savevm $i" $QEMU -nographic -hda "$TEST_IMG" -serial none -monitor stdio >/dev/null 2>&1 <<EOF savevm test-$i diff --git a/tests/qemu-iotests/011 b/tests/qemu-iotests/011 index 8b1fce069a..56f704b5b9 100755 --- a/tests/qemu-iotests/011 +++ b/tests/qemu-iotests/011 @@ -49,7 +49,7 @@ _make_test_img $size echo echo "overlapping I/O" -for i in `seq 1 10`; do +for ((i=1;i<=10;i++)); do let mb=1024*1024 let off1=$i*$mb let off2=$off1+512 diff --git a/tests/qemu-iotests/032 b/tests/qemu-iotests/032 index 23c216c549..988a8c5d8f 100755 --- a/tests/qemu-iotests/032 +++ b/tests/qemu-iotests/032 @@ -52,7 +52,7 @@ _make_test_img 64M # Allocate every other cluster so that afterwards a big write request will # actually loop a while and issue many I/O requests for the lower layer -for i in $(seq 0 128 4096); do echo "write ${i}k 64k"; done | $QEMU_IO "$TEST_IMG" | _filter_qemu_io +for ((i=0;i<=4096;i+=128)); do echo "write ${i}k 64k"; done | $QEMU_IO "$TEST_IMG" | _filter_qemu_io echo echo === AIO request during close === diff --git a/tests/qemu-iotests/035 b/tests/qemu-iotests/035 index ad6fa3115a..d950a0dd1e 100755 --- a/tests/qemu-iotests/035 +++ b/tests/qemu-iotests/035 @@ -49,7 +49,7 @@ echo "creating image" _make_test_img $size generate_requests() { - for i in $(seq 0 63); do + for ((i=0;i<=63;i++)); do echo "aio_write ${i}M 512" echo "aio_write ${i}M 512" echo "aio_write ${i}M 512" diff --git a/tests/qemu-iotests/037 b/tests/qemu-iotests/037 index 819a2a52d2..4946b9be92 100755 --- a/tests/qemu-iotests/037 +++ b/tests/qemu-iotests/037 @@ -61,7 +61,7 @@ backing_io() local pattern=0 local cur_sec=0 - for i in $(seq 0 $((sectors - 1))); do + for ((i=0;i<=$((sectors - 1));i++)); do cur_sec=$((offset / 512 + i)) pattern=$(( ( (cur_sec % 256) + (cur_sec / 256)) % 256 )) diff --git a/tests/qemu-iotests/046 b/tests/qemu-iotests/046 index 543355c64f..4e03ead7b1 100755 --- a/tests/qemu-iotests/046 +++ b/tests/qemu-iotests/046 @@ -55,7 +55,7 @@ backing_io() local pattern=0 local cur_sec=0 - for i in $(seq 0 $((sectors - 1))); do + for ((i=0;i<=$((sectors - 1));i++)); do cur_sec=$((offset / 65536 + i)) pattern=$(( ( (cur_sec % 128) + (cur_sec / 128)) % 128 )) diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check index f925606cc5..c24874ff4a 100755 --- a/tests/qemu-iotests/check +++ b/tests/qemu-iotests/check @@ -488,7 +488,7 @@ testlist options BEGIN { for (t='$start'; t<='$end'; t++) printf "%03d\n",t }' \ | while read id do - if grep -s "^$id " "$source_iotests/group" >/dev/null + if grep -s "^$id\( \|\$\)" "$source_iotests/group" >/dev/null then # in group file ... OK echo $id >>$tmp.list @@ -547,7 +547,7 @@ else touch $tmp.list else # no test numbers, do everything from group file - sed -n -e '/^[0-9][0-9][0-9]*/s/[ ].*//p' <"$source_iotests/group" >$tmp.list + sed -n -e '/^[0-9][0-9][0-9]*/s/^\([0-9]*\).*/\1/p' <"$source_iotests/group" >$tmp.list fi fi diff --git a/tests/qemu-iotests/common.pattern b/tests/qemu-iotests/common.pattern index 25aa0d01c1..4f5e5bcea0 100644 --- a/tests/qemu-iotests/common.pattern +++ b/tests/qemu-iotests/common.pattern @@ -22,7 +22,7 @@ do_is_allocated() { local step=$3 local count=$4 - for i in `seq 1 $count`; do + for ((i=1;i<=$count;i++)); do echo alloc $(( start + (i - 1) * step )) $size done } @@ -40,7 +40,7 @@ do_io() { local pattern=$6 echo === IO: pattern $pattern >&2 - for i in `seq 1 $count`; do + for ((i=1;i<=$count;i++)); do echo $op -P $pattern $(( start + (i - 1) * step )) $size done } diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group index b34c8e3c0c..f13e5f2e23 100644 --- a/tests/qemu-iotests/group +++ b/tests/qemu-iotests/group @@ -14,7 +14,9 @@ # runnable in any case. That means they should run with every QEMU binary # (also non-x86), with every QEMU configuration (i.e. must not fail if # an optional feature is not compiled in - but reporting a "skip" is ok), -# and work all kind of host filesystems and users (e.g. "nobody" or "root"). +# work at least with the qcow2 file format, work with all kind of host +# filesystems and users (e.g. "nobody" or "root") and must not take too +# much memory and disk space (since CI pipelines tend to fail otherwise). # # @@ -33,8 +35,8 @@ 011 rw auto quick 012 auto quick 013 rw auto -014 rw auto -015 rw snapshot auto +014 rw +015 rw snapshot # 016 was removed, do not reuse 017 rw backing auto quick 018 rw backing auto quick @@ -42,7 +44,7 @@ 020 rw backing auto quick 021 io auto quick 022 rw snapshot auto -023 rw auto +023 rw 024 rw backing auto quick 025 rw auto quick 026 rw blkdbg @@ -78,94 +80,94 @@ 056 rw backing 057 rw 058 rw quick -059 rw auto quick +059 rw quick 060 rw auto quick 061 rw auto 062 rw auto quick 063 rw auto quick -064 rw auto quick +064 rw quick 065 rw quick 066 rw auto quick 067 rw quick 068 rw quick 069 rw auto quick -070 rw auto quick +070 rw quick 071 rw auto quick 072 rw auto quick 073 rw auto quick 074 rw auto quick -075 rw auto quick -076 auto -077 rw auto quick -078 rw auto quick +075 rw quick +076 io +077 rw quick +078 rw quick 079 rw auto 080 rw auto -081 rw auto quick -082 rw auto quick -083 rw auto -084 img auto quick +081 rw quick +082 rw quick +083 rw +084 img quick 085 rw 086 rw auto quick 087 rw quick -088 rw auto quick +088 rw quick 089 rw auto quick 090 rw auto quick -091 rw auto migration -092 rw auto quick +091 rw migration +092 rw quick 093 throttle -094 rw auto quick +094 rw quick 095 rw quick 096 rw quick 097 rw auto backing 098 rw auto backing quick 099 rw auto quick # 100 was removed, do not reuse -101 rw auto quick -102 rw auto quick +101 rw quick +102 rw quick 103 rw auto quick 104 rw auto 105 rw auto quick -106 rw auto quick +106 rw quick 107 rw auto quick 108 rw auto quick -109 rw auto +109 rw 110 rw auto backing quick 111 rw auto quick 112 rw -113 rw auto quick +113 rw quick 114 rw auto quick 115 rw -116 rw auto quick +116 rw quick 117 rw auto 118 rw -119 rw auto quick +119 rw quick 120 rw auto quick 121 rw -122 rw auto -123 rw auto quick +122 rw +123 rw quick 124 rw backing 125 rw 126 rw auto backing 127 rw backing quick -128 rw auto quick +128 rw quick 129 rw quick 130 rw auto quick -131 rw auto quick +131 rw quick 132 rw quick 133 auto quick 134 rw auto quick -135 rw auto +135 rw 136 rw 137 rw auto 138 rw auto quick 139 rw quick 140 rw auto quick 141 rw auto quick -142 auto +142 143 auto quick 144 rw quick 145 quick -146 auto quick +146 quick 147 img 148 rw quick 149 rw sudo @@ -179,23 +181,23 @@ 157 quick 158 rw auto quick 159 rw auto quick -160 rw auto quick +160 rw quick 161 rw auto quick 162 quick 163 rw 165 rw quick 169 rw quick migration 170 rw auto quick -171 rw auto quick +171 rw quick 172 auto -173 rw auto +173 rw 174 auto -175 auto quick +175 quick 176 rw auto backing 177 rw auto quick 178 img 179 rw auto quick -181 rw auto migration +181 rw migration 182 rw quick 183 rw migration 184 rw auto quick @@ -210,62 +212,62 @@ 194 rw migration quick 195 rw auto quick 196 rw quick migration -197 rw auto quick +197 rw quick 198 rw 199 rw migration 200 rw -201 rw auto migration +201 rw migration 202 rw quick 203 rw migration 204 rw quick 205 rw quick 206 rw -207 rw auto +207 rw 208 rw quick 209 rw quick -210 rw auto -211 rw auto quick -212 rw auto quick -213 rw auto quick +210 rw +211 rw quick +212 rw quick +213 rw quick 214 rw auto -215 rw auto quick +215 rw quick 216 rw quick 217 rw auto quick 218 rw quick 219 rw 220 rw auto -221 rw auto quick +221 rw quick 222 rw quick 223 rw quick 224 rw quick -225 rw auto quick +225 rw quick 226 auto quick 227 quick 228 rw quick 229 auto quick -231 auto quick +231 quick 232 quick -233 auto quick +233 quick 234 quick migration 235 quick 236 quick -237 rw auto quick +237 rw quick 238 quick -239 rw auto quick +239 rw quick 240 quick -241 rw auto quick +241 rw quick 242 rw quick -243 rw auto quick +243 rw quick 244 rw auto quick 245 rw 246 rw quick 247 rw quick 248 rw quick 249 rw auto quick -250 rw auto quick +250 rw quick 251 rw auto quick 252 rw auto backing quick -253 rw auto quick -254 rw auto backing quick -255 rw auto quick -256 rw auto quick +253 rw quick +254 rw backing quick +255 rw quick +256 rw quick |