All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH for 4.2 v2 00/17] testing/next
@ 2019-10-24 10:22 Alex Bennée
  2019-10-24 10:22 ` [PATCH v2 01/17] travis.yml: reduce scope of the --enable-debug build Alex Bennée
                   ` (16 more replies)
  0 siblings, 17 replies; 23+ messages in thread
From: Alex Bennée @ 2019-10-24 10:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, berrange, stefanb, Alex Bennée, richard.henderson,
	f4bug, cota, stefanha, marcandre.lureau, pbonzini, aurelien

Hi,

This is the current status of testing/next. I've dropped the iotests
as they should come in with the rest of the block patches. I've
included a few more stragglers including some docker tweaks. Currently
the following could do with review:

   07 - cirrus.yml reduce scope of MacOS build
   08 - travis.yml bump Xcode 10 to latest dot release
   09 - cirrus.yml add latest Xcode build target
   15 - travis.yml enable debug tcg to check tcg
   16 - tests docker set HOST_ARCH if we don t have ARCH
   17 - tests docker update Travis image to a more curren


Alex Bennée (8):
  travis.yml: reduce scope of the --enable-debug build
  cirrus.yml: reduce scope of MacOS build
  travis.yml: bump Xcode 10 to latest dot release
  cirrus.yml: add latest Xcode build target
  travis.yml: cache the clang sanitizer build
  travis.yml: --enable-debug-tcg to check-tcg
  tests/docker: set HOST_ARCH if we don't have ARCH
  tests/docker: update Travis image to a more current version

Eduardo Habkost (2):
  tests/vm: Let subclasses disable IPv6
  tests/vm/netbsd: Disable IPv6

Gerd Hoffmann (1):
  tests/vm: netbsd autoinstall, using serial console

Philippe Mathieu-Daudé (1):
  travis.yml: Test the release tarball

Thomas Huth (5):
  travis.yml: Add libvdeplug-dev to compile-test net/vde.c
  travis.yml: Use libsdl2 instead of libsdl1.2, and install
    libsdl2-image
  travis.yml: Use newer version of libgnutls and libpng
  travis.yml: Fix the ccache lines
  gitlab-ci.yml: Use libvdeplug-dev to compile-test the VDE network
    backend

 .cirrus.yml                            |  14 +-
 .gitlab-ci.yml                         |   2 +-
 .shippable.yml                         |   2 -
 .travis.yml                            |  50 +++++--
 tests/docker/Makefile.include          |   6 +-
 tests/docker/dockerfiles/travis.docker |   6 +-
 tests/vm/basevm.py                     |  15 +-
 tests/vm/netbsd                        | 195 +++++++++++++++++++++++--
 8 files changed, 259 insertions(+), 31 deletions(-)

-- 
2.20.1



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH v2 01/17] travis.yml: reduce scope of the --enable-debug build
  2019-10-24 10:22 [PATCH for 4.2 v2 00/17] testing/next Alex Bennée
@ 2019-10-24 10:22 ` Alex Bennée
  2019-10-24 10:22 ` [PATCH v2 02/17] travis.yml: Add libvdeplug-dev to compile-test net/vde.c Alex Bennée
                   ` (15 subsequent siblings)
  16 siblings, 0 replies; 23+ messages in thread
From: Alex Bennée @ 2019-10-24 10:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, berrange, stefanb, Alex Bennée, richard.henderson,
	f4bug, Philippe Mathieu-Daudé,
	cota, stefanha, marcandre.lureau, pbonzini, aurelien

Adding debug makes things run a bit slower so lets not hammer all the
targets.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
v2
  - drop superfluous --enable-debug-tcg in configure string
---
 .travis.yml | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index d0b9e099b9c..7d90b87540f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -124,12 +124,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"
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 02/17] travis.yml: Add libvdeplug-dev to compile-test net/vde.c
  2019-10-24 10:22 [PATCH for 4.2 v2 00/17] testing/next Alex Bennée
  2019-10-24 10:22 ` [PATCH v2 01/17] travis.yml: reduce scope of the --enable-debug build Alex Bennée
@ 2019-10-24 10:22 ` Alex Bennée
  2019-10-24 14:37   ` Philippe Mathieu-Daudé
  2019-10-24 10:22 ` [PATCH v2 03/17] travis.yml: Use libsdl2 instead of libsdl1.2, and install libsdl2-image Alex Bennée
                   ` (14 subsequent siblings)
  16 siblings, 1 reply; 23+ messages in thread
From: Alex Bennée @ 2019-10-24 10:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, Thomas Huth, berrange, stefanb, Alex Bennée,
	richard.henderson, f4bug, Philippe Mathieu-Daudé,
	cota, stefanha, marcandre.lureau, pbonzini, aurelien

From: Thomas Huth <thuth@redhat.com>

This library is needed to compile the VDE network backend.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20191009170701.14756-2-thuth@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 .travis.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.travis.yml b/.travis.yml
index 7d90b87540f..7be2a9949f5 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -46,6 +46,7 @@ addons:
       - libssh-dev
       - liburcu-dev
       - libusb-1.0-0-dev
+      - libvdeplug-dev
       - libvte-2.91-dev
       - sparse
       - uuid-dev
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH  v2 03/17] travis.yml: Use libsdl2 instead of libsdl1.2, and install libsdl2-image
  2019-10-24 10:22 [PATCH for 4.2 v2 00/17] testing/next Alex Bennée
  2019-10-24 10:22 ` [PATCH v2 01/17] travis.yml: reduce scope of the --enable-debug build Alex Bennée
  2019-10-24 10:22 ` [PATCH v2 02/17] travis.yml: Add libvdeplug-dev to compile-test net/vde.c Alex Bennée
