From fab3220f973b6ee924bff691e15836baed22be3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Thu, 3 Jan 2019 18:21:51 +0100 Subject: docker: Use stable git tag for virglrenderer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use a stable tag instead of some random commit from mainstream development, to avoid unexpected build failures. This fixes: CC virglrenderer.lo virglrenderer.c: In function 'virgl_has_gl_colorspace': virglrenderer.c:208:11: error: implicit declaration of function 'virgl_has_egl_khr_gl_colorspace' [-Werror=implicit-function-declaration] virgl_has_egl_khr_gl_colorspace(egl_info)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ virglrenderer.c:208:43: error: 'egl_info' undeclared (first use in this function) virgl_has_egl_khr_gl_colorspace(egl_info)); ^~~~~~~~ virglrenderer.c:208:43: note: each undeclared identifier is reported only once for each function it appears in cc1: some warnings being treated as errors As of this commit 'git virglrenderer-0.7.0' is the last stable tag. (virglrenderer commit breaking: fb4f7577f7ef) Signed-off-by: Philippe Mathieu-Daudé Signed-off-by: Alex Bennée --- tests/docker/dockerfiles/debian-amd64.docker | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/docker/dockerfiles/debian-amd64.docker b/tests/docker/dockerfiles/debian-amd64.docker index 24b113b..47a30ad 100644 --- a/tests/docker/dockerfiles/debian-amd64.docker +++ b/tests/docker/dockerfiles/debian-amd64.docker @@ -24,7 +24,8 @@ RUN DEBIAN_FRONTEND=noninteractive eatmydata \ libegl1-mesa-dev \ libepoxy-dev \ libgbm-dev -RUN git clone https://anongit.freedesktop.org/git/virglrenderer.git /usr/src/virglrenderer +RUN git clone https://anongit.freedesktop.org/git/virglrenderer.git /usr/src/virglrenderer && \ + cd /usr/src/virglrenderer && git checkout virglrenderer-0.7.0 RUN cd /usr/src/virglrenderer && ./autogen.sh && ./configure --with-glx --disable-tests && make install # netmap -- cgit v1.1 From 55923c7283f8c0f23dc837edd55e5c82067b2596 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Wed, 9 Jan 2019 16:31:02 +0000 Subject: tests: run ldconfig after installing extra software MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The docker file builds and installs software into /usr/local but does not run ldconfig. As a result QEMU links to libvirglrenderer.so, but then crashes in "make check" unable to find the library. Signed-off-by: Daniel P. Berrangé Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé --- tests/docker/dockerfiles/debian-amd64.docker | 2 ++ 1 file changed, 2 insertions(+) (limited to 'tests') diff --git a/tests/docker/dockerfiles/debian-amd64.docker b/tests/docker/dockerfiles/debian-amd64.docker index 47a30ad..954fcf9 100644 --- a/tests/docker/dockerfiles/debian-amd64.docker +++ b/tests/docker/dockerfiles/debian-amd64.docker @@ -36,5 +36,7 @@ RUN git clone https://github.com/luigirizzo/netmap.git /usr/src/netmap RUN cd /usr/src/netmap/LINUX && ./configure --no-drivers --no-apps --kernel-dir=$(ls -d /usr/src/linux-headers-*-amd64) && make install ENV QEMU_CONFIGURE_OPTS --enable-netmap +RUN ldconfig + # gcrypt ENV QEMU_CONFIGURE_OPTS $QEMU_CONFIGURE_OPTS --enable-gcrypt -- cgit v1.1 From ea08a74620e1df476fb7911a4e02565cd6cd8e69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Wed, 9 Jan 2019 16:31:03 +0000 Subject: tests: remove obsolete 'debian' dockerfile MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 'debian' dockerfile was deprecated in favour of versioned dockerfiles in July 2017. That is enough time for developers to be warned about the rename. Signed-off-by: Daniel P. Berrangé Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé --- tests/docker/dockerfiles/debian.docker | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 tests/docker/dockerfiles/debian.docker (limited to 'tests') diff --git a/tests/docker/dockerfiles/debian.docker b/tests/docker/dockerfiles/debian.docker deleted file mode 100644 index fd32e71..0000000 --- a/tests/docker/dockerfiles/debian.docker +++ /dev/null @@ -1,13 +0,0 @@ -# This template is deprecated and was previously based on Jessie on QEMU 2.9. -# Now than Stretch is out, please use qemu:debian8 as base for Jessie, -# and qemu:debian9 for Stretch. -# -FROM qemu:debian9 - -MAINTAINER Philippe Mathieu-Daudé - -RUN for n in $(seq 8); do echo; done && \ - echo "\n\t\tThis image is deprecated." && echo && \ - echo "\tUse 'FROM qemu:debian9' to use the stable Debian Stretch image" && \ - echo "\tor 'FROM qemu:debian8' to use old Debian Jessie." && \ - for n in $(seq 8); do echo; done -- cgit v1.1 From 19a9978db1aa434d5892e88ea9cae8f2b4cc1270 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Wed, 9 Jan 2019 16:31:04 +0000 Subject: tests: update Fedora dockerfile to use Fedora 29 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fedora 29 is the current newest release, so switch to using that from the current Fedora 28. Signed-off-by: Daniel P. Berrangé Signed-off-by: Alex Bennée --- tests/docker/dockerfiles/fedora.docker | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/docker/dockerfiles/fedora.docker b/tests/docker/dockerfiles/fedora.docker index 1d0e3dc..69d4a7f 100644 --- a/tests/docker/dockerfiles/fedora.docker +++ b/tests/docker/dockerfiles/fedora.docker @@ -1,4 +1,4 @@ -FROM fedora:28 +FROM fedora:29 ENV PACKAGES \ bc \ bison \ @@ -82,7 +82,7 @@ ENV PACKAGES \ tar \ usbredir-devel \ virglrenderer-devel \ - vte3-devel \ + vte291-devel \ which \ xen-devel \ zlib-devel -- cgit v1.1 From 62559b9167c5f3105867da36db88662df5ce135e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Wed, 9 Jan 2019 16:31:05 +0000 Subject: tests: update Fedora i386 cross image to Fedora 29 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Using the "latest" tag is not a good idea because this changes what release it points to every 6 months. Together with caching of docker builds this can cause confusion where CI has cached & built with Fedora N, while a developer tries to reproduce a CI problem with Fedora N + 1, or vica-verca. Signed-off-by: Daniel P. Berrangé Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé --- tests/docker/dockerfiles/fedora-i386-cross.docker | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/docker/dockerfiles/fedora-i386-cross.docker b/tests/docker/dockerfiles/fedora-i386-cross.docker index a4fd895..eb8108d 100644 --- a/tests/docker/dockerfiles/fedora-i386-cross.docker +++ b/tests/docker/dockerfiles/fedora-i386-cross.docker @@ -1,4 +1,4 @@ -FROM fedora:latest +FROM fedora:29 ENV PACKAGES \ gcc \ glib2-devel.i686 \ -- cgit v1.1 From 53fe2431c77ead6d1a88cfeb43d557c34725309f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Date: Wed, 9 Jan 2019 13:53:57 +0000 Subject: tests: use in-place sed magic for enabling deb-src in travis image MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This avoids potential problems with duplicates. Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé --- tests/docker/dockerfiles/travis.docker | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/docker/dockerfiles/travis.docker b/tests/docker/dockerfiles/travis.docker index 03ebfb0..46cf367 100644 --- a/tests/docker/dockerfiles/travis.docker +++ b/tests/docker/dockerfiles/travis.docker @@ -2,7 +2,7 @@ FROM travisci/ci-garnet:packer-1512502276-986baf0 ENV DEBIAN_FRONTEND noninteractive ENV LANG en_US.UTF-8 ENV LC_ALL en_US.UTF-8 -RUN cat /etc/apt/sources.list | sed "s/# deb-src/deb-src/" >> /etc/apt/sources.list +RUN sed -i "s/# deb-src/deb-src/" /etc/apt/sources.list RUN apt-get update RUN apt-get -y build-dep qemu RUN apt-get -y install device-tree-compiler python2.7 python-yaml dh-autoreconf gdb strace lsof net-tools gcovr -- cgit v1.1 From b4048a7cd10376412496c7241837f1a1d3b673fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Thu, 1 Nov 2018 19:37:05 +0100 Subject: docker: Use a stable snapshot for Debian Sid MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Debian Sid repository is not garanteed to be stable, as his 'unstable' name suggest :) To allow quick testing, packages are pushed various time a day, which my be annoying when trying to use it for stable development (which is not recommended, but Sid provides edge packages we use for testing). Debian provides repositories snapshots which are suitable for our use. Pick a recent date that works. When required, update to newer releases will be easy. This fixes current issues with this image: $ make docker-image-debian-sid [...] The following packages have unmet dependencies: build-essential : Depends: dpkg-dev (>= 1.17.11) but it is not going to be installed git : Depends: perl but it is not going to be installed Depends: liberror-perl but it is not going to be installed pkg-config : Depends: libdpkg-perl but it is not going to be installed texinfo : Depends: perl (>= 5.26.2-6) but it is not going to be installed Depends: libtext-unidecode-perl but it is not going to be installed Depends: libxml-libxml-perl but it is not going to be installed E: Unable to correct problems, you have held broken packages. Signed-off-by: Philippe Mathieu-Daudé [AJB: also tweak FROM to a earlier snapshot] Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé --- tests/docker/dockerfiles/debian-sid.docker | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/docker/dockerfiles/debian-sid.docker b/tests/docker/dockerfiles/debian-sid.docker index 4e4cda0..676941c 100644 --- a/tests/docker/dockerfiles/debian-sid.docker +++ b/tests/docker/dockerfiles/debian-sid.docker @@ -11,7 +11,12 @@ # updated and trigger a re-build. # -FROM debian:sid-slim +# This must be earlier than the snapshot date we are aiming for +FROM debian:sid-20181011-slim + +# Use a snapshot known to work (see http://snapshot.debian.org/#Usage) +ENV DEBIAN_SNAPSHOT_DATE "20181030" +RUN sed -i "s%^deb \(https\?://\)deb.debian.org/debian/\? \(.*\)%deb [check-valid-until=no] \1snapshot.debian.org/archive/debian/${DEBIAN_SNAPSHOT_DATE} \2%" /etc/apt/sources.list # Use a snapshot known to work (see http://snapshot.debian.org/#Usage) ENV DEBIAN_SNAPSHOT_DATE "20181030" -- cgit v1.1 From 3cc34204ea13db2bf89388189bc843171843eba0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Date: Wed, 9 Jan 2019 13:30:54 +0000 Subject: tests/docker: update our Travis image MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We are now using Xenial based images on Travis so we should make the same one available as our qemu:travis docker image. Signed-off-by: Alex Bennée --- tests/docker/dockerfiles/travis.docker | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/docker/dockerfiles/travis.docker b/tests/docker/dockerfiles/travis.docker index 46cf367..e72dc85 100644 --- a/tests/docker/dockerfiles/travis.docker +++ b/tests/docker/dockerfiles/travis.docker @@ -1,4 +1,4 @@ -FROM travisci/ci-garnet:packer-1512502276-986baf0 +FROM travisci/ci-sardonyx:packer-1546978056-2c98a19 ENV DEBIAN_FRONTEND noninteractive ENV LANG en_US.UTF-8 ENV LC_ALL en_US.UTF-8 -- cgit v1.1 From d406015b6a1e0cc8eda10816ddbecd7917f79297 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Date: Thu, 10 Jan 2019 17:18:42 +0000 Subject: tests/docker: remove SID_AGE test hack MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Now we are using "named" snapshots of debian-sid we can rely on the existing checksum mechanism for detecting changes. Signed-off-by: Alex Bennée --- tests/docker/Makefile.include | 13 ------------- 1 file changed, 13 deletions(-) (limited to 'tests') diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include index 9467e9d..7032c68 100644 --- a/tests/docker/Makefile.include +++ b/tests/docker/Makefile.include @@ -98,19 +98,6 @@ 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 -# Debian SID images - we are tracking a rolling distro so we want to -# force a re-build of the base image if we ever need to build one of -# its children. -ifndef SKIP_DOCKER_BUILD -ifeq ($(HAVE_USER_DOCKER),y) -SID_AGE=$(shell $(DOCKER_SCRIPT) check --checktype=age --olderthan=180 --quiet qemu:debian-sid) -ifeq ($(SID_AGE),) -else -docker-image-debian-sid: NOCACHE=1 -endif -endif -endif - docker-image-debian-alpha-cross: docker-image-debian-sid docker-image-debian-hppa-cross: docker-image-debian-sid docker-image-debian-m68k-cross: docker-image-debian-sid -- cgit v1.1 From eb4f8e100f1ffce3be797ac56dcad031ffef3b8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Date: Fri, 11 Jan 2019 13:50:02 +0000 Subject: tests: use g_usleep instead of rem = sleep(time) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Relying on sleep to always return having slept isn't safe as a signal may have occurred. If signals are constantly incoming the program will never reach its termination condition. This is believed to be the mechanism causing time outs for qht-test in Travis. The glib g_usleep() deals with all of this for us so lets use it instead. Signed-off-by: Alex Bennée Reviewed-by: Peter Maydell --- tests/atomic64-bench.c | 6 ++---- tests/atomic_add-bench.c | 6 ++---- tests/qht-bench.c | 6 ++---- 3 files changed, 6 insertions(+), 12 deletions(-) (limited to 'tests') diff --git a/tests/atomic64-bench.c b/tests/atomic64-bench.c index 7169256..121a8c1 100644 --- a/tests/atomic64-bench.c +++ b/tests/atomic64-bench.c @@ -74,16 +74,14 @@ static void *thread_func(void *arg) static void run_test(void) { - unsigned int remaining; unsigned int i; while (atomic_read(&n_ready_threads) != n_threads) { cpu_relax(); } + atomic_set(&test_start, true); - do { - remaining = sleep(duration); - } while (remaining); + g_usleep(duration * G_USEC_PER_SEC); atomic_set(&test_stop, true); for (i = 0; i < n_threads; i++) { diff --git a/tests/atomic_add-bench.c b/tests/atomic_add-bench.c index 2f6c72f..5666f6b 100644 --- a/tests/atomic_add-bench.c +++ b/tests/atomic_add-bench.c @@ -76,16 +76,14 @@ static void *thread_func(void *arg) static void run_test(void) { - unsigned int remaining; unsigned int i; while (atomic_read(&n_ready_threads) != n_threads) { cpu_relax(); } + atomic_set(&test_start, true); - do { - remaining = sleep(duration); - } while (remaining); + g_usleep(duration * G_USEC_PER_SEC); atomic_set(&test_stop, true); for (i = 0; i < n_threads; i++) { diff --git a/tests/qht-bench.c b/tests/qht-bench.c index ab4e708..e3b512f 100644 --- a/tests/qht-bench.c +++ b/tests/qht-bench.c @@ -398,16 +398,14 @@ static void pr_stats(void) static void run_test(void) { - unsigned int remaining; int i; while (atomic_read(&n_ready_threads) != n_rw_threads + n_rz_threads) { cpu_relax(); } + atomic_set(&test_start, true); - do { - remaining = sleep(duration); - } while (remaining); + g_usleep(duration * G_USEC_PER_SEC); atomic_set(&test_stop, true); for (i = 0; i < n_rw_threads; i++) { -- cgit v1.1 From a36270a4d1589b1ed309065fc8b3fe0ac8d6869d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Date: Mon, 14 Jan 2019 14:54:38 +0000 Subject: Revert "tests: Disable qht-bench parallel test when using gprof" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit ce2eefd7c21697fee87a0686353de881081d22c6. The underlying cause was fixed with eb4f8e100f. Signed-off-by: Alex Bennée --- tests/Makefile.include | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/Makefile.include b/tests/Makefile.include index 601ef4f..f403a65 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -88,8 +88,7 @@ check-unit-y += tests/test-rcu-simpleq$(EXESUF) check-unit-y += tests/test-rcu-tailq$(EXESUF) check-unit-y += tests/test-qdist$(EXESUF) check-unit-y += tests/test-qht$(EXESUF) -# FIXME: {test-qht-par + gprof} often break on Travis CI -check-unit-$(call lnot,$(CONFIG_GPROF)) += tests/test-qht-par$(EXESUF) +check-unit-y += tests/test-qht-par$(EXESUF) check-unit-y += tests/test-bitops$(EXESUF) check-unit-y += tests/test-bitcnt$(EXESUF) check-unit-y += tests/test-qdev-global-props$(EXESUF) -- cgit v1.1