qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] tests/tcg: Run tests on arch variants again


From: Alex Bennée
Subject: Re: [PATCH] tests/tcg: Run tests on arch variants again
Date: Wed, 14 Apr 2021 12:02:55 +0100
User-agent: mu4e 1.5.11; emacs 28.0.50

Philippe Mathieu-Daudé <f4bug@amsat.org> writes:

> We used to run the TCG tests for various QEMU targets, but at
> some points it got restricted to base directories in tests/tcg/.
> For example, armeb/mipsel/mips64/... targets are currently skipped.
>
> The configuration Makefiles in default-configs/targets/ provide all
> the required information, in particular TARGET_BASE_ARCH.
>
> Source the target default-configs.mak and optionally process the
> TARGET_ARCH / TARGET_BASE_ARCH Makefiles (if these variables differ
> from TARGET_NAME).
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>  tests/tcg/Makefile.target | 27 +++++++++++++++++++++++++++
>  1 file changed, 27 insertions(+)
>
> diff --git a/tests/tcg/Makefile.target b/tests/tcg/Makefile.target
> index 24d75a5801f..677b247328f 100644
> --- a/tests/tcg/Makefile.target
> +++ b/tests/tcg/Makefile.target
> @@ -85,6 +85,10 @@ TIMEOUT=15
>  endif
>  
>  ifdef CONFIG_USER_ONLY
> +
> +# FIXME bsd-user?
> +include $(SRC_PATH)/default-configs/targets/$(TARGET_NAME)-linux-user.mak
> +
>  # The order we include is important. We include multiarch first and
>  # then the target. If there are common tests shared between
>  # sub-targets (e.g. ARM & AArch64) then it is up to
> @@ -92,6 +96,16 @@ ifdef CONFIG_USER_ONLY
>  # architecture in its VPATH.
>  -include $(SRC_PATH)/tests/tcg/multiarch/Makefile.target
>  -include $(SRC_PATH)/tests/tcg/$(TARGET_NAME)/Makefile.target
> +ifneq ($(TARGET_ARCH),)
> +ifneq ($(TARGET_ARCH),$(TARGET_NAME))
> +-include $(SRC_PATH)/tests/tcg/$(TARGET_ARCH)/Makefile.target
> +endif
> +endif
> +ifneq ($(TARGET_BASE_ARCH),)
> +ifneq ($(TARGET_BASE_ARCH),$(TARGET_ARCH))
> +-include $(SRC_PATH)/tests/tcg/$(TARGET_BASE_ARCH)/Makefile.target
> +endif
> +endif

This then breaks things like aarch64-linux-user semihosting tests
because we end up overriding semihosting CFLAGS:

  subprocess.CalledProcessError: Command '['docker', 'run', '--rm', '--label', 
'com.qemu.instance.uuid=34c4dca59b4f4f368fcc75f25e6b79d8', '-u', '1000', '-w', 
'/home/alex/lsrc/qemu.git/builds/user.static/tests/tcg/aarch64-linux-user', 
'-v', 
'/home/alex/lsrc/qemu.git/builds/user.static/tests/tcg/aarch64-linux-user:/home/alex/lsrc/qemu.git/builds/user.static/tests/tcg/aarch64-linux-user:rw',
 '-v', '/home/alex/lsrc/qemu.git:/home/alex/lsrc/qemu.git:ro,z', 
'qemu/debian-arm64-test-cross', 'aarch64-linux-gnu-gcc-10', '-Wall', '-Werror', 
'-O0', '-g', '-fno-strict-aliasing', 
'-I/home/alex/lsrc/qemu.git/tests/tcg/aarch64', '-mthumb', 
'/home/alex/lsrc/qemu.git/tests/tcg/multiarch/arm-compat-semi/semihosting.c', 
'-o', 'semihosting', '-static']' returned non-zero exit status 1.
  filter=--filter=label=com.qemu.instance.uuid=34c4dca59b4f4f368fcc75f25e6b79d8
  make[2]: *** [../Makefile.target:120: semihosting] Error 1
  make[1]: *** [/home/alex/lsrc/qemu.git/tests/tcg/Makefile.qemu:64: 
docker-build-guest-tests] Error 2
  make: *** [/home/alex/lsrc/qemu.git/tests/Makefile.include:56: 
build-tcg-tests-aarch64-linux-user] Error 2

We should at least be able to run multiarch tests for all these other
arches if we have the right compilers for them.

I'm untangling configure.sh at the moment because I'm not quite sure
what the current "arches" variable in there is trying to achieve.

-- 
Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]