[PATCH v4 00/19] testing: various docker clean-ups post meson tcg conversion

Alex Bennée posted 19 patches 1 week, 3 days ago
configure                               | 494 +++++++++++++++++++++++-
tests/tcg/s390x/libc/stdio.h            |  11 +
tests/tcg/s390x/libc/string.h           |  12 +
.gitlab-map-auto                        |   8 +-
linux-user/aarch64/Makefile.vdso        |   2 +-
linux-user/arm/Makefile.vdso            |   2 +-
linux-user/hppa/Makefile.vdso           |   2 +-
linux-user/i386/Makefile.vdso           |   2 +-
linux-user/loongarch64/Makefile.vdso    |   2 +-
linux-user/ppc/Makefile.vdso            |   2 +-
linux-user/riscv/Makefile.vdso          |   2 +-
linux-user/s390x/Makefile.vdso          |   2 +-
linux-user/sh4/Makefile.vdso            |   2 +-
linux-user/x86_64/Makefile.vdso         |   2 +-
meson_options.txt                       |  92 +----
scripts/coverity-scan/run-coverity-scan |   2 +-
scripts/gitlab-map-update               |   2 +-
scripts/meson-buildoptions.sh           |   3 +
scripts/mtest2make.py                   |  35 +-
tests/docker/Makefile.include           |  16 +-
tests/docker/docker.py                  | 188 ++++-----
tests/tcg/meson.build                   |  66 ++--
tests/tcg/s390x/system/meson.build      |   2 +
23 files changed, 659 insertions(+), 292 deletions(-)
create mode 100644 tests/tcg/s390x/libc/stdio.h
create mode 100644 tests/tcg/s390x/libc/string.h
[PATCH v4 00/19] testing: various docker clean-ups post meson tcg conversion
Posted by Alex Bennée 1 week, 3 days ago
This cleans up a few bits and pieces although doesn't totally solve
the issue of an apparent stall while meson builds the docker image.
However with these changes there should be no difference between the
meson build and the equivalent "make docker-image-foo" invocation.

We also finally get rid of the ill-advised magic caching support in
docker.py.

v4
 - added Illya's fixes for out of tree and s390x tests
 - tweaked the revert so --disable-containers still passed to meson
 - don't define tests if no compiler available to avoid excess SKIPs

v3

 - Update make2test to trigger docker build from Makefile.include.
 - add Daniels's suggested console: true patch
 - fixed up some unref vars from the reverts

v2

I've restored the configure based compiler checks for so we can build
roms and the vdso blobs again. It looks like we could never build roms
with container based images so I've left it for now. Unlike the vdso
build we can't trigger a container build through Makefile.prereqs.

TODO
----

I also need to look at the timestamp stuff that Pierrick has suggested
to see if that improves the caching from the registry.

The following still need review:

  tests/tcg: add console property to docker image custom target
  scripts/make2mtest: add docker dependencies for check-tcg-% targets
  tests/docker: fix brown bag typo for docker-ccache
  tests/docker: swap --quiet for --verbose
  tests/docker: add container registry to configure and use
  tests/tcg: don't define tests when missing compilers
  tests/tcg: use --add-current-user when building containers
  configure: re-purpose the tcg test compiler configs for vdso building
  Revert "tests/tcg/meson.build: implement ./configure -cross-cc-* options"

Please test and review.

Alex.

Alex Bennée (16):
  Revert "configure: remove cross_cc and gdb detection logic"
  Revert "tests/tcg/meson.build: implement ./configure -cross-cc-*
    options"
  Revert "tests/tcg/meson.build: implement ./configure containers
    options"
  configure: re-purpose the tcg test compiler configs for vdso building
  tests/tcg: prefix meson built docker tags with qemu/
  tests/tcg: use --add-current-user when building containers
  tests/tcg: don't define tests when missing compilers
  tests/docker: add container registry to configure and use
  tests/docker: remove used _read_qemu_dockerfile
  tests/docker: strip remaining caching logic from docker.py
  tests/docker: add specific command to parser
  tests/docker: swap --quiet for --verbose
  tests/docker: fix brown bag typo for docker-ccache
  gitlab: update the @user id mapping file
  scripts/make2mtest: add docker dependencies for check-tcg-% targets
  tests/tcg: add console property to docker image custom target

