aboutsummaryrefslogtreecommitdiff
path: root/tests/docker
AgeCommit message (Collapse)AuthorFilesLines
2019-09-02tests/docker: upgrade docker.py to python3Alex Bennée1-13/+14
The recent podman changes (9459f754134bb) imported enum which is part of the python3 standard library but only available as an external library for python2. This causes problems on the fairly restricted environment such as shippable. Lets bite the bullet and make the script a fully python3 one. To that end: - drop the from __future__ import (we are there now ;-) - avoid the StringIO import hack - be consistent with the mode we read/write dockerfiles - s/iteritems/items/ - ensure check_output returns strings for processing Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
2019-08-22tests/docker: add podman supportMarc-André Lureau1-2/+6
Allow to specify the container engine to run with ENGINE variable. By default, ENGINE=auto and will select either podman or docker. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2019-08-22docker.py: add podman supportMarc-André Lureau1-5/+43
Add a --engine option to select either docker, podman or auto. Among other advantages, podman allows to run rootless & daemonless containers, fortunately sharing compatible CLI with docker. With current podman, we have to use a uidmap trick in order to be able to rw-share the ccache directory with the container user. With a user 1000, the default mapping is: 1000 (host) -> 0 (container). So write access to /var/tmp/ccache ends will end with permission denied error. With "--uidmap 1000:0:1 --uidmap 0:1:1000", the mapping is: 1000 (host) -> 0 (container, 1st namespace) -> 1000 (container, 2nd namespace). (the rest is mumbo jumbo to avoid holes in the range of UIDs) A future podman version may have an option such as --userns-keep-uid. Thanks to Debarshi Ray <rishi@redhat.com> for the help! Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Acked-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2019-08-22docker.py: add --run-as-current-userMarc-André Lureau2-1/+6
(podman will need further tweaks) Suggested-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2019-07-23tests/docker: Refresh APT cache before installing new packages on DebianPhilippe Mathieu-Daudé28-101/+133
Since docker caches the different layers, updating the package list does not invalidate the previous "apt-get update" layer, and it is likely "apt-get install" hits an outdated repository. See commit beac6a98f6eb and https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#apt-get Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20190723141528.18023-1-philmd@redhat.com> [AJB: manually applies and fixed up] Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-07-23tests/docker: invoke the DEBUG shell with --noprofile/--norcAlex Bennée1-2/+2
It's very confusing when things work in the debug shell because the environment is different from what the test is running. Fix this by ensuring we only have the inherited environment from the run shell. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-07-23tests/docker: Let the test-mingw test generate a NSIS installerPhilippe Mathieu-Daudé1-1/+3
The NSIS installer generates an executable suitable to install QEMU on Windows. Suggested-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20190715174817.18981-9-philmd@redhat.com> [AJB: also --enable-docs in configure step] Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-07-23tests/docker: Install texinfo in the Fedora imagePhilippe Mathieu-Daudé1-0/+1
The 'makeinfo' is required to generate the documentation from the 'html' Makefile rule (called by 'install-doc'). The NSIS installer uses these files. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20190715174817.18981-6-philmd@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-07-23tests/docker: Set the correct cross-PKG_CONFIG_PATH in the MXE imagesPhilippe Mathieu-Daudé2-0/+6
This silents a bunch of warnings while compiling the Slirp objects: $ make [...] CC slirp/src/tftp.o Package glib-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `glib-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'glib-2.0' found CC slirp/src/udp6.o Package glib-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `glib-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'glib-2.0' found [...] Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20190715174817.18981-5-philmd@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-07-23tests/docker: Install the NSIS tools in the MinGW capable imagesPhilippe Mathieu-Daudé3-0/+7
This fixes: $ make installer (cd /tmp/qemu-nsis; \ for i in qemu-system-*.exe; do \ arch=${i%.exe}; \ arch=${arch#qemu-system-}; \ echo Section \"$arch\" Section_$arch; \ echo SetOutPath \"\$INSTDIR\"; \ echo File \"\${BINDIR}\\$i\"; \ echo SectionEnd; \ done \ ) >/tmp/qemu-nsis/system-emulations.nsh makensis -V2 -NOCD \ -DCONFIG_DOCUMENTATION="y" \ \ -DBINDIR="/tmp/qemu-nsis" \ \ -DSRCDIR="/home/phil/source/qemu" \ -DOUTFILE="qemu-setup-4.0.90.exe" \ -DDISPLAYVERSION="4.0.90" \ /home/phil/source/qemu/qemu.nsi /bin/sh: 1: makensis: not found Makefile:1077: recipe for target 'qemu-setup-4.0.90.exe' failed make: *** [qemu-setup-4.0.90.exe] Error 127 Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20190715174817.18981-4-philmd@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-07-23tests/docker: Install Sphinx in the Debian imagesPhilippe Mathieu-Daudé2-0/+2
Since commit 5f71eac06e the Sphinx tool is required to build the rST documentation. This fixes: $ ./configure --enable-docs ERROR: User requested feature docs configure was not able to find it. Install texinfo, Perl/perl-podlators and python-sphinx Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20190715174817.18981-3-philmd@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-07-23tests/dockerfiles: update the win cross builds to stretchAlex Bennée4-11/+14
While fixing up pkg.mxe.cc they move the URLs around a bit and dropped Jessie support in favour of Stretch. We also need to update the keys used to verify the packages. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-07-23tests/docker: Install Ubuntu images noninteractivelyPhilippe Mathieu-Daudé2-2/+2
We correctly use the DEBIAN_FRONTEND environment variable on the Debian images, but forgot the Ubuntu ones are based on it. Since building docker images is not interactive, we need to inform the APT tools about it using the DEBIAN_FRONTEND environment variable (we already use it on our Debian images). This fixes: $ make docker-image-ubuntu V=1 [...] Setting up tzdata (2019b-0ubuntu0.19.04) ... debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline Configuring tzdata ------------------ Please select the geographic area in which you live. Subsequent configuration questions will narrow this down by presenting a list of cities, representing the time zones in which they are located. 1. Africa 4. Australia 7. Atlantic 10. Pacific 13. Etc 2. America 5. Arctic 8. Europe 11. SystemV 3. Antarctica 6. Asia 9. Indian 12. US Geographic area: 12 [HANG] Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20190711124805.26476-1-philmd@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-07-23tests/docker: Install Sphinx in the Fedora imagePhilippe Mathieu-Daudé1-0/+2
Since commit 5f71eac06e the Sphinx tool is required to build the rST documentation. This fixes: $ ./configure --enable-docs ERROR: User requested feature docs configure was not able to find it. Install texinfo, Perl/perl-podlators and python-sphinx Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20190711102710.2263-1-philmd@redhat.com> [AJB: also add /usr/libexec/python3-sphinx/ to PATH] Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-07-23tests/docker: Install Sphinx in the Ubuntu imagesPhilippe Mathieu-Daudé2-0/+2
Since commit 5f71eac06e the Sphinx tool is required to build the rST documentation. This fixes: $ ./configure --enable-docs ERROR: User requested feature docs configure was not able to find it. Install texinfo, Perl/perl-podlators and python-sphinx Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20190711120609.12773-1-philmd@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
2019-07-23tests/docker: add test-misc for building tools & docsAlex Bennée1-0/+22
Add yet another test type so we cna quickly exercise the miscellaneous build products of the build system under various docer configurations. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-06-24ssh: switch from libssh2 to libsshPino Toscano5-7/+3
Rewrite the implementation of the ssh block driver to use libssh instead of libssh2. The libssh library has various advantages over libssh2: - easier API for authentication (for example for using ssh-agent) - easier API for known_hosts handling - supports newer types of keys in known_hosts Use APIs/features available in libssh 0.8 conditionally, to support older versions (which are not recommended though). Adjust the iotest 207 according to the different error message, and to find the default key type for localhost (to properly compare the fingerprint with). Contributed-by: Max Reitz <mreitz@redhat.com> Adjust the various Docker/Travis scripts to use libssh when available instead of libssh2. The mingw/mxe testing is dropped for now, as there are no packages for it. Signed-off-by: Pino Toscano <ptoscano@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Acked-by: Alex Bennée <alex.bennee@linaro.org> Message-id: 20190620200840.17655-1-ptoscano@redhat.com Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-id: 5873173.t2JhDm7DL7@lindworm.usersys.redhat.com Signed-off-by: Max Reitz <mreitz@redhat.com>
2019-06-12tests/docker: Update the Ubuntu image to 19.04Alex Bennée1-5/+14
This has aged a little and we have a separate LTS image for testing on the older distros. Update it to a more recent release like its Fedora cousin. Besides it is useful to have something with gcc-9 on it for squashing those stringop truncation errors. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
2019-06-12tests/docker: Update the Fedora cross compile images to 30Alex Bennée2-2/+2
While at it remove the bogus :latest tag for cris cross compiler. It tends to break caching and cause confusion. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-06-12tests/docker: Update the Fedora image to Fedora 30Philippe Mathieu-Daudé1-1/+1
Fedora 30 got released: https://fedoramagazine.org/announcing-fedora-30/ Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Tested-by: Stefano Garzarella <sgarzare@redhat.com> Reviewed-by: Stefano Garzarella <sgarzare@redhat.com> Message-Id: <20190528153304.27157-1-philmd@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-05-29tests: Fix up docker cross builds for ppc64 (BE) targetsDavid Gibson2-0/+12
We currently have docker cross building targets for powerpc (32-bit, BE) and ppc64el (64-bit, LE), but not for pcp64 (64-bit, BE). This is an irritating gap in make check-tcg coverage so correct it. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-05-28tests/docker: Test more components on the Fedora default imagePhilippe Mathieu-Daudé1-0/+7
Install optional dependencies of QEMU to get better coverage. The following components are now enabled: $ ./configure ... Multipath support yes VNC SASL support yes RDMA support yes PVRDMA support yes libiscsi support yes seccomp support yes libpmem support yes libudev yes Note: The udev-devel package is provided by systemd-devel. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20190504055440.20406-1-philmd@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Acked-by: Marcel Apfelbaum<marcel.apfelbaum@gmail.com>
2019-05-28tests/docker: add ubuntu 18.04Gerd Hoffmann1-0/+57
Based on the ubuntu.docker file. Used to reproduce the build failure Peter was seeing. Others might find this useful too ;) Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-Id: <20190503070241.24786-1-kraxel@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-03-25docker: trivial changes to `make docker` helpWainer dos Santos Moschetta1-3/+3
Apply double quotes and period punctuation uniformly. Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Message-Id: <20190321212528.6100-1-wainersm@redhat.com> Reviewed-by: Fam Zheng <fam@euphon.net> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-03-25docker: Fix travis script unable to find source dirWainer dos Santos Moschetta1-0/+1
The script generated from QEMU_SRC/.travis.yml uses BUILD_DIR and SRC_DIR path relative to the current dir, unless these variables are exported in environment. Since commit 05790dafef1 BUILD_DIR is exported in the runner script, although SRC_DIR is not, so that make docker-travis fails becase the reference to source dir is wrong. So let's unset both BUILD_DIR and SRC_DIR before calling the script, given it is executed from the source dir already (as in Travis). Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Message-Id: <20190320221207.11366-3-wainersm@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-03-25docker: Fix travis.py parser and misc changeWainer dos Santos Moschetta1-6/+5
Fixed the travis.py script that has failed to parse the current QEMU_SRC/.travis.yml file. It no longer makes combinations from env/matrix, instead it uses explicit includes. Also the compiler can be omitted from matrix/include, so that Travis chooses the first entry of the global compiler list. Replaced yaml.load() with yaml.safe_load() so that quieting the following deprecation warning: https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Message-Id: <20190320221207.11366-2-wainersm@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-03-12tests/tcg: enable cris base user-mode testsAlex Bennée1-0/+1
This converts the existing Makefile into a Makefile.target and updates it so it can be called by the tcg build system. The original Makefile didn't set -cpu except for the v17 tests however that has broken (I assume because linux-user is a "max" cpu) so here I force it to be crisv17. I've also replicated the GNU simulator targets (run-FOO-on-sim). Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-03-12tests/docker: add fedora-cris-cross compilersAlex Bennée1-0/+8
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-03-12tests/docker: add debian-xtensa-cross imagePhilippe Mathieu-Daudé1-0/+31
Xtensa cpu supported: - dc232b - dc233c - csp Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-02-22tests/docker: peg netmap code to a specific versionAlex Bennée1-0/+1
Tracking head is always going to be at the whims of the upstream. Let's use a defined release so things don't magically change under us. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
2019-02-22tests/docker: squash initial update and install step for debian9Alex Bennée1-2/+2
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-02-08tests: PEP8 cleanup of docker.py, mostly white spaceAlex Bennée1-13/+35
My editor keeps putting squiggly lines under a bunch of the python lines to remind me how non-PEP8 compliant it is. Clean that up so it's easier to spot new errors. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-02-08tests: docker.py be even smarter with persistent binfmt_miscAlex Bennée1-18/+38
If we have a persistent mapping we don't need the QEMU binary copied into the container as the kernel has already opened the file and will pass the fd in. However the support libraries will still need to be there. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-02-08tests: make docker.py check for persistent configsAlex Bennée1-0/+5
binfmt_misc configured with the "F" flag opens the interpreter at config time. This means it can use an already open file-descriptor to run QEMU so there is no point trying to copy the binary into a container. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-02-08tests: make docker.py update use configured binfmt pathAlex Bennée1-10/+15
When copying a QEMU binary into a linux-user docker image we should check what the current configured binfmt_misc path is rather than just assuming "/usr/bin/qemu-bin". Obviously if the user changes the configuration afterwards they will break their images again. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-02-08docker: add debian-buster-arm64-crossAlex Bennée3-0/+47
We can't build QEMU with this but we can use this image to build newer arm64 testcases which need more up to date tools. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-02-05docker: adjust Xen repository for CentOS 7Paolo Bonzini1-2/+3
The Xen repository is failing to install, pick the right name for the release package. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-02-04tests/docker/test-mingw and docs: Remove --with-sdlabi=2.0Thomas Huth1-2/+1
Patchew currently reports failures with the mingw docker test - this is due to --with-sdlabi=2.0 configure flag which does not exist anymore. Remove this remainder from the docker test and the docs now. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Acked-by: Alex Bennée <alex.bennee@linaro.org> Message-id: 1549268743-18502-1-git-send-email-thuth@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-01-14tests/docker: remove SID_AGE test hackAlex Bennée1-13/+0
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 <alex.bennee@linaro.org>
2019-01-14tests/docker: update our Travis imageAlex Bennée1-1/+1
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 <alex.bennee@linaro.org>
2019-01-14docker: Use a stable snapshot for Debian SidPhilippe Mathieu-Daudé1-1/+6
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é <philmd@redhat.com> [AJB: also tweak FROM to a earlier snapshot] Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-01-14tests: use in-place sed magic for enabling deb-src in travis imageAlex Bennée1-1/+1
This avoids potential problems with duplicates. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-01-14tests: update Fedora i386 cross image to Fedora 29Daniel P. Berrangé1-1/+1
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é <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-01-14tests: update Fedora dockerfile to use Fedora 29Daniel P. Berrangé1-2/+2
Fedora 29 is the current newest release, so switch to using that from the current Fedora 28. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-01-14tests: remove obsolete 'debian' dockerfileDaniel P. Berrangé1-13/+0
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é <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-01-14tests: run ldconfig after installing extra softwareDaniel P. Berrangé1-0/+2
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é <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-01-14docker: Use stable git tag for virglrendererPhilippe Mathieu-Daudé1-1/+2
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é <philmd@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-01-11test: replace gtester with a TAP driverPaolo Bonzini2-0/+2
gtester is deprecated by upstream glib (see for example the announcement at https://blog.gtk.org/2018/07/11/news-from-glib-2-58/) and it does not support tests that call g_test_skip in some glib stable releases. glib suggests instead using Automake's TAP support, which gtest itself supports since version 2.38 (QEMU's minimum requirement is 2.40). We do not support Automake, but we can use Automake's code to beautify the TAP output. I chose to use the Perl copy rather than the shell/awk one, with some changes so that it can accept TAP through stdin, in order to reuse Perl's TAP parsing package. This also avoids duplicating the parser between tap-driver.pl and tap-merge.pl. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <1543513531-1151-3-git-send-email-pbonzini@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-01-09docker: Use a stable snapshot for Debian SidPhilippe Mathieu-Daudé1-0/+4
The Debian Sid repository is not garanteed to be stable, as his 'unstable' name suggest :) To allow quick testing, Debian maintainers might push packages various time a day. Sometime package dependencies might break, which is annoying when using this repository 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é <philmd@redhat.com> Message-Id: <20181101183705.5422-1-philmd@redhat.com> Signed-off-by: Fam Zheng <famz@redhat.com>
2018-11-12docker: use HTTPS git URL for virglrendererStefan Hajnoczi1-1/+1
When you clone the repository without previous commit history, 'git://' doesn't protect from man-in-the-middle attacks. HTTPS is more secure since the client verifies the server certificate. Cc: Philippe Mathieu-Daudé <f4bug@amsat.org> Suggested-by: Eric Blake <eblake@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Message-id: 20181108111531.30671-9-stefanha@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>