qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH for 4.2 v1 00/19] testing/next before softfreeze
@ 2019-10-22 19:16 Alex Bennée
  2019-10-22 19:16 ` [PATCH v1 01/19] travis.yml: reduce scope of the --enable-debug build Alex Bennée
                   ` (20 more replies)
  0 siblings, 21 replies; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 19:16 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 dropped the Travis arm64
build due to stability concerns. As far as I can tell Thomas' latest
iotest updates are working fine. If there are any other patches worth
considering before the softfreeze now is the time to shout.

Alex Bennée (5):
  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

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

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

John Snow (1):
  iotests: remove 'linux' from default supported platforms

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

Thomas Huth (9):
  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
  iotests: Test 041 only works on certain systems
  iotests: Test 183 does not work on macOS and OpenBSD
  iotests: Skip "make check-block" if QEMU does not support virtio-blk
  iotests: Enable more tests in the 'auto' group to improve test
    coverage
  iotests: Remove 130 from the "auto" group

 .cirrus.yml                   |  14 ++-
 .travis.yml                   |  46 ++++++--
 tests/check-block.sh          |  16 ++-
 tests/qemu-iotests/041        |   3 +-
 tests/qemu-iotests/183        |   1 +
 tests/qemu-iotests/group      |  18 ++--
 tests/qemu-iotests/iotests.py |  16 ++-
 tests/vm/basevm.py            |  15 ++-
 tests/vm/netbsd               | 195 ++++++++++++++++++++++++++++++++--
 9 files changed, 285 insertions(+), 39 deletions(-)

-- 
2.20.1



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

* [PATCH v1 01/19] travis.yml: reduce scope of the --enable-debug build
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
@ 2019-10-22 19:16 ` Alex Bennée
  2019-10-22 19:16 ` [PATCH v1 02/19] travis.yml: Add libvdeplug-dev to compile-test net/vde.c Alex Bennée
                   ` (19 subsequent siblings)
  20 siblings, 0 replies; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 19:16 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] 34+ messages in thread

* [PATCH v1 02/19] travis.yml: Add libvdeplug-dev to compile-test net/vde.c
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
  2019-10-22 19:16 ` [PATCH v1 01/19] travis.yml: reduce scope of the --enable-debug build Alex Bennée
@ 2019-10-22 19:16 ` Alex Bennée
  2019-10-22 19:16 ` [PATCH v1 03/19] travis.yml: Use libsdl2 instead of libsdl1.2, and install libsdl2-image Alex Bennée
                   ` (18 subsequent siblings)
  20 siblings, 0 replies; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 19:16 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>
---
 .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] 34+ messages in thread

* [PATCH  v1 03/19] travis.yml: Use libsdl2 instead of libsdl1.2, and install libsdl2-image
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
  2019-10-22 19:16 ` [PATCH v1 01/19] travis.yml: reduce scope of the --enable-debug build Alex Bennée
  2019-10-22 19:16 ` [PATCH v1 02/19] travis.yml: Add libvdeplug-dev to compile-test net/vde.c Alex Bennée
@ 2019-10-22 19:16 ` Alex Bennée
  2019-10-22 19:16 ` [PATCH v1 04/19] travis.yml: Use newer version of libgnutls and libpng Alex Bennée
                   ` (17 subsequent siblings)
  20 siblings, 0 replies; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 19:16 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>
---
 .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] 34+ messages in thread

* [PATCH v1 04/19] travis.yml: Use newer version of libgnutls and libpng
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
                   ` (2 preceding siblings ...)
  2019-10-22 19:16 ` [PATCH v1 03/19] travis.yml: Use libsdl2 instead of libsdl1.2, and install libsdl2-image Alex Bennée
@ 2019-10-22 19:16 ` Alex Bennée
  2019-10-22 19:16 ` [PATCH v1 05/19] travis.yml: Fix the ccache lines Alex Bennée
                   ` (16 subsequent siblings)
  20 siblings, 0 replies; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 19:16 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>
---
 .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] 34+ messages in thread

* [PATCH  v1 05/19] travis.yml: Fix the ccache lines
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
                   ` (3 preceding siblings ...)
  2019-10-22 19:16 ` [PATCH v1 04/19] travis.yml: Use newer version of libgnutls and libpng Alex Bennée
@ 2019-10-22 19:16 ` Alex Bennée
  2019-10-23 11:27   ` Philippe Mathieu-Daudé
  2019-10-22 19:16 ` [PATCH v1 06/19] travis.yml: Test the release tarball Alex Bennée
                   ` (15 subsequent siblings)
  20 siblings, 1 reply; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 19:16 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>

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>
Message-Id: <20191009170701.14756-5-thuth@redhat.com>
---
 .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] 34+ messages in thread

* [PATCH  v1 06/19] travis.yml: Test the release tarball
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
                   ` (4 preceding siblings ...)
  2019-10-22 19:16 ` [PATCH v1 05/19] travis.yml: Fix the ccache lines Alex Bennée
@ 2019-10-22 19:16 ` Alex Bennée
  2019-10-22 19:16 ` [PATCH v1 07/19] cirrus.yml: reduce scope of MacOS build Alex Bennée
                   ` (14 subsequent siblings)
  20 siblings, 0 replies; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 19:16 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] 34+ messages in thread

* [PATCH  v1 07/19] cirrus.yml: reduce scope of MacOS build
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
                   ` (5 preceding siblings ...)
  2019-10-22 19:16 ` [PATCH v1 06/19] travis.yml: Test the release tarball Alex Bennée