@ 2019-10-24 10:22 ` Alex Bennée
  2019-10-24 10:22 ` [PATCH v2 04/17] travis.yml: Use newer version of libgnutls and libpng Alex Bennée
                   ` (13 subsequent siblings)
  16 siblings, 0 replies; 23+ messages in thread
From: Alex Bennée @ 2019-10-24 10:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, Thomas Huth, berrange, stefanb, Alex Bennée,
	richard.henderson, f4bug, Philippe Mathieu-Daudé,
	cota, stefanha, marcandre.lureau, pbonzini, aurelien

From: Thomas Huth <thuth@redhat.com>

We've removed support for SDL 1.2 quite a while ago already, so let's
use SDL 2 now in Travis to get test coverage for SDL again.
And while we're at it, also add libsdl2-image-dev which can be used
by QEMU nowadays, too.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20191009170701.14756-3-thuth@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 .travis.yml | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 7be2a9949f5..b446e04e8ae 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -39,7 +39,8 @@ addons:
       - libpixman-1-dev
       - libpng12-dev
       - librados-dev
-      - libsdl1.2-dev
+      - libsdl2-dev
+      - libsdl2-image-dev
       - libseccomp-dev
       - libspice-protocol-dev
       - libspice-server-dev
@@ -309,7 +310,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
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 04/17] travis.yml: Use newer version of libgnutls and libpng
  2019-10-24 10:22 [PATCH for 4.2 v2 00/17] testing/next Alex Bennée
                   ` (2 preceding siblings ...)
  2019-10-24 10:22 ` [PATCH v2 03/17] travis.yml: Use libsdl2 instead of libsdl1.2, and install libsdl2-image Alex Bennée
@ 2019-10-24 10:22 ` Alex Bennée
  2019-10-24 10:22 ` [PATCH v2 05/17] travis.yml: Fix the ccache lines Alex Bennée
                   ` (12 subsequent siblings)
  16 siblings, 0 replies; 23+ messages in thread
From: Alex Bennée @ 2019-10-24 10:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, Thomas Huth, berrange, stefanb, Alex Bennée,
	richard.henderson, f4bug, Philippe Mathieu-Daudé,
	cota, stefanha, marcandre.lureau, pbonzini, aurelien

From: Thomas Huth <thuth@redhat.com>

libgnutls-dev and libpng12-dev are not available in newer versions
of Ubuntu anymore, so installing these packages fails e.g. in the
new arm64 containers on Travis. Let's use newer versions of these
packages by default instead. (The old versions still get tested in
the "gcc-9" build).

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20191009170701.14756-4-thuth@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 .travis.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index b446e04e8ae..e65e53f3d7e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -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,7 +37,7 @@ addons:
       - libnfs-dev
       - libnss3-dev
       - libpixman-1-dev
-      - libpng12-dev
+      - libpng-dev
       - librados-dev
       - libsdl2-dev
       - libsdl2-image-dev
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH  v2 05/17] travis.yml: Fix the ccache lines
  2019-10-24 10:22 [PATCH for 4.2 v2 00/17] testing/next Alex Bennée
                   ` (3 preceding siblings ...)
  2019-10-24 10:22 ` [PATCH v2 04/17] travis.yml: Use newer version of libgnutls and libpng Alex Bennée
@ 2019-10-24 10:22 ` Alex Bennée
  2019-10-24 10:22 ` [PATCH v2 06/17] travis.yml: Test the release tarball Alex Bennée
                   ` (11 subsequent siblings)
  16 siblings, 0 replies; 23+ messages in thread
From: Alex Bennée @ 2019-10-24 10:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, Thomas Huth, berrange, stefanb, Philippe Mathieu-Daudé,
	richard.henderson, f4bug, Alex Bennée, cota, stefanha,
	marcandre.lureau, pbonzini, aurelien

From: Thomas Huth <thuth@redhat.com>

The "command -v ccache && ccache ..." likely were supposed to test
the availability of ccache before running the program. But this
shell construct causes Travis to abort if ccache is not available.
Use an if-statement instead to fix this problem.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20191009170701.14756-5-thuth@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 .travis.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index e65e53f3d7e..7e0d4ad2b31 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -91,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:
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH  v2 06/17] travis.yml: Test the release tarball
  2019-10-24 10:22 [PATCH for 4.2 v2 00/17] testing/next Alex Bennée
                   ` (4 preceding siblings ...)
  2019-10-24 10:22 ` [PATCH v2 05/17] travis.yml: Fix the ccache lines Alex Bennée
@ 2019-10-24 10:22 ` Alex Bennée
  2019-10-24 10:22 ` [PATCH v2 07/17] cirrus.yml: reduce scope of MacOS build Alex Bennée
                   ` (10 subsequent siblings)
  16 siblings, 0 replies; 23+ messages in thread
From: Alex Bennée @ 2019-10-24 10:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, berrange, stefanb, Philippe Mathieu-Daudé,
	richard.henderson, f4bug, Alex Bennée, cota, stefanha,
	marcandre.lureau, pbonzini, aurelien

From: Philippe Mathieu-Daudé <philmd@redhat.com>

Add a job to generate the release tarball and build/install few
QEMU targets from it.

Ideally we should build the 'efi' target from the 'roms' directory,
but it is too time consuming.

This job is only triggered when a tag starting with 'v' is pushed,
which is the case with release candidate tags.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20191007160450.3619-1-philmd@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 .travis.yml | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/.travis.yml b/.travis.yml
index 7e0d4ad2b31..f2b679fe701 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -343,3 +343,26 @@ matrix:
         - CONFIG="--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
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH  v2 07/17] cirrus.yml: reduce scope of MacOS build
  2019-10-24 10:22 [PATCH for 4.2 v2 00/17] testing/next Alex Bennée
                   ` (5 preceding siblings ...)
  2019-10-24 10:22 ` [PATCH v2 06/17] travis.yml: Test the release tarball Alex Bennée
