Testing updates (split from mega PR)

- various Travis dependency updates
   - enable tcg debug for check-tcg
   - additional Xcode build for Cirrus
   - dependency tweak for gitlab
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAl2zTpwACgkQ+9DbCVqe
 KkQm7Af/co4HilswuPFIdfHDlsxR4UzdEWjdzFVjZl/3eeV52tRD+46ybfxGRQkL
 drbf5sekgnQmRZQw74l9FrXXnZmmVZk0rX7T45t/58gARZgrvDmkCqbUBE4DXQLz
 Oleqdi6yOOH3N2oszu5skPB6qF8FvQesTrHzAh1KDyUG3mQIbV0mQNmAyVtvIzEz
 Jpro16ar6/PeZfp8Elp7ysrWA80cZIKKwMQonBIdEF4OK1DCSnW/Szw3uj0Jbnkp
 cSCiEprPhb94Dm2a8DKrIQrPpFzIUvDJQmCqYyiufB3KLsH5bfps0zs3NBY44GjV
 sM6SmSExhwPAu5JvwnqM7tYw5RLeAA==
 =KxjG
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/stsquad/tags/pull-testing-next-251019-3' into staging

Testing updates (split from mega PR)

  - various Travis dependency updates
  - enable tcg debug for check-tcg
  - additional Xcode build for Cirrus
  - dependency tweak for gitlab

# gpg: Signature made Fri 25 Oct 2019 20:35:56 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-next-251019-3:
  tests/docker: update Travis image to a more current version
  tests/docker: set HOST_ARCH if we don't have ARCH
  travis.yml: --enable-debug-tcg to check-tcg
  gitlab-ci.yml: Use libvdeplug-dev to compile-test the VDE network backend
  travis.yml: cache the clang sanitizer build
  tests/vm/netbsd: Disable IPv6
  tests/vm: Let subclasses disable IPv6
  cirrus.yml: add latest Xcode build target
  travis.yml: bump Xcode 10 to latest dot release
  travis.yml: Test the release tarball
  travis.yml: Fix the ccache lines
  travis.yml: Use newer version of libgnutls and libpng
  travis.yml: Use libsdl2 instead of libsdl1.2, and install libsdl2-image
  travis.yml: Add libvdeplug-dev to compile-test net/vde.c
  travis.yml: reduce scope of the --enable-debug build

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2019-10-26 10:13:48 +01:00
commit 187f355121
8 changed files with 71 additions and 18 deletions

View file

@ -25,3 +25,14 @@ macos_task:
- ./configure --python=/usr/local/bin/python3 || { cat config.log; exit 1; }
- gmake -j$(sysctl -n hw.ncpu)
- gmake check -j$(sysctl -n hw.ncpu)
macos_xcode_task:
osx_instance:
# this is an alias for the latest Xcode
image: mojave-xcode
install_script:
- brew install pkg-config gnu-sed glib pixman make sdl2
script:
- ./configure --cc=clang || { cat config.log; exit 1; }
- gmake -j$(sysctl -n hw.ncpu)
- gmake check -j$(sysctl -n hw.ncpu)

View file

@ -5,7 +5,7 @@ before_script:
build-system1:
script:
- apt-get install -y -qq libgtk-3-dev libvte-dev nettle-dev libcacard-dev
libusb-dev libvde-dev libspice-protocol-dev libgl1-mesa-dev
libusb-dev libvde-dev libspice-protocol-dev libgl1-mesa-dev libvdeplug-dev
- ./configure --enable-werror --target-list="aarch64-softmmu alpha-softmmu
cris-softmmu hppa-softmmu lm32-softmmu moxie-softmmu microblazeel-softmmu
mips64el-softmmu m68k-softmmu ppc-softmmu riscv64-softmmu sparc-softmmu"

View file

@ -27,8 +27,6 @@ env:
TARGET_LIST=ppc64-softmmu,ppc64-linux-user,ppc64abi32-linux-user
build:
pre_ci:
# usually host ARCH is set by configure
- echo "ARCH=$(uname -m)" > config-host.mak
- make docker-image-${IMAGE} V=1
pre_ci_boot:
image_name: qemu