@ 2019-10-22 19:16 ` Alex Bennée
  2019-10-23  7:27   ` Thomas Huth
  2019-10-24  9:02   ` Peter Maydell
  2019-10-22 19:16 ` [PATCH v1 08/19] travis.yml: bump Xcode 10 to latest dot release Alex Bennée
                   ` (13 subsequent siblings)
  20 siblings, 2 replies; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 19:16 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] 34+ messages in thread

* [PATCH  v1 08/19] travis.yml: bump Xcode 10 to latest dot release
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
                   ` (6 preceding siblings ...)
  2019-10-22 19:16 ` [PATCH v1 07/19] cirrus.yml: reduce scope of MacOS build Alex Bennée
@ 2019-10-22 19:16 ` Alex Bennée
  2019-10-23 11:31   ` Philippe Mathieu-Daudé
  2019-10-22 19:16 ` [PATCH v1 09/19] cirrus.yml: add latest Xcode build target Alex Bennée
                   ` (12 subsequent siblings)
  20 siblings, 1 reply; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 19:16 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 10.3 is available 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] 34+ messages in thread

* [PATCH  v1 09/19] cirrus.yml: add latest Xcode build target
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
                   ` (7 preceding siblings ...)
  2019-10-22 19:16 ` [PATCH v1 08/19] travis.yml: bump Xcode 10 to latest dot release Alex Bennée
@ 2019-10-22 19:16 ` Alex Bennée
  2019-10-22 19:16 ` [PATCH v1 10/19] tests/vm: netbsd autoinstall, using serial console Alex Bennée
                   ` (11 subsequent siblings)
  20 siblings, 0 replies; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 19:16 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] 34+ messages in thread

* [PATCH  v1 10/19] tests/vm: netbsd autoinstall, using serial console
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
                   ` (8 preceding siblings ...)
  2019-10-22 19:16 ` [PATCH v1 09/19] cirrus.yml: add latest Xcode build target Alex Bennée
@ 2019-10-22 19:16 ` Alex Bennée
  2019-10-22 19:16 ` [PATCH v1 11/19] tests/vm: Let subclasses disable IPv6 Alex Bennée
                   ` (10 subsequent siblings)
  20 siblings, 0 replies; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 19:16 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] 34+ messages in thread

* [PATCH  v1 11/19] tests/vm: Let subclasses disable IPv6
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
                   ` (9 preceding siblings ...)
  2019-10-22 19:16 ` [PATCH v1 10/19] tests/vm: netbsd autoinstall, using serial console Alex Bennée
@ 2019-10-22 19:16 ` Alex Bennée
  2019-10-22 19:16 ` [PATCH v1 12/19] tests/vm/netbsd: Disable IPv6 Alex Bennée
                   ` (9 subsequent siblings)
  20 siblings, 0 replies; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 19:16 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] 34+ messages in thread

* [PATCH  v1 12/19] tests/vm/netbsd: Disable IPv6
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
                   ` (10 preceding siblings ...)
  2019-10-22 19:16 ` [PATCH v1 11/19] tests/vm: Let subclasses disable IPv6 Alex Bennée
@ 2019-10-22 19:16 ` Alex Bennée
  2019-10-22 19:16 ` [PATCH v1 13/19] travis.yml: cache the clang sanitizer build Alex Bennée
                   ` (8 subsequent siblings)
  20 siblings, 0 replies; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 19:16 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] 34+ messages in thread

* [PATCH  v1 13/19] travis.yml: cache the clang sanitizer build
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
                   ` (11 preceding siblings ...)
  2019-10-22 19:16 ` [PATCH v1 12/19] tests/vm/netbsd: Disable IPv6 Alex Bennée
@ 2019-10-22 19:16 ` Alex Bennée
  2019-10-23 12:14   ` Philippe Mathieu-Daudé
  2019-10-22 19:16 ` [PATCH v1 14/19] iotests: remove 'linux' from default supported platforms Alex Bennée
                   ` (7 subsequent siblings)
  20 siblings, 1 reply; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 19:16 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>
---
 .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] 34+ messages in thread

* [PATCH v1 14/19] iotests: remove 'linux' from default supported platforms
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
                   ` (12 preceding siblings ...)
  2019-10-22 19:16 ` [PATCH v1 13/19] travis.yml: cache the clang sanitizer build Alex Bennée
@ 2019-10-22 19:16 ` Alex Bennée
  2019-10-22 19:17 ` [PATCH v1 15/19] iotests: Test 041 only works on certain systems Alex Bennée
                   ` (6 subsequent siblings)
  20 siblings, 0 replies; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 19:16 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, Kevin Wolf, berrange, open list:Block layer core, stefanb,
	John Snow, richard.henderson, f4bug, Max Reitz, cota, stefanha,
	marcandre.lureau, pbonzini, aurelien

From: John Snow <jsnow@redhat.com>

verify_platform will check an explicit whitelist and blacklist instead.
The default will now be assumed to be allowed to run anywhere.

For tests that do not specify their platforms explicitly, this has the effect of
enabling these tests on non-linux platforms. For tests that always specified
linux explicitly, there is no change.

For Python tests on FreeBSD at least; only seven python tests fail:
045 147 149 169 194 199 211

045 and 149 appear to be misconfigurations,
147 and 194 are the AF_UNIX path too long error,
169 and 199 are bitmap migration bugs, and
211 is a bug that shows up on Linux platforms, too.

This is at least good evidence that these tests are not Linux-only. If
they aren't suitable for other platforms, they should be disabled on a
per-platform basis as appropriate.

Therefore, let's switch these on and deal with the failures.

Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20191022072135.11188-2-thuth@redhat.com>
---
 tests/qemu-iotests/iotests.py | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index 3a8f378f90d..75e64ef85be 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -869,9 +869,14 @@ def verify_protocol(supported=[], unsupported=[]):
     if not_sup or (imgproto in unsupported):
         notrun('not suitable for this protocol: %s' % imgproto)
 