@ 2019-10-24 10:22 ` Alex Bennée
  2019-10-24 10:22 ` [PATCH v2 08/17] travis.yml: bump Xcode 10 to latest dot release Alex Bennée
                   ` (9 subsequent siblings)
  16 siblings, 0 replies; 23+ messages in thread
From: Alex Bennée @ 2019-10-24 10:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, berrange, stefanb, Alex Bennée, richard.henderson,
	f4bug, Ed Maste, cota, stefanha, marcandre.lureau, pbonzini,
	Li-Wen Hsu, aurelien

The MacOS build can time out on Cirrus running to almost an hour.
Reduce the scope to the historical MacOS architectures much the same
way we do on Travis.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 .cirrus.yml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/.cirrus.yml b/.cirrus.yml
index 8326a3a4b16..4b042c0e12c 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -1,5 +1,6 @@
 env:
   CIRRUS_CLONE_DEPTH: 1
+  MACOS_ARCHES: i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu,x86_64-softmmu
 
 freebsd_12_task:
   freebsd_instance:
@@ -22,6 +23,6 @@ macos_task:
   install_script:
     - brew install pkg-config python gnu-sed glib pixman make sdl2
   script:
-    - ./configure --python=/usr/local/bin/python3 || { cat config.log; exit 1; }
+    - ./configure --python=/usr/local/bin/python3 --target-list=${MACOS_ARCHES} || { cat config.log; exit 1; }
     - gmake -j$(sysctl -n hw.ncpu)
     - gmake check -j$(sysctl -n hw.ncpu)
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH  v2 08/17] travis.yml: bump Xcode 10 to latest dot release
  2019-10-24 10:22 [PATCH for 4.2 v2 00/17] testing/next Alex Bennée
                   ` (6 preceding siblings ...)
  2019-10-24 10:22 ` [PATCH v2 07/17] cirrus.yml: reduce scope of MacOS build Alex Bennée
@ 2019-10-24 10:22 ` Alex Bennée
  2019-10-24 14:32   ` Philippe Mathieu-Daudé
  2019-10-24 10:22 ` [PATCH v2 09/17] cirrus.yml: add latest Xcode build target Alex Bennée
                   ` (8 subsequent siblings)
  16 siblings, 1 reply; 23+ messages in thread
From: Alex Bennée @ 2019-10-24 10:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, berrange, stefanb, Alex Bennée, richard.henderson,
	f4bug, Philippe Mathieu-Daudé,
	cota, stefanha, marcandre.lureau, pbonzini, aurelien

According to:

  https://docs.travis-ci.com/user/reference/osx/#macos-version

we have 10.3 available so lets use it. I don't know what Apple's
deprecation policy is for Xcode because it requires an AppleID to find
out.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.travis.yml b/.travis.yml
index f2b679fe701..da6a2063fca 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -247,7 +247,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
 
 
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH  v2 09/17] cirrus.yml: add latest Xcode build target
  2019-10-24 10:22 [PATCH for 4.2 v2 00/17] testing/next Alex Bennée
                   ` (7 preceding siblings ...)
  2019-10-24 10:22 ` [PATCH v2 08/17] travis.yml: bump Xcode 10 to latest dot release Alex Bennée
@ 2019-10-24 10:22 ` Alex Bennée
  2019-10-24 10:22 ` [PATCH v2 10/17] tests/vm: netbsd autoinstall, using serial console Alex Bennée
                   ` (7 subsequent siblings)
  16 siblings, 0 replies; 23+ messages in thread
From: Alex Bennée @ 2019-10-24 10:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, berrange, stefanb, Alex Bennée, richard.henderson,
	f4bug, Ed Maste, cota, stefanha, marcandre.lureau, pbonzini,
	Li-Wen Hsu, aurelien

CirrusCI provides a mojave-xcode alias for the latest Xcode available.
Let's use it to make sure we track the latest releases.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 .cirrus.yml | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/.cirrus.yml b/.cirrus.yml
index 4b042c0e12c..59146a89c83 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -26,3 +26,14 @@ macos_task:
     - ./configure --python=/usr/local/bin/python3 --target-list=${MACOS_ARCHES} || { 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 --target-list=${MACOS_ARCHES} || { cat config.log; exit 1; }
+    - gmake -j$(sysctl -n hw.ncpu)
+    - gmake check -j$(sysctl -n hw.ncpu)
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH  v2 10/17] tests/vm: netbsd autoinstall, using serial console
  2019-10-24 10:22 [PATCH for 4.2 v2 00/17] testing/next Alex Bennée
                   ` (8 preceding siblings ...)
  2019-10-24 10:22 ` [PATCH v2 09/17] cirrus.yml: add latest Xcode build target Alex Bennée