View file

@ -29,7 +29,7 @@ addons:
- libcap-dev
- libcap-ng-dev
- libgcc-4.8-dev
- libgnutls-dev
- libgnutls28-dev
- libgtk-3-dev
- libiscsi-dev
- liblttng-ust-dev
@ -37,15 +37,17 @@ addons:
- libnfs-dev
- libnss3-dev
- libpixman-1-dev
- libpng12-dev
- libpng-dev
- librados-dev
- libsdl1.2-dev
- libsdl2-dev
- libsdl2-image-dev
- libseccomp-dev
- libspice-protocol-dev
- libspice-server-dev
- libssh-dev
- liburcu-dev
- libusb-1.0-0-dev
- libvdeplug-dev
- libvte-2.91-dev
- sparse
- uuid-dev
@ -89,13 +91,13 @@ git:
before_script:
- if [ "$TRAVIS_OS_NAME" == "osx" ] ; then export PATH="/usr/local/opt/ccache/libexec:$PATH" ; fi
- command -v ccache && ccache --zero-stats
- if command -v ccache ; then ccache --zero-stats ; fi
- mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
- ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; }
script:
- make -j3 && travis_retry ${TEST_CMD}
after_script:
- command -v ccache && ccache --show-stats
- if command -v ccache ; then ccache --show-stats ; fi
matrix:
@ -124,12 +126,13 @@ matrix:
- CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
# --enable-debug implies --enable-debug-tcg, also runs quite a bit slower
- env:
- CONFIG="--enable-debug --enable-debug-tcg --disable-user"
- CONFIG="--enable-debug --target-list=${MAIN_SOFTMMU_TARGETS}"
- CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug"
# TCG debug can be run just on it's own and is mostly agnostic to user/softmmu distinctions
# TCG debug can be run just on its own and is mostly agnostic to user/softmmu distinctions
- env:
- CONFIG="--enable-debug-tcg --disable-system"
- CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug"
@ -186,6 +189,7 @@ matrix:
- env:
- CONFIG="--target-list=${MAIN_SOFTMMU_TARGETS} "
- CACHE_NAME="${TRAVIS_BRANCH}-linux-clang-sanitize"
compiler: clang
before_script:
- ./configure ${CONFIG} --extra-cflags="-fsanitize=undefined -Werror" || { cat config.log && exit 1; }
@ -244,7 +248,7 @@ matrix:
- env:
- CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu,x86_64-softmmu"
os: osx
osx_image: xcode10.2
osx_image: xcode10.3
compiler: clang
@ -307,7 +311,8 @@ matrix:
- libpixman-1-dev
- libpng12-dev
- librados-dev
- libsdl1.2-dev
- libsdl2-dev
- libsdl2-image-dev
- libseccomp-dev
- libspice-protocol-dev
- libspice-server-dev
@ -329,13 +334,36 @@ matrix:
# Run check-tcg against linux-user
- env:
- CONFIG="--disable-system"
- CONFIG="--disable-system --enable-debug-tcg"
- TEST_CMD="make -j3 check-tcg V=1"
- CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
# Run check-tcg against softmmu targets
- env:
- CONFIG="--target-list=xtensa-softmmu,arm-softmmu,aarch64-softmmu,alpha-softmmu"
- CONFIG="--enable-debug-tcg --target-list=xtensa-softmmu,arm-softmmu,aarch64-softmmu,alpha-softmmu"
- TEST_CMD="make -j3 check-tcg V=1"
- CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
# Release builds
# The make-release script expect a QEMU version, so our tag must start with a 'v'.
# This is the case when release candidate tags are created.
- if: tag IS present AND tag =~ /^v\d+\.\d+(\.\d+)?(-\S*)?$/
env:
# We want to build from the release tarball
- BUILD_DIR="release/build/dir" SRC_DIR="../../.."
- BASE_CONFIG="--prefix=$PWD/dist"
- CONFIG="--target-list=x86_64-softmmu,aarch64-softmmu,armeb-linux-user,ppc-linux-user"
- TEST_CMD="make install -j3"
- QEMU_VERSION="${TRAVIS_TAG:1}"
- CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
before_script:
- command -v ccache && ccache --zero-stats
- mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
script:
- make -C ${SRC_DIR} qemu-${QEMU_VERSION}.tar.bz2
- ls -l ${SRC_DIR}/qemu-${QEMU_VERSION}.tar.bz2
- tar -xf ${SRC_DIR}/qemu-${QEMU_VERSION}.tar.bz2 && cd qemu-${QEMU_VERSION}
- ./configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; }
- make install