-def verify_platform(supported_oses=['linux']):
-    if True not in [sys.platform.startswith(x) for x in supported_oses]:
-        notrun('not suitable for this OS: %s' % sys.platform)
+def verify_platform(supported=None, unsupported=None):
+    if unsupported is not None:
+        if any((sys.platform.startswith(x) for x in unsupported)):
+            notrun('not suitable for this OS: %s' % sys.platform)
+
+    if supported is not None:
+        if not any((sys.platform.startswith(x) for x in supported)):
+            notrun('not suitable for this OS: %s' % sys.platform)
 
 def verify_cache_mode(supported_cache_modes=[]):
     if supported_cache_modes and (cachemode not in supported_cache_modes):
@@ -933,7 +938,8 @@ def execute_unittest(output, verbosity, debug):
                                     r'Ran \1 tests', output.getvalue()))
 
 def execute_test(test_function=None,
-                 supported_fmts=[], supported_oses=['linux'],
+                 supported_fmts=[],
+                 supported_platforms=None,
                  supported_cache_modes=[], unsupported_fmts=[],
                  supported_protocols=[], unsupported_protocols=[]):
     """Run either unittest or script-style tests."""
@@ -950,7 +956,7 @@ def execute_test(test_function=None,
     verbosity = 1
     verify_image_format(supported_fmts, unsupported_fmts)
     verify_protocol(supported_protocols, unsupported_protocols)
-    verify_platform(supported_oses)
+    verify_platform(supported=supported_platforms)
     verify_cache_mode(supported_cache_modes)
 
     if debug:
-- 
2.20.1



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

* [PATCH  v1 15/19] iotests: Test 041 only works on certain systems
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
                   ` (13 preceding siblings ...)
  2019-10-22 19:16 ` [PATCH v1 14/19] iotests: remove 'linux' from default supported platforms Alex Bennée
@ 2019-10-22 19:17 ` Alex Bennée
  2019-10-23 12:15   ` Philippe Mathieu-Daudé
  2019-10-22 19:17 ` [PATCH v1 16/19] iotests: Test 183 does not work on macOS and OpenBSD Alex Bennée
                   ` (5 subsequent siblings)
  20 siblings, 1 reply; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 19:17 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, Kevin Wolf, Thomas Huth, berrange,
	open list:Block layer core, stefanb, richard.henderson, f4bug,
	Max Reitz, cota, stefanha, marcandre.lureau, pbonzini, aurelien

From: Thomas Huth <thuth@redhat.com>

041 works fine on Linux, FreeBSD, NetBSD and OpenBSD, but fails on macOS.
Let's mark it as only supported on the systems where we know that it is
working fine.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20191022072135.11188-3-thuth@redhat.com>
---
 tests/qemu-iotests/041 | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tests/qemu-iotests/041 b/tests/qemu-iotests/041
index 8568426311e..0326888c980 100755
--- a/tests/qemu-iotests/041
+++ b/tests/qemu-iotests/041
@@ -1123,4 +1123,5 @@ class TestOrphanedSource(iotests.QMPTestCase):
 
 if __name__ == '__main__':
     iotests.main(supported_fmts=['qcow2', 'qed'],
-                 supported_protocols=['file'])
+                 supported_protocols=['file'],
+                 supported_platforms=['linux', 'freebsd', 'netbsd', 'openbsd'])
-- 
2.20.1



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

* [PATCH v1 16/19] iotests: Test 183 does not work on macOS and OpenBSD
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
                   ` (14 preceding siblings ...)
  2019-10-22 19:17 ` [PATCH v1 15/19] iotests: Test 041 only works on certain systems Alex Bennée
@ 2019-10-22 19:17 ` Alex Bennée
  2019-10-23 12:17   ` Philippe Mathieu-Daudé
  2019-10-22 19:17 ` [PATCH v1 17/19] iotests: Skip "make check-block" if QEMU does not support virtio-blk Alex Bennée
                   ` (4 subsequent siblings)
  20 siblings, 1 reply; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 19:17 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, Kevin Wolf, Thomas Huth, berrange,
	open list:Block layer core, stefanb, richard.henderson, f4bug,
	Max Reitz, cota, stefanha, marcandre.lureau, pbonzini, aurelien

From: Thomas Huth <thuth@redhat.com>

In the long term, we might want to add test 183 to the "auto" group
(but it still fails occasionally, so we cannot do that yet). However,
when running 183 in Cirrus-CI on macOS, or with our vm-build-openbsd
target, it currently always fails with an "Timeout waiting for return
on handle 0" error.

Let's mark it as supported only on systems where the test is working
fine (i.e. Linux, FreeBSD and NetBSD).

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20191022072135.11188-4-thuth@redhat.com>
---
 tests/qemu-iotests/183 | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tests/qemu-iotests/183 b/tests/qemu-iotests/183
index 04fb344d08e..ab5a7089549 100755
--- a/tests/qemu-iotests/183
+++ b/tests/qemu-iotests/183
@@ -42,6 +42,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
 . ./common.filter
 . ./common.qemu
 
+_supported_os Linux FreeBSD NetBSD
 _supported_fmt qcow2 raw qed quorum
 _supported_proto file
 
-- 
2.20.1



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

* [PATCH v1 17/19] iotests: Skip "make check-block" if QEMU does not support virtio-blk
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
                   ` (15 preceding siblings ...)
  2019-10-22 19:17 ` [PATCH v1 16/19] iotests: Test 183 does not work on macOS and OpenBSD Alex Bennée