@ 2019-10-24 10:22 ` Alex Bennée
  2019-10-24 10:22 ` [PATCH v2 11/17] tests/vm: Let subclasses disable IPv6 Alex Bennée
                   ` (6 subsequent siblings)
  16 siblings, 0 replies; 23+ messages in thread
From: Alex Bennée @ 2019-10-24 10:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, Thomas Huth, berrange, Eduardo Habkost, stefanb,
	Alex Bennée, richard.henderson, f4bug,
	Philippe Mathieu-Daudé,
	Kamil Rytarowski, cota, Gerd Hoffmann, stefanha,
	marcandre.lureau, pbonzini, Kamil Rytarowski, aurelien

From: Gerd Hoffmann <kraxel@redhat.com>

Instead of fetching the prebuilt image from patchew download the install
iso and prepare the image locally.  Install to disk, using the serial
console.  Create qemu user, configure ssh login.  Install packages
needed for qemu builds.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Kamil Rytarowski <n54@gmx.com>
Tested-by: Thomas Huth <thuth@redhat.com>
[ehabkost: rebased to latest qemu.git master]
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <20191018181705.17957-2-ehabkost@redhat.com>
[AJB: add sha512sum, rm path check]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 tests/vm/basevm.py |  10 ++-
 tests/vm/netbsd    | 188 ++++++++++++++++++++++++++++++++++++++++++---
 2 files changed, 186 insertions(+), 12 deletions(-)

diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py
index b5d1479bee9..4921e47f9f2 100755
--- a/tests/vm/basevm.py
+++ b/tests/vm/basevm.py
@@ -92,19 +92,25 @@ class BaseVM(object):
             logging.info("KVM not available, not using -enable-kvm")
         self._data_args = []
 
-    def _download_with_cache(self, url, sha256sum=None):
+    def _download_with_cache(self, url, sha256sum=None, sha512sum=None):
         def check_sha256sum(fname):
             if not sha256sum:
                 return True
             checksum = subprocess.check_output(["sha256sum", fname]).split()[0]
             return sha256sum == checksum.decode("utf-8")
 
+        def check_sha512sum(fname):
+            if not sha512sum:
+                return True
+            checksum = subprocess.check_output(["sha512sum", fname]).split()[0]
+            return sha512sum == checksum.decode("utf-8")
+
         cache_dir = os.path.expanduser("~/.cache/qemu-vm/download")
         if not os.path.exists(cache_dir):
             os.makedirs(cache_dir)
         fname = os.path.join(cache_dir,
                              hashlib.sha1(url.encode("utf-8")).hexdigest())
-        if os.path.exists(fname) and check_sha256sum(fname):
+        if os.path.exists(fname) and check_sha256sum(fname) and check_sha512sum(fname):
             return fname
         logging.debug("Downloading %s to %s...", url, fname)
         subprocess.check_call(["wget", "-c", url, "-O", fname + ".download"],
diff --git a/tests/vm/netbsd b/tests/vm/netbsd
index ee9eaeab504..9558a672efa 100755
--- a/tests/vm/netbsd
+++ b/tests/vm/netbsd
@@ -2,10 +2,11 @@
 #
 # NetBSD VM image
 #
-# Copyright 2017 Red Hat Inc.
+# Copyright 2017-2019 Red Hat Inc.
 #
 # Authors:
 #  Fam Zheng <famz@redhat.com>
+#  Gerd Hoffmann <kraxel@redhat.com>
 #
 # This code is licensed under the GPL version 2 or later.  See
 # the COPYING file in the top-level directory.
@@ -13,30 +14,197 @@
 
 import os
 import sys
+import time
 import subprocess
 import basevm
 
 class NetBSDVM(basevm.BaseVM):
     name = "netbsd"
     arch = "x86_64"
+
+    link = "https://cdn.netbsd.org/pub/NetBSD/NetBSD-8.1/images/NetBSD-8.1-amd64.iso"
+    csum = "718f275b7e0879599bdac95630c5e3f2184700032fdb6cdebf3bdd63687898c48ff3f08f57b89f4437a86cdd8ea07c01a39d432dbb37e1e4b008f4985f98da3f"
+    size = "20G"
+    pkgs = [
+        # tools
+        "git-base",
+        "pkgconf",
+        "xz",
+        "python37",
+
+        # gnu tools
+        "bash",
+        "gmake",
+        "gsed",
+        "flex", "bison",
+
+        # libs: crypto
+        "gnutls",
+
+        # libs: images
+        "jpeg",
+        "png",
+
+	# libs: ui
+        "SDL2",
+        "gtk3+",
+        "libxkbcommon",
+    ]
+
     BUILD_SCRIPT = """
         set -e;
-        rm -rf /var/tmp/qemu-test.*
-        cd $(mktemp -d /var/tmp/qemu-test.XXXXXX);
+        rm -rf /home/qemu/qemu-test.*
+        cd $(mktemp -d /home/qemu/qemu-test.XXXXXX);
+        mkdir src build; cd src;
         tar -xf /dev/rld1a;
-        ./configure --python=python2.7 {configure_opts};
+        cd ../build
+        ../src/configure --python=python3.7 --disable-opengl {configure_opts};
         gmake --output-sync -j{jobs} {target} {verbose};
     """
+    poweroff = "/sbin/poweroff"
 
     def build_image(self, img):
-        cimg = self._download_with_cache("http://download.patchew.org/netbsd-7.1-amd64.img.xz",
-                                         sha256sum='b633d565b0eac3d02015cd0c81440bd8a7a8df8512615ac1ee05d318be015732')
-        img_tmp_xz = img + ".tmp.xz"
+        cimg = self._download_with_cache(self.link, sha512sum=self.csum)
         img_tmp = img + ".tmp"
-        sys.stderr.write("Extracting the image...\n")
-        subprocess.check_call(["ln", "-f", cimg, img_tmp_xz])
-        subprocess.check_call(["xz", "--keep", "-dvf", img_tmp_xz])
+        iso = img + ".install.iso"
+
+        self.print_step("Preparing iso and disk image")
+        subprocess.check_call(["ln", "-f", cimg, iso])
+        subprocess.check_call(["qemu-img", "create", "-f", "qcow2",
+                               img_tmp, self.size])
+
+        self.print_step("Booting installer")
+        self.boot(img_tmp, extra_args = [
+            "-bios", "pc-bios/bios-256k.bin",
+            "-machine", "graphics=off",
+            "-cdrom", iso
+        ])
+        self.console_init()
+        self.console_wait("Primary Bootstrap")
+
+        # serial console boot menu output doesn't work for some
+        # reason, so we have to fly blind ...
+        for char in list("5consdev com0\n"):
+            time.sleep(0.2)
+            self.console_send(char)
+            self.console_wait("")
+        self.console_wait_send("> ", "boot\n")
+
+        self.console_wait_send("Terminal type",            "xterm\n")
+        self.console_wait_send("a: Installation messages", "a\n")
+        self.console_wait_send("b: US-English",            "b\n")
+        self.console_wait_send("a: Install NetBSD",        "a\n")
+        self.console_wait("Shall we continue?")
+        self.console_wait_send("b: Yes",                   "b\n")
+
+        self.console_wait_send("a: ld0",                   "a\n")
+        self.console_wait_send("a: This is the correct",   "a\n")
+        self.console_wait_send("b: Use the entire disk",   "b\n")
+        self.console_wait("NetBSD bootcode")
+        self.console_wait_send("a: Yes",                   "a\n")
+        self.console_wait_send("b: Use existing part",     "b\n")
+        self.console_wait_send("x: Partition sizes ok",    "x\n")
+        self.console_wait_send("for your NetBSD disk",     "\n")
+        self.console_wait("Shall we continue?")
+        self.console_wait_send("b: Yes",                   "b\n")
+
+        self.console_wait_send("b: Use serial port com0",  "b\n")
+        self.console_wait_send("f: Set serial baud rate",  "f\n")
+        self.console_wait_send("a: 9600",                  "a\n")
+        self.console_wait_send("x: Exit",                  "x\n")
+
+        self.console_wait_send("a: Full installation",     "a\n")
+        self.console_wait_send("a: CD-ROM",                "a\n")
+
+        self.print_step("Installation started now, this will take a while")
+        self.console_wait_send("Hit enter to continue",    "\n")
+
+        self.console_wait_send("d: Change root password",  "d\n")
+        self.console_wait_send("a: Yes",                   "a\n")
+        self.console_wait("New password:")
+        self.console_send("%s\n" % self.ROOT_PASS)
+        self.console_wait("New password:")
+        self.console_send("%s\n" % self.ROOT_PASS)
+        self.console_wait("Retype new password:")
+        self.console_send("%s\n" % self.ROOT_PASS)
+
+        self.console_wait_send("o: Add a user",            "o\n")
+        self.console_wait("username")
+        self.console_send("%s\n" % self.GUEST_USER)
+        self.console_wait("to group wheel")
+        self.console_wait_send("a: Yes",                   "a\n")
+        self.console_wait_send("a: /bin/sh",               "a\n")
+        self.console_wait("New password:")
+        self.console_send("%s\n" % self.GUEST_PASS)
+        self.console_wait("New password:")
+        self.console_send("%s\n" % self.GUEST_PASS)
+        self.console_wait("Retype new password:")
+        self.console_send("%s\n" % self.GUEST_PASS)
+
+        self.console_wait_send("a: Configure network",     "a\n")
+        self.console_wait_send("a: vioif0",                "a\n")
+        self.console_wait_send("Network media type",       "\n")
+        self.console_wait("autoconfiguration")
+        self.console_wait_send("a: Yes",                   "a\n")
+        self.console_wait_send("DNS domain",               "localnet\n")
+        self.console_wait("Are they OK?")
+        self.console_wait_send("a: Yes",                   "a\n")
+        self.console_wait("installed in /etc")
+        self.console_wait_send("a: Yes",                   "a\n")
+
+        self.console_wait_send("e: Enable install",        "e\n")
+        proxy = os.environ.get("http_proxy")
+        if not proxy is None:
+            self.console_wait_send("f: Proxy",             "f\n")
+            self.console_wait("Proxy")
+            self.console_send("%s\n" % proxy)
+        self.console_wait_send("x: Install pkgin",         "x\n")
+        self.console_init(1200)
+        self.console_wait_send("Hit enter to continue", "\n")
+        self.console_init()
+
+        self.console_wait_send("g: Enable sshd",           "g\n")
+        self.console_wait_send("x: Finished conf",         "x\n")
+        self.console_wait_send("Hit enter to continue",    "\n")
+
+        self.print_step("Installation finished, rebooting")
+        self.console_wait_send("d: Reboot the computer",   "d\n")
+
+        # setup qemu user
+        prompt = "localhost$"
+        self.console_ssh_init(prompt, self.GUEST_USER, self.GUEST_PASS)
+        self.console_wait_send(prompt, "exit\n")
+
+        # setup root user
+        prompt = "localhost#"
+        self.console_ssh_init(prompt, "root", self.ROOT_PASS)
+        self.console_sshd_config(prompt)
+
+        # setup virtio-blk #1 (tarfile)
+        self.console_wait(prompt)
+        self.console_send("echo 'chmod 666 /dev/rld1a' >> /etc/rc.local\n")
+
+        # turn off mprotect (conflicts with tcg)
+        self.console_wait(prompt)
+        self.console_send("echo security.pax.mprotect.enabled=0 >> /etc/sysctl.conf\n")
+
+        self.print_step("Configuration finished, rebooting")
+        self.console_wait_send(prompt, "reboot\n")
+        self.console_wait("login:")
+        self.wait_ssh()
+
+        self.print_step("Installing packages")
+        self.ssh_root_check("pkgin update\n")
+        self.ssh_root_check("pkgin -y install %s\n" % " ".join(self.pkgs))
+
+        # shutdown
+        self.ssh_root(self.poweroff)
+        self.console_wait("entering state S5")
+        self.wait()
+
         os.rename(img_tmp, img)
+        os.remove(iso)
+        self.print_step("All done")
 
 if __name__ == "__main__":
     sys.exit(basevm.main(NetBSDVM))
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH  v2 11/17] tests/vm: Let subclasses disable IPv6
  2019-10-24 10:22 [PATCH for 4.2 v2 00/17] testing/next Alex Bennée
                   ` (9 preceding siblings ...)
  2019-10-24 10:22 ` [PATCH v2 10/17] tests/vm: netbsd autoinstall, using serial console Alex Bennée
@ 2019-10-24 10:22 ` Alex Bennée
  2019-10-24 10:22 ` [PATCH v2 12/17] tests/vm/netbsd: Disable IPv6 Alex Bennée
                   ` (5 subsequent siblings)
  16 siblings, 0 replies; 23+ messages in thread
