[PATCH v1 03/11] tests/tcg: move some multiarch files and make conditional

Alex Bennée posted 11 patches 4 years, 4 months ago
[PATCH v1 03/11] tests/tcg: move some multiarch files and make conditional
Posted by Alex Bennée 4 years, 4 months ago
We had some messy code to filter out stuff we can't build. Lets junk
that and simplify the logic by pushing some stuff into subdirs. In
particular we move:

  float_helpers into libs - not a standalone test
  linux-test into linux - so we only build on Linux hosts

This allows for at least some of the tests to be nominally usable
by *BSD user builds.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Cc: Warner Losh <imp@bsdimp.com>
---
 tests/tcg/multiarch/{ => libs}/float_helpers.c |  2 +-
 tests/tcg/multiarch/{ => linux}/linux-test.c   |  0
 tests/tcg/multiarch/Makefile.target            | 15 ++++++++++-----
 tests/tcg/x86_64/Makefile.target               |  4 ++++
 4 files changed, 15 insertions(+), 6 deletions(-)
 rename tests/tcg/multiarch/{ => libs}/float_helpers.c (99%)
 rename tests/tcg/multiarch/{ => linux}/linux-test.c (100%)

diff --git a/tests/tcg/multiarch/float_helpers.c b/tests/tcg/multiarch/libs/float_helpers.c
similarity index 99%
rename from tests/tcg/multiarch/float_helpers.c
rename to tests/tcg/multiarch/libs/float_helpers.c
index bc530e5732..4e68d2b659 100644
--- a/tests/tcg/multiarch/float_helpers.c
+++ b/tests/tcg/multiarch/libs/float_helpers.c
@@ -22,7 +22,7 @@
 #include <float.h>
 #include <fenv.h>
 
-#include "float_helpers.h"
+#include "../float_helpers.h"
 
 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
 
diff --git a/tests/tcg/multiarch/linux-test.c b/tests/tcg/multiarch/linux/linux-test.c
similarity index 100%
rename from tests/tcg/multiarch/linux-test.c
rename to tests/tcg/multiarch/linux/linux-test.c
diff --git a/tests/tcg/multiarch/Makefile.target b/tests/tcg/multiarch/Makefile.target
index 85a6fb7a2e..3763df2019 100644
--- a/tests/tcg/multiarch/Makefile.target
+++ b/tests/tcg/multiarch/Makefile.target
@@ -8,18 +8,23 @@
 MULTIARCH_SRC=$(SRC_PATH)/tests/tcg/multiarch
 
 # Set search path for all sources