@ 2019-10-22 19:17 ` Alex Bennée
  2019-10-22 19:17 ` [PATCH v1 18/19] iotests: Enable more tests in the 'auto' group to improve test coverage Alex Bennée
                   ` (3 subsequent siblings)
  20 siblings, 0 replies; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 19:17 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, Thomas Huth, berrange, stefanb, richard.henderson, f4bug,
	Max Reitz, cota, stefanha, marcandre.lureau, pbonzini, aurelien

From: Thomas Huth <thuth@redhat.com>

The next patch is going to add some python-based tests to the "auto"
group, and these tests require virtio-blk to work properly. Running
iotests without virtio-blk likely does not make too much sense anyway,
so instead of adding a check for the availability of virtio-blk to each
and every test (which does not sound very appealing), let's rather add
a check for this at the top level in the check-block.sh script instead
(so that it is possible to run "make check" without the "check-block"
part for qemu-system-tricore for example).

Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20191022072135.11188-5-thuth@redhat.com>
---
 tests/check-block.sh | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/tests/check-block.sh b/tests/check-block.sh
index 679aedec50c..e9e2978818a 100755
--- a/tests/check-block.sh
+++ b/tests/check-block.sh
@@ -26,10 +26,24 @@ if grep -q "CFLAGS.*-fsanitize" config-host.mak 2>/dev/null ; then
     exit 0
 fi
 
-if [ -z "$(find . -name 'qemu-system-*' -print)" ]; then
+if [ -n "$QEMU_PROG" ]; then
+    qemu_prog="$QEMU_PROG"
+else
+    for binary in *-softmmu/qemu-system-* ; do
+        if [ -x "$binary" ]; then
+            qemu_prog="$binary"
+            break
+        fi
+    done
+fi
+if [ -z "$qemu_prog" ]; then
     echo "No qemu-system binary available ==> Not running the qemu-iotests."
     exit 0
 fi
+if ! "$qemu_prog" -M none -device help | grep -q virtio-blk >/dev/null 2>&1 ; then
+    echo "$qemu_prog does not support virtio-blk ==> Not running the qemu-iotests."
+    exit 0
+fi
 
 if ! command -v bash >/dev/null 2>&1 ; then
     echo "bash not available ==> Not running the qemu-iotests."
-- 
2.20.1



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

* [PATCH v1 18/19] iotests: Enable more tests in the 'auto' group to improve test coverage
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
                   ` (16 preceding siblings ...)
  2019-10-22 19:17 ` [PATCH v1 17/19] iotests: Skip "make check-block" if QEMU does not support virtio-blk Alex Bennée
@ 2019-10-22 19:17 ` Alex Bennée
  2019-10-22 19:17 ` [PATCH v1 19/19] iotests: Remove 130 from the "auto" group Alex Bennée
                   ` (2 subsequent siblings)
  20 siblings, 0 replies; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 19:17 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, Kevin Wolf, Thomas Huth, berrange,
	open list:Block layer core, stefanb, richard.henderson, f4bug,
	Max Reitz, cota, stefanha, marcandre.lureau, pbonzini, aurelien

From: Thomas Huth <thuth@redhat.com>

According to Kevin, tests 030, 040 and 041 are among the most valuable
tests that we have, so we should always run them if possible, even if
they take a little bit longer.

According to Max, it would be good to have a test for iothreads and
migration. 127 and 256 seem to be good candidates for iothreads. For
migration, let's enable 091, 181, and 203 (which also tests iothreads).

Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20191022072135.11188-6-thuth@redhat.com>
---
 tests/qemu-iotests/group | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group
index a73df279e5e..33b499ed410 100644
--- a/tests/qemu-iotests/group
+++ b/tests/qemu-iotests/group
@@ -51,7 +51,7 @@
 027 rw auto quick
 028 rw backing quick
 029 rw auto quick
-030 rw backing
+030 rw auto backing
 031 rw auto quick
 032 rw auto quick
 033 rw auto quick
@@ -61,8 +61,8 @@
 037 rw auto backing quick
 038 rw auto backing quick
 039 rw auto quick
-040 rw
-041 rw backing
+040 rw auto
+041 rw auto backing
 042 rw auto quick
 043 rw auto backing
 044 rw
@@ -112,7 +112,7 @@
 088 rw quick
 089 rw auto quick
 090 rw auto quick
-091 rw migration
+091 rw auto migration
 092 rw quick
 093 throttle
 094 rw quick
@@ -148,7 +148,7 @@
 124 rw backing
 125 rw
 126 rw auto backing
-127 rw backing quick
+127 rw auto backing quick
 128 rw quick
 129 rw quick
 130 rw auto quick
@@ -197,7 +197,7 @@
 177 rw auto quick
 178 img
 179 rw auto quick
-181 rw migration
+181 rw auto migration
 182 rw quick
 183 rw migration
 184 rw auto quick
@@ -218,7 +218,7 @@
 200 rw
 201 rw migration
 202 rw quick
-203 rw migration
+203 rw auto migration
 204 rw quick
 205 rw quick
 206 rw
@@ -270,7 +270,7 @@
 253 rw quick
 254 rw backing quick
 255 rw quick
-256 rw quick
+256 rw auto quick
 257 rw
 258 rw quick
 260 rw quick
-- 
2.20.1



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

* [PATCH  v1 19/19] iotests: Remove 130 from the "auto" group
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
                   ` (17 preceding siblings ...)
  2019-10-22 19:17 ` [PATCH v1 18/19] iotests: Enable more tests in the 'auto' group to improve test coverage Alex Bennée