From: Alex Bennée @ 2019-10-24 10:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, Thomas Huth, berrange, Eduardo Habkost, stefanb,
	Philippe Mathieu-Daudé,
	richard.henderson, f4bug, Alex Bennée, cota, stefanha,
	marcandre.lureau, pbonzini, aurelien

From: Eduardo Habkost <ehabkost@redhat.com>

The mechanism will be used to work around issues related to IPv6
on the netbsd image builder.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20191018181705.17957-3-ehabkost@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 tests/vm/basevm.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py
index 4921e47f9f2..59bd1d31fbe 100755
--- a/tests/vm/basevm.py
+++ b/tests/vm/basevm.py
@@ -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:
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH  v2 12/17] tests/vm/netbsd: Disable IPv6
  2019-10-24 10:22 [PATCH for 4.2 v2 00/17] testing/next Alex Bennée
                   ` (10 preceding siblings ...)
  2019-10-24 10:22 ` [PATCH v2 11/17] tests/vm: Let subclasses disable IPv6 Alex Bennée
@ 2019-10-24 10:22 ` Alex Bennée
  2019-10-24 10:22 ` [PATCH v2 13/17] travis.yml: cache the clang sanitizer build Alex Bennée
                   ` (4 subsequent siblings)
  16 siblings, 0 replies; 23+ messages in thread
From: Alex Bennée @ 2019-10-24 10:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, Thomas Huth, berrange, Eduardo Habkost, stefanb,
	Alex Bennée, richard.henderson, f4bug,
	Philippe Mathieu-Daudé,
	Kamil Rytarowski, cota, stefanha, marcandre.lureau, pbonzini,
	aurelien

From: Eduardo Habkost <ehabkost@redhat.com>

Workaround for issues when the host has no IPv6 connectivity.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20191018181705.17957-4-ehabkost@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 tests/vm/netbsd | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/tests/vm/netbsd b/tests/vm/netbsd
index 9558a672efa..d4dd1929f2d 100755
--- a/tests/vm/netbsd
+++ b/tests/vm/netbsd
@@ -63,6 +63,13 @@ class NetBSDVM(basevm.BaseVM):
     """
     poweroff = "/sbin/poweroff"
 
+    # 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(self.link, sha512sum=self.csum)
         img_tmp = img + ".tmp"
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH  v2 13/17] travis.yml: cache the clang sanitizer build
  2019-10-24 10:22 [PATCH for 4.2 v2 00/17] testing/next Alex Bennée
                   ` (11 preceding siblings ...)
  2019-10-24 10:22 ` [PATCH v2 12/17] tests/vm/netbsd: Disable IPv6 Alex Bennée
@ 2019-10-24 10:22 ` Alex Bennée
  2019-10-24 10:22 ` [PATCH v2 14/17] gitlab-ci.yml: Use libvdeplug-dev to compile-test the VDE network backend Alex Bennée
                   ` (3 subsequent siblings)
  16 siblings, 0 replies; 23+ messages in thread