-VPATH 		+= $(MULTIARCH_SRC)
-MULTIARCH_SRCS   =$(notdir $(wildcard $(MULTIARCH_SRC)/*.c))
-MULTIARCH_TESTS  =$(filter-out float_helpers, $(MULTIARCH_SRCS:.c=))
+VPATH 	       += $(MULTIARCH_SRC)
+MULTIARCH_SRCS =  $(notdir $(wildcard $(MULTIARCH_SRC)/*.c))
+ifneq ($(CONFIG_LINUX),)
+VPATH 	       += $(MULTIARCH_SRC)/linux
+MULTIARCH_SRCS += $(notdir $(wildcard $(MULTIARCH_SRC)/linux/*.c))
+endif
+MULTIARCH_TESTS = $(MULTIARCH_SRCS:.c=)
 
+$(info SRCS=${MULTIARCH_SRCS} and ${MULTIARCH_TESTS})
 #
 # The following are any additional rules needed to build things
 #
 
 
 float_%: LDFLAGS+=-lm
-float_%: float_%.c float_helpers.c
-	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< $(MULTIARCH_SRC)/float_helpers.c -o $@ $(LDFLAGS)
+float_%: float_%.c libs/float_helpers.c
+	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $< $(MULTIARCH_SRC)/libs/float_helpers.c -o $@ $(LDFLAGS)
 
 run-float_%: float_%
 	$(call run-test,$<, $(QEMU) $(QEMU_OPTS) $<,"$< on $(TARGET_NAME)")
diff --git a/tests/tcg/x86_64/Makefile.target b/tests/tcg/x86_64/Makefile.target
index 2151ea6302..d7a7385583 100644
--- a/tests/tcg/x86_64/Makefile.target
+++ b/tests/tcg/x86_64/Makefile.target
@@ -8,8 +8,12 @@
 
 include $(SRC_PATH)/tests/tcg/i386/Makefile.target
 
+ifneq ($(CONFIG_LINUX),)
 X86_64_TESTS += vsyscall
 TESTS=$(MULTIARCH_TESTS) $(X86_64_TESTS) test-x86_64
+else
+TESTS=$(MULTIARCH_TESTS)
+endif
 QEMU_OPTS += -cpu max
 
 test-x86_64: LDFLAGS+=-lm -lc
-- 
2.30.2


Re: [PATCH v1 03/11] tests/tcg: move some multiarch files and make conditional
Posted by Warner Losh 4 years, 4 months ago
On Fri, Sep 17, 2021 at 10:23 AM Alex Bennée <alex.bennee@linaro.org> wrote:

> We had some messy code to filter out stuff we can't build. Lets junk
> that and simplify the logic by pushing some stuff into subdirs. In
> particular we move:
>
>   float_helpers into libs - not a standalone test
>   linux-test into linux - so we only build on Linux hosts
>
> This allows for at least some of the tests to be nominally usable
> by *BSD user builds.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Cc: Warner Losh <imp@bsdimp.com>
> ---
>  tests/tcg/multiarch/{ => libs}/float_helpers.c |  2 +-
>  tests/tcg/multiarch/{ => linux}/linux-test.c   |  0
>  tests/tcg/multiarch/Makefile.target            | 15 ++++++++++-----
>  tests/tcg/x86_64/Makefile.target               |  4 ++++
>  4 files changed, 15 insertions(+), 6 deletions(-)
>  rename tests/tcg/multiarch/{ => libs}/float_helpers.c (99%)
>  rename tests/tcg/multiarch/{ => linux}/linux-test.c (100%)
>

Reviewed-by: Warner Losh <imp@bsdimp.com>

I've also tested it as well.


> diff --git a/tests/tcg/multiarch/float_helpers.c
> b/tests/tcg/multiarch/libs/float_helpers.c
> similarity index 99%
> rename from tests/tcg/multiarch/float_helpers.c
> rename to tests/tcg/multiarch/libs/float_helpers.c
> index bc530e5732..4e68d2b659 100644
> --- a/tests/tcg/multiarch/float_helpers.c
> +++ b/tests/tcg/multiarch/libs/float_helpers.c
> @@ -22,7 +22,7 @@
>  #include <float.h>
>  #include <fenv.h>
>
> -#include "float_helpers.h"
> +#include "../float_helpers.h"
>
>  #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
>
> diff --git a/tests/tcg/multiarch/linux-test.c
> b/tests/tcg/multiarch/linux/linux-test.c
> similarity index 100%
> rename from tests/tcg/multiarch/linux-test.c
> rename to tests/tcg/multiarch/linux/linux-test.c
> diff --git a/tests/tcg/multiarch/Makefile.target
> b/tests/tcg/multiarch/Makefile.target
> index 85a6fb7a2e..3763df2019 100644
> --- a/tests/tcg/multiarch/Makefile.target
> +++ b/tests/tcg/multiarch/Makefile.target
> @@ -8,18 +8,23 @@
>  MULTIARCH_SRC=$(SRC_PATH)/tests/tcg/multiarch
>
>  # Set search path for all sources
> -VPATH          += $(MULTIARCH_SRC)
> -MULTIARCH_SRCS   =$(notdir $(wildcard $(MULTIARCH_SRC)/*.c))
> -MULTIARCH_TESTS  =$(filter-out float_helpers, $(MULTIARCH_SRCS:.c=))
> +VPATH         += $(MULTIARCH_SRC)
> +MULTIARCH_SRCS =  $(notdir $(wildcard $(MULTIARCH_SRC)/*.c))
> +ifneq ($(CONFIG_LINUX),)
> +VPATH         += $(MULTIARCH_SRC)/linux
> +MULTIARCH_SRCS += $(notdir $(wildcard $(MULTIARCH_SRC)/linux/*.c))
> +endif
> +MULTIARCH_TESTS = $(MULTIARCH_SRCS:.c=)
>
> +$(info SRCS=${MULTIARCH_SRCS} and ${MULTIARCH_TESTS})
>  #
>  # The following are any additional rules needed to build things
>  #
>
>
>  float_%: LDFLAGS+=-lm
> -float_%: float_%.c float_helpers.c
> -       $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $<
> $(MULTIARCH_SRC)/float_helpers.c -o $@ $(LDFLAGS)
> +float_%: float_%.c libs/float_helpers.c
> +       $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $<
> $(MULTIARCH_SRC)/libs/float_helpers.c -o $@ $(LDFLAGS)
>
>  run-float_%: float_%
>         $(call run-test,$<, $(QEMU) $(QEMU_OPTS) $<,"$< on $(TARGET_NAME)")
> diff --git a/tests/tcg/x86_64/Makefile.target
> b/tests/tcg/x86_64/Makefile.target
> index 2151ea6302..d7a7385583 100644
> --- a/tests/tcg/x86_64/Makefile.target
> +++ b/tests/tcg/x86_64/Makefile.target
> @@ -8,8 +8,12 @@
>
>  include $(SRC_PATH)/tests/tcg/i386/Makefile.target
>
> +ifneq ($(CONFIG_LINUX),)
>  X86_64_TESTS += vsyscall
>  TESTS=$(MULTIARCH_TESTS) $(X86_64_TESTS) test-x86_64
> +else
> +TESTS=$(MULTIARCH_TESTS)
> +endif
>  QEMU_OPTS += -cpu max
>
>  test-x86_64: LDFLAGS+=-lm -lc
> --
> 2.30.2
>
>
Re: [PATCH v1 03/11] tests/tcg: move some multiarch files and make conditional
Posted by Philippe Mathieu-Daudé 4 years, 4 months ago
On 9/17/21 18:23, Alex Bennée wrote:
> We had some messy code to filter out stuff we can't build. Lets junk
> that and simplify the logic by pushing some stuff into subdirs. In
> particular we move:
> 
>   float_helpers into libs - not a standalone test
>   linux-test into linux - so we only build on Linux hosts
> 
> This allows for at least some of the tests to be nominally usable
> by *BSD user builds.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Cc: Warner Losh <imp@bsdimp.com>
> ---
>  tests/tcg/multiarch/{ => libs}/float_helpers.c |  2 +-
>  tests/tcg/multiarch/{ => linux}/linux-test.c   |  0
>  tests/tcg/multiarch/Makefile.target            | 15 ++++++++++-----
>  tests/tcg/x86_64/Makefile.target               |  4 ++++
>  4 files changed, 15 insertions(+), 6 deletions(-)
>  rename tests/tcg/multiarch/{ => libs}/float_helpers.c (99%)
>  rename tests/tcg/multiarch/{ => linux}/linux-test.c (100%)

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