View file

@ -2,6 +2,8 @@
.PHONY: docker docker-test docker-clean docker-image docker-qemu-src
HOST_ARCH = $(if $(ARCH),$(ARCH),$(shell uname -m))
DOCKER_SUFFIX := .docker
DOCKER_FILES_DIR := $(SRC_PATH)/tests/docker/dockerfiles
# we don't run tests on intermediate images (used as base by another image)
@ -88,7 +90,7 @@ endif
# Enforce dependencies for composite images
docker-image-debian9-mxe: docker-image-debian9
ifeq ($(ARCH),x86_64)
ifeq ($(HOST_ARCH),x86_64)
docker-image-debian-amd64: docker-image-debian9
DOCKER_PARTIAL_IMAGES += debian-amd64-cross
else
@ -106,7 +108,7 @@ docker-image-debian-win32-cross: docker-image-debian9-mxe
docker-image-debian-win64-cross: docker-image-debian9-mxe
# For non-x86 hosts not all cross-compilers have been packaged
ifneq ($(ARCH),x86_64)
ifneq ($(HOST_ARCH),x86_64)
DOCKER_PARTIAL_IMAGES += debian-mips-cross debian-mipsel-cross debian-mips64el-cross
DOCKER_PARTIAL_IMAGES += debian-ppc64el-cross
DOCKER_PARTIAL_IMAGES += debian-s390x-cross

View file

@ -1,4 +1,8 @@
FROM travisci/ci-sardonyx:packer-1546978056-2c98a19
#
# Travis Image - this is broadly the same image that we run our CI
# tests on.
#
FROM travisci/ci-sardonyx:packer-1552557266-f909ac5
ENV DEBIAN_FRONTEND noninteractive
ENV LANG en_US.UTF-8
ENV LC_ALL en_US.UTF-8

View file

@ -57,6 +57,8 @@ class BaseVM(object):
arch = "#arch"
# command to halt the guest, can be overridden by subclasses
poweroff = "poweroff"
# enable IPv6 networking
ipv6 = True
def __init__(self, debug=False, vcpus=None):
self._guest = None
self._tmpdir = os.path.realpath(tempfile.mkdtemp(prefix="vm-test-",
@ -81,7 +83,8 @@ class BaseVM(object):
self._args = [ \
"-nodefaults", "-m", "4G",
"-cpu", "max",
"-netdev", "user,id=vnet,hostfwd=:127.0.0.1:0-:22",
"-netdev", "user,id=vnet,hostfwd=:127.0.0.1:0-:22" +
(",ipv6=no" if not self.ipv6 else ""),
"-device", "virtio-net-pci,netdev=vnet",
"-vnc", "127.0.0.1:0,to=20"]
if vcpus and vcpus > 1:

View file

@ -28,6 +28,13 @@ class NetBSDVM(basevm.BaseVM):
gmake --output-sync -j{jobs} {target} {verbose};
"""
# Workaround for NetBSD + IPv6 + slirp issues.
# NetBSD seems to ignore the ICMPv6 Destination Unreachable
# messages generated by slirp. When the host has no IPv6
# connectivity, this causes every connection to ftp.NetBSD.org
# take more than a minute to be established.
ipv6 = False
def build_image(self, img):
cimg = self._download_with_cache("http://download.patchew.org/netbsd-7.1-amd64.img.xz",
sha256sum='b633d565b0eac3d02015cd0c81440bd8a7a8df8512615ac1ee05d318be015732')