From: Alex Bennée @ 2019-10-24 10:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, berrange, stefanb, Alex Bennée, richard.henderson,
	f4bug, Philippe Mathieu-Daudé,
	cota, stefanha, marcandre.lureau, pbonzini, aurelien

Hopefully we'll see the same benefits as the other builds.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .travis.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.travis.yml b/.travis.yml
index da6a2063fca..c43597f1331 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -189,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; }
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 14/17] gitlab-ci.yml: Use libvdeplug-dev to compile-test the VDE network backend
  2019-10-24 10:22 [PATCH for 4.2 v2 00/17] testing/next Alex Bennée
                   ` (12 preceding siblings ...)
  2019-10-24 10:22 ` [PATCH v2 13/17] travis.yml: cache the clang sanitizer build Alex Bennée
@ 2019-10-24 10:22 ` Alex Bennée
  2019-10-24 10:22 ` [PATCH v2 15/17] travis.yml: --enable-debug-tcg to check-tcg Alex Bennée
                   ` (2 subsequent siblings)
  16 siblings, 0 replies; 23+ messages in thread
From: Alex Bennée @ 2019-10-24 10:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, Thomas Huth, berrange, stefanb, Alex Bennée,
	richard.henderson, f4bug, cota, stefanha, marcandre.lureau,
	pbonzini, aurelien

From: Thomas Huth <thuth@redhat.com>

The libvdeplug-dev package is required to compile-test net/vde.c.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20191016131002.29663-1-thuth@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ed8067f5cf9..be57c6a454a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -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"
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH  v2 15/17] travis.yml: --enable-debug-tcg to check-tcg
  2019-10-24 10:22 [PATCH for 4.2 v2 00/17] testing/next Alex Bennée
                   ` (13 preceding siblings ...)
  2019-10-24 10:22 ` [PATCH v2 14/17] gitlab-ci.yml: Use libvdeplug-dev to compile-test the VDE network backend Alex Bennée
@ 2019-10-24 10:22 ` Alex Bennée
  2019-10-24 14:33   ` Philippe Mathieu-Daudé
  2019-10-24 10:22 ` [PATCH v2 16/17] tests/docker: set HOST_ARCH if we don't have ARCH Alex Bennée
  2019-10-24 10:22 ` [PATCH v2 17/17] tests/docker: update Travis image to a more current version Alex Bennée
  16 siblings, 1 reply; 23+ messages in thread
From: Alex Bennée @ 2019-10-24 10:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, berrange, stefanb, Alex Bennée, richard.henderson,
	f4bug, Philippe Mathieu-Daudé,
	cota, stefanha, marcandre.lureau, pbonzini, aurelien

This adds a whole bunch of asserts which will catch bugs you might
introduce into the TCG code.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 .travis.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index c43597f1331..ba3a8d4cfc9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -334,14 +334,14 @@ 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"
 
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH  v2 16/17] tests/docker: set HOST_ARCH if we don't have ARCH
  2019-10-24 10:22 [PATCH for 4.2 v2 00/17] testing/next Alex Bennée
                   ` (14 preceding siblings ...)
  2019-10-24 10:22 ` [PATCH v2 15/17] travis.yml: --enable-debug-tcg to check-tcg Alex Bennée
@ 2019-10-24 10:22 ` Alex Bennée
  2019-10-24 10:22 ` [PATCH v2 17/17] tests/docker: update Travis image to a more current version Alex Bennée
  16 siblings, 0 replies; 23+ messages in thread
From: Alex Bennée @ 2019-10-24 10:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, berrange, stefanb, Alex Bennée, richard.henderson,
	f4bug, Philippe Mathieu-Daudé,
	cota, stefanha, marcandre.lureau, pbonzini, aurelien

As the docker rules want to be able to be run on a virgin unconfigured
checkout add a fallback and use it if we need to.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 .shippable.yml                | 2 --
 tests/docker/Makefile.include | 6 ++++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/.shippable.yml b/.shippable.yml
index bbc6f88510f..f74a3de3ffd 100644
--- a/.shippable.yml
+++ b/.shippable.yml
@@ -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
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 89c56a3a88c..19dbe261699 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -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
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 17/17] tests/docker: update Travis image to a more current version
  2019-10-24 10:22 [PATCH for 4.2 v2 00/17] testing/next Alex Bennée
                   ` (15 preceding siblings ...)
  2019-10-24 10:22 ` [PATCH v2 16/17] tests/docker: set HOST_ARCH if we don't have ARCH Alex Bennée
@ 2019-10-24 10:22 ` Alex Bennée
  16 siblings, 0 replies; 23+ messages in thread
