On 09.03.2023 17:58, Roger Pau Monne wrote:
> Introduce an install target, like it's used by other tests.  This
> allows running the test on the installed systems, which is easier than
> running it during the build phase when dealing with automated testing.
> Strictly speaking the vpci test doesn't require to be run on a Xen
> host currently, but that allows easier integration with logic that
> runs the rest of the tests.

I accept that as a possible way of looking at things, but personally I
remain unconvinced of this model. To me what is installed should be of
value to users. If there was a properly separated directory where all
(and only) tests were put, I might agree with installing. (Nevertheless
this isn't an objection, merely a remark.)

> While there also adjust the makefile to use $(RM), and rename the
> resulting binary to use a dash instead of an underscore (again to
> match the rest of the tests).
> 
> Since the resulting test binary is now part of the distribution CC
> must be used instead of HOSTCC.

This breaks the run: goal, doesn't it? If the new mode is wanted, I
think the two kinds of binaries (and rules) need separating (maybe a
way can be found to avoid duplicating the rules, which would seem
desirable).

> --- a/tools/tests/vpci/Makefile
> +++ b/tools/tests/vpci/Makefile
> @@ -1,7 +1,7 @@
>  XEN_ROOT=$(CURDIR)/../../..
>  include $(XEN_ROOT)/tools/Rules.mk
>  
> -TARGET := test_vpci
> +TARGET := test-vpci
>  
>  .PHONY: all
>  all: $(TARGET)
> @@ -11,17 +11,23 @@ run: $(TARGET)
>       ./$(TARGET)
>  
>  $(TARGET): vpci.c vpci.h list.h main.c emul.h
> -     $(HOSTCC) -g -o $@ vpci.c main.c
> +     $(CC) -o $@ vpci.c main.c

You're losing -g and you're also not covering for it by adding $(CFLAGS)
(there should have been use of $(HOSTCFLAGS) already before, I suppose).

Jan

Reply via email to