All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v7 00/54] fix building of tests/tcg - last chance to review!
@ 2018-06-15 19:46 Alex Bennée
  2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 01/54] configure: add support for --cross-cc-FOO Alex Bennée
                   ` (54 more replies)
  0 siblings, 55 replies; 72+ messages in thread
From: Alex Bennée @ 2018-06-15 19:46 UTC (permalink / raw)
  To: cota, famz, berrange, f4bug, richard.henderson, balrogg,
	aurelien, agraf, peter.maydell
  Cc: qemu-devel, Alex Bennée

Hi,

Most of the work has been trying to get make check-tcg to work
reliably under high -j's. This has led to a couple of fixes to actual
tests (see tests/tcg/multiarch: don't hard code paths/ports for
linux-test) and a lot of messing about with docker rules.

After lots of attempts of encoding various dependencies depending on
age of images and checksum checks I finally settled on the simple
expedient of disabling the building of docker images when a sub-make
is invoked from the main makefile. We still check the dockerfile
exists but we no longer rely on the caching effect of re-running the
build stage.

There is a bit of a hack for forcing NOCACHE=1 for the debian-sid
image that prevents it being re-built too often but the chances are
anytime you want to run tests against the less well supported sid
compilers you'll end up re-building. I'm happy to drop the NOCACHE
stuff if people think it's a bit too messy. It's mainly to avoid
question about build failures as the:

  || { echo "Failed to build - see debian-sid.docker notes"; exit 1; }

in sid related dockerfiles tends to get lost in the noise.

I'm planning on sending the pull request for this next week so any
remaining review comments are most welcome. Patches currently needing
review are:

: patch 0012/tests tcg multiarch don t hard code paths ports f.patch needs review
: patch 0029/tests docker Makefile.include fix mipsel cross de.patch needs review
: patch 0048/tests add top level make dependency for docker bu.patch needs review
: patch 0049/docker docker.py don t conflate checksums for ext.patch needs review
: patch 0050/docker docker.py add check sub command.patch needs review
: patch 0051/tests Makefile call sub makes with SKIP_DOCKER_BU.patch needs review
: patch 0052/docker docker.py adding age check command.patch needs review
: patch 0053/tests docker Makefile.include only force SID to N.patch needs review

Cheers,

Alex Bennée (52):
  configure: add support for --cross-cc-FOO
  configure: move i386_cc to cross_cc_i386
  configure: allow user to specify --cross-cc-cflags-foo=
  configure: set cross_cc_FOO for host compiler
  docker: Add "cc" subcommand
  docker: extend "cc" command to accept compiler
  docker: allow "cc" command to run in user context
  docker: Makefile.include introduce DOCKER_SCRIPT
  tests/tcg: move architecture independent tests into subdir
  tests/tcg/multiarch: enable additional linux-test tests
  tests/tcg/multiarch: don't hard code paths/ports for linux-test
  tests/tcg/multiarch: move most output to stdout
  tests/tcg: move i386 specific tests into subdir
  tests/tcg: enable building for i386
  tests/tcg/i386: fix test-i386
  tests/tcg/i386: add runner for test-i386-fprem
  tests/tcg/x86_64: add Makefile.target
  tests/tcg/i386/test-i386: use modern vector_size attributes
  tests/tcg/i386/test-i386: fix printf format
  tests/tcg: move ARM specific tests into subdir
  tests/tcg: enable building for ARM
  tests/tcg/arm: fix up test-arm-iwmmxt test
  tests/tcg: enable building for AArch64
  tests/tcg/arm: add fcvt test cases for AArch32/64
  tests/tcg: move MIPS specific tests into subdir
  tests/tcg: enable building for MIPS
  tests/docker/Makefile.include: fix mipsel-cross dependancy
  tests/tcg/mips: include common mips hello-mips
  tests/tcg: enable building for s390x
  tests/tcg: enable building for ppc64
  tests/tcg: enable building for Alpha
  tests/tcg/alpha: add Alpha specific tests
  tests/tcg: enable building for HPPA
  tests/tcg: enable building for m68k
  tests/tcg: enable building for sh4
  tests/tcg: enable building for sparc64
  tests/tcg: enable building for mips64
  tests/tcg: enable building for RISCV64
  docker: move debian-powerpc-cross to sid based build
  tests/tcg: enable building for PowerPC
  tests/tcg/Makefile: update to be called from Makefile.target
  Makefile.target: add (clean-/build-)guest-tests targets
  tests/Makefile.include: add [build|clean|check]-tcg targets
  tests/tcg: add run, diff, and skip helper macros
  tests/tcg: override runners for broken tests
  tests: add top-level make dependency for docker builds
  docker: docker.py don't conflate checksums for extra_files
  docker: docker.py add check sub-command
  tests/Makefile: call sub-makes with SKIP_DOCKER_BUILD=1
  docker: docker.py adding age check command
  tests/docker/Makefile.include: only force SID to NOCACHE if old
  .travis.yml: add check-tcg test

Fam Zheng (2):
  tests/tcg/multiarch: Build fix for linux-test
  tests/tcg/i386: Build fix for hello-i386

 .travis.yml                                   |    8 +
 MAINTAINERS                                   |   14 +
 Makefile.target                               |    5 +
 configure                                     |  134 +-
 tests/Makefile.include                        |   41 +-
 tests/docker/Makefile.include                 |   47 +-
 tests/docker/docker.py                        |   91 +-
 .../dockerfiles/debian-alpha-cross.docker     |   12 +
 tests/docker/dockerfiles/debian-apt-fake.sh   |   46 -
 .../dockerfiles/debian-hppa-cross.docker      |   12 +
 .../dockerfiles/debian-m68k-cross.docker      |   12 +
 .../dockerfiles/debian-mips64-cross.docker    |   12 +
 .../dockerfiles/debian-powerpc-cross.docker   |   39 +-
 .../dockerfiles/debian-riscv64-cross.docker   |   12 +
 .../dockerfiles/debian-sh4-cross.docker       |   12 +
 tests/docker/dockerfiles/debian-sid.docker    |   32 +
 .../dockerfiles/debian-sparc64-cross.docker   |   12 +
 tests/docker/dockerfiles/debian8.docker       |    3 -
 tests/tcg/Makefile                            |  219 +-
 tests/tcg/Makefile.include                    |   88 +
 tests/tcg/Makefile.probe                      |   31 +
 tests/tcg/README                              |   69 +-
 tests/tcg/aarch64/Makefile.include            |    8 +
 tests/tcg/aarch64/Makefile.target             |   17 +
 tests/tcg/aarch64/fcvt.ref                    | 3268 +++++++++++++++++
 tests/tcg/alpha/Makefile                      |   35 -
 tests/tcg/alpha/Makefile.include              |    2 +
 tests/tcg/alpha/Makefile.target               |   18 +
 tests/tcg/alpha/crt.s                         |   26 -
 tests/tcg/alpha/hello-alpha.c                 |    2 +
 tests/tcg/alpha/test-cond.c                   |    1 +
 tests/tcg/alpha/test-ovf.c                    |    2 +
 tests/tcg/arm/Makefile.include                |    8 +
 tests/tcg/arm/Makefile.target                 |   32 +
 tests/tcg/arm/README                          |   11 +
 tests/tcg/arm/fcvt.c                          |  458 +++
 tests/tcg/arm/fcvt.ref                        | 3268 +++++++++++++++++
 tests/tcg/{ => arm}/hello-arm.c               |    0
 .../test-arm-iwmmxt.S}                        |    0
 tests/tcg/hppa/Makefile.include               |    2 +
 tests/tcg/hppa/Makefile.target                |    6 +
 tests/tcg/i386/Makefile.include               |    9 +
 tests/tcg/i386/Makefile.target                |   51 +
 tests/tcg/i386/README                         |   38 +
 tests/tcg/{ => i386}/hello-i386.c             |    1 +
 tests/tcg/{ => i386}/pi_10.com                |  Bin
 tests/tcg/{ => i386}/runcom.c                 |    0
 tests/tcg/{ => i386}/test-i386-code16.S       |    0
 tests/tcg/{ => i386}/test-i386-fprem.c        |   12 +-
 tests/tcg/{ => i386}/test-i386-muldiv.h       |    0
 tests/tcg/{ => i386}/test-i386-shift.h        |    0
 tests/tcg/{ => i386}/test-i386-ssse3.c        |    0
 tests/tcg/{ => i386}/test-i386-vm86.S         |    0
 tests/tcg/{ => i386}/test-i386.c              |    7 +-
 tests/tcg/{ => i386}/test-i386.h              |    0
 tests/tcg/m68k/Makefile.include               |    2 +
 tests/tcg/m68k/Makefile.target                |    7 +
 tests/tcg/mips/Makefile.include               |   20 +
 tests/tcg/mips/Makefile.target                |   22 +
 tests/tcg/mips/README                         |    7 +
 tests/tcg/{ => mips}/hello-mips.c             |    0
 tests/tcg/multiarch/Makefile.target           |   36 +
 tests/tcg/multiarch/README                    |    1 +
 tests/tcg/{ => multiarch}/linux-test.c        |  148 +-
 tests/tcg/{ => multiarch}/sha1.c              |    0
 tests/tcg/{ => multiarch}/test-mmap.c         |   40 +-
 tests/tcg/{ => multiarch}/testthread.c        |    0
 tests/tcg/ppc/Makefile.include                |    7 +
 tests/tcg/ppc/Makefile.target                 |   12 +
 tests/tcg/riscv/Makefile.include              |   10 +
 tests/tcg/s390x/Makefile.include              |    2 +
 tests/tcg/sh4/Makefile.include                |    4 +
 tests/tcg/sh4/Makefile.target                 |    7 +
 tests/tcg/sparc64/Makefile.include            |    2 +
 tests/tcg/sparc64/Makefile.target             |   11 +
 tests/tcg/test_path.c                         |  157 -
 tests/tcg/x86_64/Makefile.target              |   15 +
 77 files changed, 8118 insertions(+), 625 deletions(-)
 create mode 100644 tests/docker/dockerfiles/debian-alpha-cross.docker
 delete mode 100755 tests/docker/dockerfiles/debian-apt-fake.sh
 create mode 100644 tests/docker/dockerfiles/debian-hppa-cross.docker
 create mode 100644 tests/docker/dockerfiles/debian-m68k-cross.docker
 create mode 100644 tests/docker/dockerfiles/debian-mips64-cross.docker
 create mode 100644 tests/docker/dockerfiles/debian-riscv64-cross.docker
 create mode 100644 tests/docker/dockerfiles/debian-sh4-cross.docker
 create mode 100644 tests/docker/dockerfiles/debian-sid.docker
 create mode 100644 tests/docker/dockerfiles/debian-sparc64-cross.docker
 create mode 100644 tests/tcg/Makefile.include
 create mode 100644 tests/tcg/Makefile.probe
 create mode 100644 tests/tcg/aarch64/Makefile.include
 create mode 100644 tests/tcg/aarch64/Makefile.target
 create mode 100644 tests/tcg/aarch64/fcvt.ref
 delete mode 100644 tests/tcg/alpha/Makefile
 create mode 100644 tests/tcg/alpha/Makefile.include
 create mode 100644 tests/tcg/alpha/Makefile.target
 delete mode 100644 tests/tcg/alpha/crt.s
 create mode 100644 tests/tcg/arm/Makefile.include
 create mode 100644 tests/tcg/arm/Makefile.target
 create mode 100644 tests/tcg/arm/README
 create mode 100644 tests/tcg/arm/fcvt.c
 create mode 100644 tests/tcg/arm/fcvt.ref
 rename tests/tcg/{ => arm}/hello-arm.c (100%)
 rename tests/tcg/{test-arm-iwmmxt.s => arm/test-arm-iwmmxt.S} (100%)
 create mode 100644 tests/tcg/hppa/Makefile.include
 create mode 100644 tests/tcg/hppa/Makefile.target
 create mode 100644 tests/tcg/i386/Makefile.include
 create mode 100644 tests/tcg/i386/Makefile.target
 create mode 100644 tests/tcg/i386/README
 rename tests/tcg/{ => i386}/hello-i386.c (96%)
 rename tests/tcg/{ => i386}/pi_10.com (100%)
 rename tests/tcg/{ => i386}/runcom.c (100%)
 rename tests/tcg/{ => i386}/test-i386-code16.S (100%)
 rename tests/tcg/{ => i386}/test-i386-fprem.c (97%)
 rename tests/tcg/{ => i386}/test-i386-muldiv.h (100%)
 rename tests/tcg/{ => i386}/test-i386-shift.h (100%)
 rename tests/tcg/{ => i386}/test-i386-ssse3.c (100%)
 rename tests/tcg/{ => i386}/test-i386-vm86.S (100%)
 rename tests/tcg/{ => i386}/test-i386.c (99%)
 rename tests/tcg/{ => i386}/test-i386.h (100%)
 create mode 100644 tests/tcg/m68k/Makefile.include
 create mode 100644 tests/tcg/m68k/Makefile.target
 create mode 100644 tests/tcg/mips/Makefile.include
 create mode 100644 tests/tcg/mips/Makefile.target
 create mode 100644 tests/tcg/mips/README
 rename tests/tcg/{ => mips}/hello-mips.c (100%)
 create mode 100644 tests/tcg/multiarch/Makefile.target
 create mode 100644 tests/tcg/multiarch/README
 rename tests/tcg/{ => multiarch}/linux-test.c (82%)
 rename tests/tcg/{ => multiarch}/sha1.c (100%)
 rename tests/tcg/{ => multiarch}/test-mmap.c (93%)
 rename tests/tcg/{ => multiarch}/testthread.c (100%)
 create mode 100644 tests/tcg/ppc/Makefile.include
 create mode 100644 tests/tcg/ppc/Makefile.target
 create mode 100644 tests/tcg/riscv/Makefile.include
 create mode 100644 tests/tcg/s390x/Makefile.include
 create mode 100644 tests/tcg/sh4/Makefile.include
 create mode 100644 tests/tcg/sh4/Makefile.target
 create mode 100644 tests/tcg/sparc64/Makefile.include
 create mode 100644 tests/tcg/sparc64/Makefile.target
 delete mode 100644 tests/tcg/test_path.c
 create mode 100644 tests/tcg/x86_64/Makefile.target

-- 
2.17.1

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

end of thread, other threads:[~2018-06-18 15:23 UTC | newest]

Thread overview: 72+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-15 19:46 [Qemu-devel] [PATCH v7 00/54] fix building of tests/tcg - last chance to review! Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 01/54] configure: add support for --cross-cc-FOO Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 02/54] configure: move i386_cc to cross_cc_i386 Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 03/54] configure: allow user to specify --cross-cc-cflags-foo= Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 04/54] configure: set cross_cc_FOO for host compiler Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 05/54] docker: Add "cc" subcommand Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 06/54] docker: extend "cc" command to accept compiler Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 07/54] docker: allow "cc" command to run in user context Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 08/54] docker: Makefile.include introduce DOCKER_SCRIPT Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 09/54] tests/tcg: move architecture independent tests into subdir Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 10/54] tests/tcg/multiarch: Build fix for linux-test Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 11/54] tests/tcg/multiarch: enable additional linux-test tests Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 12/54] tests/tcg/multiarch: don't hard code paths/ports for linux-test Alex Bennée
2018-06-16 19:46   ` Thomas Huth
2018-06-18 10:56     ` Alex Bennée
2018-06-18 11:08       ` Daniel P. Berrangé
2018-06-18 11:09         ` Thomas Huth
2018-06-18 11:14           ` Daniel P. Berrangé
2018-06-18 12:04         ` Alex Bennée
2018-06-18 12:40           ` Thomas Huth
2018-06-18 11:08       ` Thomas Huth
2018-06-16 22:24   ` Philippe Mathieu-Daudé
2018-06-17  9:18     ` Alex Bennée
2018-06-18 15:18       ` Philippe Mathieu-Daudé
2018-06-18 15:23         ` Philippe Mathieu-Daudé
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 13/54] tests/tcg/multiarch: move most output to stdout Alex Bennée
2018-06-16 19:48   ` Thomas Huth
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 14/54] tests/tcg: move i386 specific tests into subdir Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 15/54] tests/tcg: enable building for i386 Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 16/54] tests/tcg/i386: Build fix for hello-i386 Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 17/54] tests/tcg/i386: fix test-i386 Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 18/54] tests/tcg/i386: add runner for test-i386-fprem Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 19/54] tests/tcg/x86_64: add Makefile.target Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 20/54] tests/tcg/i386/test-i386: use modern vector_size attributes Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 21/54] tests/tcg/i386/test-i386: fix printf format Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 22/54] tests/tcg: move ARM specific tests into subdir Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 23/54] tests/tcg: enable building for ARM Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 24/54] tests/tcg/arm: fix up test-arm-iwmmxt test Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 25/54] tests/tcg: enable building for AArch64 Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 26/54] tests/tcg/arm: add fcvt test cases for AArch32/64 Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 27/54] tests/tcg: move MIPS specific tests into subdir Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 28/54] tests/tcg: enable building for MIPS Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 29/54] tests/docker/Makefile.include: fix mipsel-cross dependancy Alex Bennée
2018-06-16 22:27   ` Philippe Mathieu-Daudé
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 30/54] tests/tcg/mips: include common mips hello-mips Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 31/54] tests/tcg: enable building for s390x Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 32/54] tests/tcg: enable building for ppc64 Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 33/54] tests/tcg: enable building for Alpha Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 34/54] tests/tcg/alpha: add Alpha specific tests Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 35/54] tests/tcg: enable building for HPPA Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 36/54] tests/tcg: enable building for m68k Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 37/54] tests/tcg: enable building for sh4 Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 38/54] tests/tcg: enable building for sparc64 Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 39/54] tests/tcg: enable building for mips64 Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 40/54] tests/tcg: enable building for RISCV64 Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 41/54] docker: move debian-powerpc-cross to sid based build Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 42/54] tests/tcg: enable building for PowerPC Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 43/54] tests/tcg/Makefile: update to be called from Makefile.target Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 44/54] Makefile.target: add (clean-/build-)guest-tests targets Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 45/54] tests/Makefile.include: add [build|clean|check]-tcg targets Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 46/54] tests/tcg: add run, diff, and skip helper macros Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 47/54] tests/tcg: override runners for broken tests Alex Bennée
2018-06-15 19:46 ` [Qemu-devel] [PATCH v7 48/54] tests: add top-level make dependency for docker builds Alex Bennée
2018-06-15 19:47 ` [Qemu-devel] [PATCH v7 49/54] docker: docker.py don't conflate checksums for extra_files Alex Bennée
2018-06-15 19:47 ` [Qemu-devel] [PATCH v7 50/54] docker: docker.py add check sub-command Alex Bennée
2018-06-18 15:06   ` Philippe Mathieu-Daudé
2018-06-15 19:47 ` [Qemu-devel] [PATCH v7 51/54] tests/Makefile: call sub-makes with SKIP_DOCKER_BUILD=1 Alex Bennée
2018-06-15 19:47 ` [Qemu-devel] [PATCH v7 52/54] docker: docker.py adding age check command Alex Bennée
2018-06-18 15:07   ` Philippe Mathieu-Daudé
2018-06-15 19:47 ` [Qemu-devel] [PATCH v7 53/54] tests/docker/Makefile.include: only force SID to NOCACHE if old Alex Bennée
2018-06-15 19:47 ` [Qemu-devel] [PATCH v7 54/54] .travis.yml: add check-tcg test Alex Bennée
2018-06-15 22:29 ` [Qemu-devel] [PATCH v7 00/54] fix building of tests/tcg - last chance to review! no-reply

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.