From: Alex Bennée @ 2019-10-24 10:22 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, berrange, stefanb, Alex Bennée, richard.henderson,
	f4bug, Philippe Mathieu-Daudé,
	cota, stefanha, marcandre.lureau, pbonzini, aurelien

This isn't the latest one available on hub.docker.com but it does
match the ID reported by the Xenial builds running on Travis:

  instance: ... travis-ci-sardonyx-xenial-1553530528-f909ac5

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 tests/docker/dockerfiles/travis.docker | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tests/docker/dockerfiles/travis.docker b/tests/docker/dockerfiles/travis.docker
index ea14da29d97..e8eb48dccfd 100644
--- a/tests/docker/dockerfiles/travis.docker
+++ b/tests/docker/dockerfiles/travis.docker
@@ -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
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 08/17] travis.yml: bump Xcode 10 to latest dot release
  2019-10-24 10:22 ` [PATCH v2 08/17] travis.yml: bump Xcode 10 to latest dot release Alex Bennée
@ 2019-10-24 14:32   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-10-24 14:32 UTC (permalink / raw)
  To: Alex Bennée, qemu-devel
  Cc: fam, berrange, stefanb, richard.henderson, f4bug, cota, stefanha,
	marcandre.lureau, pbonzini, aurelien

On 10/24/19 12:22 PM, Alex Bennée wrote:
> According to:
> 
>    https://docs.travis-ci.com/user/reference/osx/#macos-version
> 
> we have 10.3 available so lets use it. I don't know what Apple's
> deprecation policy is for Xcode because it requires an AppleID to find
> out.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>   .travis.yml | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/.travis.yml b/.travis.yml
> index f2b679fe701..da6a2063fca 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -247,7 +247,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
>   
>   
> 

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 15/17] travis.yml: --enable-debug-tcg to check-tcg
  2019-10-24 10:22 ` [PATCH v2 15/17] travis.yml: --enable-debug-tcg to check-tcg Alex Bennée
@ 2019-10-24 14:33   ` Philippe Mathieu-Daudé
  2019-10-24 14:34     ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-10-24 14:33 UTC (permalink / raw)
  To: Alex Bennée, qemu-devel
  Cc: fam, berrange, stefanb, richard.henderson, f4bug, cota, stefanha,
	marcandre.lureau, pbonzini, aurelien

On 10/24/19 12:22 PM, Alex Bennée wrote:
> This adds a whole bunch of asserts which will catch bugs you might
> introduce into the TCG code.

Very good idea.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>   .travis.yml | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/.travis.yml b/.travis.yml
> index c43597f1331..ba3a8d4cfc9 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -334,14 +334,14 @@ 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"
>   
> 


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 15/17] travis.yml: --enable-debug-tcg to check-tcg
  2019-10-24 14:33   ` Philippe Mathieu-Daudé
@ 2019-10-24 14:34     ` Philippe Mathieu-Daudé
  2019-10-24 16:07       ` Alex Bennée
  0 siblings, 1 reply; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-10-24 14:34 UTC (permalink / raw)
  To: Alex Bennée, QEMU Developers
  Cc: Fam Zheng, Daniel P. Berrangé,
	Stefan Berger, Richard Henderson, Philippe Mathieu-Daudé,
	Emilio G. Cota, Stefan Hajnoczi, Marc-André Lureau,
	Paolo Bonzini, Aurelien Jarno

On Thu, Oct 24, 2019 at 4:33 PM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
> On 10/24/19 12:22 PM, Alex Bennée wrote:
> > This adds a whole bunch of asserts which will catch bugs you might
> > introduce into the TCG code.
>
> Very good idea.
>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>
> >
> > Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> > ---
> >   .travis.yml | 4 ++--
> >   1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/.travis.yml b/.travis.yml
> > index c43597f1331..ba3a8d4cfc9 100644
> > --- a/.travis.yml
> > +++ b/.travis.yml
> > @@ -334,14 +334,14 @@ 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"