Daniel P. Berrangé (1):
  configure: correctly honour --disable-containers

Ilya Leoshkevich (2):
  tests/tcg/s390x: Provide the libc bits needed by the system tests
  tests/tcg: Fix building outside of the source tree

 configure                               | 494 +++++++++++++++++++++++-
 tests/tcg/s390x/libc/stdio.h            |  11 +
 tests/tcg/s390x/libc/string.h           |  12 +
 .gitlab-map-auto                        |   8 +-
 linux-user/aarch64/Makefile.vdso        |   2 +-
 linux-user/arm/Makefile.vdso            |   2 +-
 linux-user/hppa/Makefile.vdso           |   2 +-
 linux-user/i386/Makefile.vdso           |   2 +-
 linux-user/loongarch64/Makefile.vdso    |   2 +-
 linux-user/ppc/Makefile.vdso            |   2 +-
 linux-user/riscv/Makefile.vdso          |   2 +-
 linux-user/s390x/Makefile.vdso          |   2 +-
 linux-user/sh4/Makefile.vdso            |   2 +-
 linux-user/x86_64/Makefile.vdso         |   2 +-
 meson_options.txt                       |  92 +----
 scripts/coverity-scan/run-coverity-scan |   2 +-
 scripts/gitlab-map-update               |   2 +-
 scripts/meson-buildoptions.sh           |   3 +
 scripts/mtest2make.py                   |  35 +-
 tests/docker/Makefile.include           |  16 +-
 tests/docker/docker.py                  | 188 ++++-----
 tests/tcg/meson.build                   |  66 ++--
 tests/tcg/s390x/system/meson.build      |   2 +
 23 files changed, 659 insertions(+), 292 deletions(-)
 create mode 100644 tests/tcg/s390x/libc/stdio.h
 create mode 100644 tests/tcg/s390x/libc/string.h

-- 
2.47.3


Re: [PATCH v4 00/19] testing: various docker clean-ups post meson tcg conversion
Posted by Richard Henderson 1 week, 2 days ago
On 9/16/26 05:29, Alex Bennée wrote:
> This cleans up a few bits and pieces although doesn't totally solve
> the issue of an apparent stall while meson builds the docker image.
> However with these changes there should be no difference between the
> meson build and the equivalent "make docker-image-foo" invocation.
> 
> We also finally get rid of the ill-advised magic caching support in
> docker.py.
> 
> v4
>   - added Illya's fixes for out of tree and s390x tests
>   - tweaked the revert so --disable-containers still passed to meson
>   - don't define tests if no compiler available to avoid excess SKIPs
> 
> v3
> 
>   - Update make2test to trigger docker build from Makefile.include.
>   - add Daniels's suggested console: true patch
>   - fixed up some unref vars from the reverts
> 
> v2
> 
> I've restored the configure based compiler checks for so we can build
> roms and the vdso blobs again. It looks like we could never build roms
> with container based images so I've left it for now. Unlike the vdso
> build we can't trigger a container build through Makefile.prereqs.
> 
> TODO
> ----
> 
> I also need to look at the timestamp stuff that Pierrick has suggested
> to see if that improves the caching from the registry.
> 
> The following still need review:
> 
>    tests/tcg: add console property to docker image custom target
>    scripts/make2mtest: add docker dependencies for check-tcg-% targets
>    tests/docker: fix brown bag typo for docker-ccache
>    tests/docker: swap --quiet for --verbose
>    tests/docker: add container registry to configure and use
>    tests/tcg: don't define tests when missing compilers
>    tests/tcg: use --add-current-user when building containers
>    configure: re-purpose the tcg test compiler configs for vdso building
>    Revert "tests/tcg/meson.build: implement ./configure -cross-cc-* options"
> 
> Please test and review.

While I don't really understand some of the container intricacies, this 
does fix all of my build and test issues, so

Tested-by: Richard Henderson <richard.henderson@linaro.org>

r~