@ 2019-10-22 19:17 ` Alex Bennée
  2019-10-22 21:17 ` [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
  2019-10-23  7:20 ` Thomas Huth
  20 siblings, 0 replies; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 19:17 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, Kevin Wolf, Thomas Huth, berrange,
	open list:Block layer core, stefanb, John Snow,
	richard.henderson, f4bug, Max Reitz, cota, stefanha,
	marcandre.lureau, pbonzini, aurelien

From: Thomas Huth <thuth@redhat.com>

Peter hit a "Could not open 'TEST_DIR/t.IMGFMT': Failed to get shared
'write' lock - Is another process using the image [TEST_DIR/t.IMGFMT]?"
error with 130 already twice. Looks like this test is a little bit
shaky, so for the time being, let's disable it from the "auto" group so
that it does not gate the pull requests.

Reviewed-by: John Snow <jsnow@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20191022072135.11188-7-thuth@redhat.com>
---
 tests/qemu-iotests/group | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group
index 33b499ed410..4596497bced 100644
--- a/tests/qemu-iotests/group
+++ b/tests/qemu-iotests/group
@@ -151,7 +151,7 @@
 127 rw auto backing quick
 128 rw quick
 129 rw quick
-130 rw auto quick
+130 rw quick
 131 rw quick
 132 rw quick
 133 auto quick
-- 
2.20.1



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

* Re: [PATCH for 4.2 v1 00/19] testing/next before softfreeze
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
                   ` (18 preceding siblings ...)
  2019-10-22 19:17 ` [PATCH v1 19/19] iotests: Remove 130 from the "auto" group Alex Bennée
@ 2019-10-22 21:17 ` Alex Bennée
  2019-10-23  7:20 ` Thomas Huth
  20 siblings, 0 replies; 34+ messages in thread
From: Alex Bennée @ 2019-10-22 21:17 UTC (permalink / raw)
  To: qemu-devel
  Cc: fam, berrange, stefanb, Alex Bennée, richard.henderson,
	f4bug, cota, stefanha, marcandre.lureau, pbonzini, aurelien


Alex Bennée <alex.bennee@linaro.org> writes:

> Hi,
>
> This is the current status of testing/next. I dropped the Travis arm64
> build due to stability concerns. As far as I can tell Thomas' latest
> iotest updates are working fine. If there are any other patches worth
> considering before the softfreeze now is the time to shout.
>
<snip>
> John Snow (1):
>   iotests: remove 'linux' from default supported platforms
>
> Thomas Huth (5):
<snip>
>   iotests: Test 041 only works on certain systems
>   iotests: Test 183 does not work on macOS and OpenBSD
>   iotests: Skip "make check-block" if QEMU does not support virtio-blk
>   iotests: Enable more tests in the 'auto' group to improve test
>     coverage
>   iotests: Remove 130 from the "auto" group
<snip>

I'll drop these from my tree so they can go in with the rest of the
iotests stuff.

--
Alex Bennée


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

* Re: [PATCH for 4.2 v1 00/19] testing/next before softfreeze
  2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
                   ` (19 preceding siblings ...)
  2019-10-22 21:17 ` [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
@ 2019-10-23  7:20 ` Thomas Huth
  2019-10-23 10:19   ` Alex Bennée
  20 siblings, 1 reply; 34+ messages in thread
From: Thomas Huth @ 2019-10-23  7:20 UTC (permalink / raw)
  To: Alex Bennée; +Cc: qemu-devel

----- Original Message -----
> From: "Alex Bennée" <alex.bennee@linaro.org>
> Sent: Tuesday, October 22, 2019 9:16:45 PM
> 
> Hi,
> 
> This is the current status of testing/next. I dropped the Travis arm64
> build due to stability concerns. As far as I can tell Thomas' latest
> iotest updates are working fine. If there are any other patches worth
> considering before the softfreeze now is the time to shout.

Feel free to include:

https://lists.nongnu.org/archive/html/qemu-devel/2019-10/msg03912.html
("gitlab-ci.yml: Use libvdeplug-dev to compile-test the VDE network backend")

I'm not sure whether I'll find some spare time to send a pull request for that patch before/during KVM forum, so it would be nice if you could include it.

 Thomas



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

* Re: [PATCH  v1 07/19] cirrus.yml: reduce scope of MacOS build
  2019-10-22 19:16 ` [PATCH v1 07/19] cirrus.yml: reduce scope of MacOS build Alex Bennée
@ 2019-10-23  7:27   ` Thomas Huth
  2019-10-23 10:07     ` Alex Bennée
  2019-10-24  9:02   ` Peter Maydell
  1 sibling, 1 reply; 34+ messages in thread
From: Thomas Huth @ 2019-10-23  7:27 UTC (permalink / raw)
  To: Alex Bennée
  Cc: fam, berrange, pbonzini, stefanb, richard henderson, f4bug,
	qemu-devel, cota, stefanha, marcandre lureau, Ed Maste,
	Li-Wen Hsu, aurelien

----- Original Message -----
> From: "Alex Bennée" <alex.bennee@linaro.org>
> Sent: Tuesday, October 22, 2019 9:16:52 PM
> 
> 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.

Oh, really? For me, the builds on Cirrus-CI work reasonable fast and almost always finish within 20 minutes, e.g.:

https://cirrus-ci.com/build/4976412120842240

Also the last macos_task from the official QEMU mirror on github finished within 15 minutes:

https://github.com/qemu/qemu/runs/269964092

... so was your issue maybe just a temporary dropout?

 Thomas



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

* Re: [PATCH  v1 07/19] cirrus.yml: reduce scope of MacOS build
  2019-10-23  7:27   ` Thomas Huth
@ 2019-10-23 10:07     ` Alex Bennée
  2019-10-24  8:52       ` Alex Bennée
  0 siblings, 1 reply; 34+ messages in thread
From: Alex Bennée @ 2019-10-23 10:07 UTC (permalink / raw)
  To: Thomas Huth
  Cc: fam, berrange, pbonzini, stefanb, richard henderson, f4bug,
	qemu-devel, cota, stefanha, marcandre lureau, Ed Maste,
	Li-Wen Hsu, aurelien


Thomas Huth <thuth@redhat.com> writes:

> ----- Original Message -----
>> From: "Alex Bennée" <alex.bennee@linaro.org>
>> Sent: Tuesday, October 22, 2019 9:16:52 PM
>>
>> 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.
>
> Oh, really? For me, the builds on Cirrus-CI work reasonable fast and
> almost always finish within 20 minutes, e.g.:

It seems to be an intermittent thing:

  https://cirrus-ci.com/github/stsquad/qemu

but looking again maybe it's only the xcode build that is reliably long...

>
> https://cirrus-ci.com/build/4976412120842240
>
> Also the last macos_task from the official QEMU mirror on github finished within 15 minutes:
>
> https://github.com/qemu/qemu/runs/269964092
>
> ... so was your issue maybe just a temporary dropout?
>
>  Thomas


--
Alex Bennée


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

* Re: [PATCH for 4.2 v1 00/19] testing/next before softfreeze
  2019-10-23  7:20 ` Thomas Huth
@ 2019-10-23 10:19   ` Alex Bennée
  0 siblings, 0 replies; 34+ messages in thread
From: Alex Bennée @ 2019-10-23 10:19 UTC (permalink / raw)
  To: Thomas Huth; +Cc: qemu-devel


Thomas Huth <thuth@redhat.com> writes:

> ----- Original Message -----
>> From: "Alex Bennée" <alex.bennee@linaro.org>
>> Sent: Tuesday, October 22, 2019 9:16:45 PM
>>
>> Hi,
>>
>> This is the current status of testing/next. I dropped the Travis arm64
>> build due to stability concerns. As far as I can tell Thomas' latest
>> iotest updates are working fine. If there are any other patches worth
>> considering before the softfreeze now is the time to shout.
>
> Feel free to include:
>
> https://lists.nongnu.org/archive/html/qemu-devel/2019-10/msg03912.html
> ("gitlab-ci.yml: Use libvdeplug-dev to compile-test the VDE network
> backend")

done.

--
Alex Bennée


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

* Re: [PATCH v1 05/19] travis.yml: Fix the ccache lines
  2019-10-22 19:16 ` [PATCH v1 05/19] travis.yml: Fix the ccache lines Alex Bennée
@ 2019-10-23 11:27   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-10-23 11:27 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/22/19 9:16 PM, Alex Bennée wrote:
> 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>
> Message-Id: <20191009170701.14756-5-thuth@redhat.com>

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

> ---
>   .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:
> 


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

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

Hi Alex,

On 10/22/19 9:16 PM, Alex Bennée wrote:
> As 10.3 is available lets use it. I don't know what Apple's
> deprecation policy is for Xcode because it requires an AppleID to find
> out.

Can you add a link to:
https://docs.travis-ci.com/user/reference/osx/#macos-version

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


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

* Re: [PATCH v1 13/19] travis.yml: cache the clang sanitizer build
  2019-10-22 19:16 ` [PATCH v1 13/19] travis.yml: cache the clang sanitizer build Alex Bennée
@ 2019-10-23 12:14   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-10-23 12:14 UTC (permalink / raw)
  To: Alex Bennée, qemu-devel
  Cc: fam, berrange, stefanb, richard.henderson, f4bug, cota, stefanha,
	marcandre.lureau, pbonzini, aurelien

On 10/22/19 9:16 PM, Alex Bennée wrote:
> Hopefully we'll see the same benefits as the other builds.
> 
> 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 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; }
> 

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


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

* Re: [PATCH v1 15/19] iotests: Test 041 only works on certain systems
  2019-10-22 19:17 ` [PATCH v1 15/19] iotests: Test 041 only works on certain systems Alex Bennée
@ 2019-10-23 12:15   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-10-23 12:15 UTC (permalink / raw)
  To: Alex Bennée, qemu-devel
  Cc: fam, Kevin Wolf, Thomas Huth, berrange,
	open list:Block layer core, stefanb, richard.henderson, f4bug,
	Max Reitz, cota, stefanha, pbonzini, marcandre.lureau, aurelien

On 10/22/19 9:17 PM, Alex Bennée wrote:
> From: Thomas Huth <thuth@redhat.com>
> 
> 041 works fine on Linux, FreeBSD, NetBSD and OpenBSD, but fails on macOS.
> Let's mark it as only supported on the systems where we know that it is
> working fine.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> Message-Id: <20191022072135.11188-3-thuth@redhat.com>
> ---
>   tests/qemu-iotests/041 | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/qemu-iotests/041 b/tests/qemu-iotests/041
> index 8568426311e..0326888c980 100755
> --- a/tests/qemu-iotests/041
> +++ b/tests/qemu-iotests/041
> @@ -1123,4 +1123,5 @@ class TestOrphanedSource(iotests.QMPTestCase):
>   
>   if __name__ == '__main__':
>       iotests.main(supported_fmts=['qcow2', 'qed'],
> -                 supported_protocols=['file'])
> +                 supported_protocols=['file'],
> +                 supported_platforms=['linux', 'freebsd', 'netbsd', 'openbsd'])
> 

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


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

* Re: [PATCH v1 16/19] iotests: Test 183 does not work on macOS and OpenBSD
  2019-10-22 19:17 ` [PATCH v1 16/19] iotests: Test 183 does not work on macOS and OpenBSD Alex Bennée
@ 2019-10-23 12:17   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-10-23 12:17 UTC (permalink / raw)
  To: Alex Bennée, qemu-devel
  Cc: fam, Kevin Wolf, Thomas Huth, berrange,
	open list:Block layer core, stefanb, richard.henderson, f4bug,
	Max Reitz, cota, stefanha, pbonzini, marcandre.lureau, aurelien

On 10/22/19 9:17 PM, Alex Bennée wrote:
> From: Thomas Huth <thuth@redhat.com>
> 
> In the long term, we might want to add test 183 to the "auto" group
> (but it still fails occasionally, so we cannot do that yet). However,
> when running 183 in Cirrus-CI on macOS, or with our vm-build-openbsd
> target, it currently always fails with an "Timeout waiting for return
> on handle 0" error.
> 
> Let's mark it as supported only on systems where the test is working
> fine (i.e. Linux, FreeBSD and NetBSD).
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> Message-Id: <20191022072135.11188-4-thuth@redhat.com>
> ---
>   tests/qemu-iotests/183 | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/tests/qemu-iotests/183 b/tests/qemu-iotests/183
> index 04fb344d08e..ab5a7089549 100755
> --- a/tests/qemu-iotests/183
> +++ b/tests/qemu-iotests/183
> @@ -42,6 +42,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
>   . ./common.filter
>   . ./common.qemu
>   
> +_supported_os Linux FreeBSD NetBSD
>   _supported_fmt qcow2 raw qed quorum
>   _supported_proto file
>   
> 

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


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

* Re: [PATCH  v1 07/19] cirrus.yml: reduce scope of MacOS build
  2019-10-23 10:07     ` Alex Bennée
@ 2019-10-24  8:52       ` Alex Bennée
  0 siblings, 0 replies; 34+ messages in thread
From: Alex Bennée @ 2019-10-24  8:52 UTC (permalink / raw)
  To: Thomas Huth
  Cc: fam, berrange, pbonzini, stefanb, richard henderson, f4bug,
	qemu-devel, cota, stefanha, marcandre lureau, Ed Maste,
	Li-Wen Hsu, aurelien


Alex Bennée <alex.bennee@linaro.org> writes:

> Thomas Huth <thuth@redhat.com> writes:
>
>> ----- Original Message -----
>>> From: "Alex Bennée" <alex.bennee@linaro.org>
>>> Sent: Tuesday, October 22, 2019 9:16:52 PM
>>>
>>> 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.
>>
>> Oh, really? For me, the builds on Cirrus-CI work reasonable fast and
>> almost always finish within 20 minutes, e.g.:
>
> It seems to be an intermittent thing:
>
>   https://cirrus-ci.com/github/stsquad/qemu
>
> but looking again maybe it's only the xcode build that is reliably
> long...

So the MacOS build failed:

  https://cirrus-ci.com/task/5574076248096768

I think the MacOS builds just occasionally get stuck for some reason.

>
>>
>> https://cirrus-ci.com/build/4976412120842240
>>
>> Also the last macos_task from the official QEMU mirror on github finished within 15 minutes:
>>
>> https://github.com/qemu/qemu/runs/269964092
>>
>> ... so was your issue maybe just a temporary dropout?
>>
>>  Thomas


--
Alex Bennée


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

* Re: [PATCH v1 07/19] cirrus.yml: reduce scope of MacOS build
  2019-10-22 19:16 ` [PATCH v1 07/19] cirrus.yml: reduce scope of MacOS build Alex Bennée
  2019-10-23  7:27   ` Thomas Huth
@ 2019-10-24  9:02   ` Peter Maydell
  2019-10-24  9:16     ` Paolo Bonzini
  2019-10-24 10:54     ` Alex Bennée
  1 sibling, 2 replies; 34+ messages in thread
From: Peter Maydell @ 2019-10-24  9:02 UTC (permalink / raw)
  To: Alex Bennée
  Cc: Fam Zheng, Daniel P. Berrange, Paolo Bonzini, Stefan Berger,
	Richard Henderson, Philippe Mathieu-Daudé,
	QEMU Developers, Emilio G. Cota, Stefan Hajnoczi,
	Marc-André Lureau, Ed Maste, Li-Wen Hsu, Aurelien Jarno

On Tue, 22 Oct 2019 at 20:20, Alex Bennée <alex.bennee@linaro.org> wrote:
>
> 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

I don't know whether Cirrus is our long-term plan for doing
CI of OSX (maybe we'll be using Gitlab and some runner on an
OSX platform??), but as a general point: since OSX is one of
the non-Linux hosts it's therefore worth making sure our
compile-coverage is as wide as possible, not narrow. It's
safe(r) to have narrow coverage of x86-Linux because people
catch issues with that anyway, but it's exactly the less
common platforms like OSX, the BSDs, odd architectures that
we want to be compile/make-check testing as much of our code
as possible.

thanks
-- PMM


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

* Re: [PATCH v1 07/19] cirrus.yml: reduce scope of MacOS build
  2019-10-24  9:02   ` Peter Maydell
@ 2019-10-24  9:16     ` Paolo Bonzini
  2019-10-24 10:54     ` Alex Bennée
  1 sibling, 0 replies; 34+ messages in thread
From: Paolo Bonzini @ 2019-10-24  9:16 UTC (permalink / raw)
  To: Peter Maydell, Alex Bennée
  Cc: Fam Zheng, Daniel P. Berrange, Stefan Berger, Richard Henderson,
	Philippe Mathieu-Daudé,
	QEMU Developers, Emilio G. Cota, Stefan Hajnoczi,
	Marc-André Lureau, Ed Maste, Li-Wen Hsu, Aurelien Jarno

On 24/10/19 11:02, Peter Maydell wrote:
>> --- 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
> I don't know whether Cirrus is our long-term plan for doing
> CI of OSX (maybe we'll be using Gitlab and some runner on an
> OSX platform??),

My plan was to deploy Patchew on a Macincloud instance.

Paolo

 but as a general point: since OSX is one of
> the non-Linux hosts it's therefore worth making sure our
> compile-coverage is as wide as possible, not narrow. It's
> safe(r) to have narrow coverage of x86-Linux because people
> catch issues with that anyway, but it's exactly the less
> common platforms like OSX, the BSDs, odd architectures that
> we want to be compile/make-check testing as much of our code
> as possible.



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

* Re: [PATCH v1 07/19] cirrus.yml: reduce scope of MacOS build
  2019-10-24  9:02   ` Peter Maydell
  2019-10-24  9:16     ` Paolo Bonzini
@ 2019-10-24 10:54     ` Alex Bennée
  1 sibling, 0 replies; 34+ messages in thread
From: Alex Bennée @ 2019-10-24 10:54 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Fam Zheng, Daniel P. Berrange, Paolo Bonzini, Stefan Berger,
	Richard Henderson, Philippe Mathieu-Daudé,
	QEMU Developers, Emilio G. Cota, Stefan Hajnoczi,
	Marc-André Lureau, Ed Maste, Li-Wen Hsu, Aurelien Jarno


Peter Maydell <peter.maydell@linaro.org> writes:

> On Tue, 22 Oct 2019 at 20:20, Alex Bennée <alex.bennee@linaro.org> wrote:
>>
>> 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
>
> I don't know whether Cirrus is our long-term plan for doing
> CI of OSX (maybe we'll be using Gitlab and some runner on an
> OSX platform??), but as a general point: since OSX is one of
> the non-Linux hosts it's therefore worth making sure our
> compile-coverage is as wide as possible, not narrow. It's
> safe(r) to have narrow coverage of x86-Linux because people
> catch issues with that anyway, but it's exactly the less
> common platforms like OSX, the BSDs, odd architectures that
> we want to be compile/make-check testing as much of our code
> as possible.

OK I can drop the patch. It seems the long builds are just a random
pause that occasionally happens on their MacOS host.

>
> thanks
> -- PMM


--
Alex Bennée


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

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

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-22 19:16 [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
2019-10-22 19:16 ` [PATCH v1 01/19] travis.yml: reduce scope of the --enable-debug build Alex Bennée
2019-10-22 19:16 ` [PATCH v1 02/19] travis.yml: Add libvdeplug-dev to compile-test net/vde.c Alex Bennée
2019-10-22 19:16 ` [PATCH v1 03/19] travis.yml: Use libsdl2 instead of libsdl1.2, and install libsdl2-image Alex Bennée
2019-10-22 19:16 ` [PATCH v1 04/19] travis.yml: Use newer version of libgnutls and libpng Alex Bennée
2019-10-22 19:16 ` [PATCH v1 05/19] travis.yml: Fix the ccache lines Alex Bennée
2019-10-23 11:27   ` Philippe Mathieu-Daudé
2019-10-22 19:16 ` [PATCH v1 06/19] travis.yml: Test the release tarball Alex Bennée
2019-10-22 19:16 ` [PATCH v1 07/19] cirrus.yml: reduce scope of MacOS build Alex Bennée
2019-10-23  7:27   ` Thomas Huth
2019-10-23 10:07     ` Alex Bennée
2019-10-24  8:52       ` Alex Bennée
2019-10-24  9:02   ` Peter Maydell
2019-10-24  9:16     ` Paolo Bonzini
2019-10-24 10:54     ` Alex Bennée
2019-10-22 19:16 ` [PATCH v1 08/19] travis.yml: bump Xcode 10 to latest dot release Alex Bennée
2019-10-23 11:31   ` Philippe Mathieu-Daudé
2019-10-22 19:16 ` [PATCH v1 09/19] cirrus.yml: add latest Xcode build target Alex Bennée
2019-10-22 19:16 ` [PATCH v1 10/19] tests/vm: netbsd autoinstall, using serial console Alex Bennée
2019-10-22 19:16 ` [PATCH v1 11/19] tests/vm: Let subclasses disable IPv6 Alex Bennée
2019-10-22 19:16 ` [PATCH v1 12/19] tests/vm/netbsd: Disable IPv6 Alex Bennée
2019-10-22 19:16 ` [PATCH v1 13/19] travis.yml: cache the clang sanitizer build Alex Bennée
2019-10-23 12:14   ` Philippe Mathieu-Daudé
2019-10-22 19:16 ` [PATCH v1 14/19] iotests: remove 'linux' from default supported platforms Alex Bennée
2019-10-22 19:17 ` [PATCH v1 15/19] iotests: Test 041 only works on certain systems Alex Bennée
2019-10-23 12:15   ` Philippe Mathieu-Daudé
2019-10-22 19:17 ` [PATCH v1 16/19] iotests: Test 183 does not work on macOS and OpenBSD Alex Bennée
2019-10-23 12:17   ` Philippe Mathieu-Daudé
2019-10-22 19:17 ` [PATCH v1 17/19] iotests: Skip "make check-block" if QEMU does not support virtio-blk Alex Bennée
2019-10-22 19:17 ` [PATCH v1 18/19] iotests: Enable more tests in the 'auto' group to improve test coverage Alex Bennée
2019-10-22 19:17 ` [PATCH v1 19/19] iotests: Remove 130 from the "auto" group Alex Bennée
2019-10-22 21:17 ` [PATCH for 4.2 v1 00/19] testing/next before softfreeze Alex Bennée
2019-10-23  7:20 ` Thomas Huth
2019-10-23 10:19   ` Alex Bennée

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).