Hmm maybe we should change the ccache name now...

CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg"?

> >
> >
> >       # 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"

Here too.


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 02/17] travis.yml: Add libvdeplug-dev to compile-test net/vde.c
  2019-10-24 10:22 ` [PATCH v2 02/17] travis.yml: Add libvdeplug-dev to compile-test net/vde.c Alex Bennée
@ 2019-10-24 14:37   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 23+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-10-24 14:37 UTC (permalink / raw)
  To: Alex Bennée, qemu-devel
  Cc: fam, Thomas Huth, berrange, stefanb, richard.henderson, f4bug,
	cota, stefanha, marcandre.lureau, pbonzini, aurelien

On 10/24/19 12:22 PM, Alex Bennée wrote:
> From: Thomas Huth <thuth@redhat.com>
> 
> This library is needed to compile the VDE network backend.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> Message-Id: <20191009170701.14756-2-thuth@redhat.com>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>   .travis.yml | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/.travis.yml b/.travis.yml
> index 7d90b87540f..7be2a9949f5 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -46,6 +46,7 @@ addons:
>         - libssh-dev
>         - liburcu-dev
>         - libusb-1.0-0-dev
> +      - libvdeplug-dev
>         - libvte-2.91-dev
>         - sparse
>         - uuid-dev
> 

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 15/17] travis.yml: --enable-debug-tcg to check-tcg
  2019-10-24 14:34     ` Philippe Mathieu-Daudé
@ 2019-10-24 16:07       ` Alex Bennée
  0 siblings, 0 replies; 23+ messages in thread
From: Alex Bennée @ 2019-10-24 16:07 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Daniel P. Berrangé,
	Stefan Berger, Richard Henderson, QEMU Developers,
	Philippe Mathieu-Daudé,
	Emilio G. Cota, Stefan Hajnoczi, Marc-André Lureau,
	Paolo Bonzini, Aurelien Jarno


Philippe Mathieu-Daudé <philmd@redhat.com> writes:

> On Thu, Oct 24, 2019 at 4:33 PM Philippe Mathieu-Daudé
> <philmd@redhat.com> wrote:
>> On 10/24/19 12:22 PM, Alex Bennée wrote:
>> > This adds a whole bunch of asserts which will catch bugs you might
>> > introduce into the TCG code.
>>
>> Very good idea.
>>
>> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>
>> >
>> > Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> > ---
>> >   .travis.yml | 4 ++--
>> >   1 file changed, 2 insertions(+), 2 deletions(-)
>> >
>> > diff --git a/.travis.yml b/.travis.yml
>> > index c43597f1331..ba3a8d4cfc9 100644
>> > --- a/.travis.yml
>> > +++ b/.travis.yml
>> > @@ -334,14 +334,14 @@ 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"
>
> Hmm maybe we should change the ccache name now...
>
> CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-debug-tcg"?

I've sent a patch that applies to my currently brewing PR.

>
>> >
>> >
>> >       # 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"
>
> Here too.


--
Alex Bennée


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2019-10-24 16:44 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-24 10:22 [PATCH for 4.2 v2 00/17] testing/next Alex Bennée
2019-10-24 10:22 ` [PATCH v2 01/17] travis.yml: reduce scope of the --enable-debug build Alex Bennée
2019-10-24 10:22 ` [PATCH v2 02/17] travis.yml: Add libvdeplug-dev to compile-test net/vde.c Alex Bennée
2019-10-24 14:37   ` Philippe Mathieu-Daudé
2019-10-24 10:22 ` [PATCH v2 03/17] travis.yml: Use libsdl2 instead of libsdl1.2, and install libsdl2-image Alex Bennée
2019-10-24 10:22 ` [PATCH v2 04/17] travis.yml: Use newer version of libgnutls and libpng Alex Bennée
2019-10-24 10:22 ` [PATCH v2 05/17] travis.yml: Fix the ccache lines Alex Bennée
2019-10-24 10:22 ` [PATCH v2 06/17] travis.yml: Test the release tarball Alex Bennée
2019-10-24 10:22 ` [PATCH v2 07/17] cirrus.yml: reduce scope of MacOS build Alex Bennée
2019-10-24 10:22 ` [PATCH v2 08/17] travis.yml: bump Xcode 10 to latest dot release Alex Bennée
2019-10-24 14:32   ` Philippe Mathieu-Daudé
2019-10-24 10:22 ` [PATCH v2 09/17] cirrus.yml: add latest Xcode build target Alex Bennée
2019-10-24 10:22 ` [PATCH v2 10/17] tests/vm: netbsd autoinstall, using serial console Alex Bennée
2019-10-24 10:22 ` [PATCH v2 11/17] tests/vm: Let subclasses disable IPv6 Alex Bennée
2019-10-24 10:22 ` [PATCH v2 12/17] tests/vm/netbsd: Disable IPv6 Alex Bennée
2019-10-24 10:22 ` [PATCH v2 13/17] travis.yml: cache the clang sanitizer build Alex Bennée
2019-10-24 10:22 ` [PATCH v2 14/17] gitlab-ci.yml: Use libvdeplug-dev to compile-test the VDE network backend Alex Bennée
2019-10-24 10:22 ` [PATCH v2 15/17] travis.yml: --enable-debug-tcg to check-tcg Alex Bennée
2019-10-24 14:33   ` Philippe Mathieu-Daudé
2019-10-24 14:34     ` Philippe Mathieu-Daudé
2019-10-24 16:07       ` Alex Bennée
2019-10-24 10:22 ` [PATCH v2 16/17] tests/docker: set HOST_ARCH if we don't have ARCH Alex Bennée
2019-10-24 10:22 ` [PATCH v2 17/17] tests/docker: update Travis image to a more current version Alex Bennée

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.