selftests: fix prepending $(OUTPUT) to $(TEST_PROGS)
diff mbox series

Message ID 20190903145052.94735-1-iii@linux.ibm.com
State New
Headers show
Series
  • selftests: fix prepending $(OUTPUT) to $(TEST_PROGS)
Related show

Commit Message

Ilya Leoshkevich Sept. 3, 2019, 2:50 p.m. UTC
The current logic prepends $(OUTPUT) only to the first member of
$(TEST_PROGS). Use $(foreach) loop to prepend it to each member.

Fixes: 1a940687e424 ("selftests: lib.mk: copy test scripts and test files for make O=dir run")
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
---
 tools/testing/selftests/lib.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

shuah Sept. 6, 2019, 4:19 p.m. UTC | #1
On 9/3/19 8:50 AM, Ilya Leoshkevich wrote:
> The current logic prepends $(OUTPUT) only to the first member of
> $(TEST_PROGS). Use $(foreach) loop to prepend it to each member.
> 
> Fixes: 1a940687e424 ("selftests: lib.mk: copy test scripts and test files for make O=dir run")
> Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
> ---
>   tools/testing/selftests/lib.mk | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
> index 1c8a1963d03f..857916ebbb9b 100644
> --- a/tools/testing/selftests/lib.mk
> +++ b/tools/testing/selftests/lib.mk
> @@ -75,7 +75,8 @@ ifdef building_out_of_srctree
>   		@rsync -aq $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) $(OUTPUT)
>   	fi
>   	@if [ "X$(TEST_PROGS)" != "X" ]; then
> -		$(call RUN_TESTS, $(TEST_GEN_PROGS) $(TEST_CUSTOM_PROGS) $(OUTPUT)/$(TEST_PROGS))
> +		$(call RUN_TESTS, $(TEST_GEN_PROGS) $(TEST_CUSTOM_PROGS) \
> +				  $(foreach p,$(TEST_PROGS),$(OUTPUT)$(p)))
>   	else
>   		$(call RUN_TESTS, $(TEST_GEN_PROGS) $(TEST_CUSTOM_PROGS))
>   	fi
> 

Hmm. with this patch there is a regression:

make kselftest O=/tmp/kselftest TARGETS=splice

fails for me with


TAP version 13
1..1
# selftests: splice: splicedefault_file_splice_read.sh
# Warning: file /tmp/kselftest/splicedefault_file_splice_read.sh is missing!
not ok 1 selftests: splice: splicedefault_file_splice_read.sh
make[1]: Leaving directory '/tmp/kselftest'

Without your patch works just fine:

make kselftest O=/tmp/kselftest TARGETS=splice
make[1]: Entering directory '/tmp/kselftest'
make --no-builtin-rules INSTALL_HDR_PATH=$BUILD/usr \
	ARCH=x86 -C ../../.. headers_install
   INSTALL /tmp/kselftest/usr/include
gcc     default_file_splice_read.c  -o 
/tmp/kselftest/splice/default_file_splice_read
TAP version 13
1..1
# selftests: splice: default_file_splice_read.sh
ok 1 selftests: splice: default_file_splice_read.sh
make[1]: Leaving directory '/tmp/kselftest'


thanks,
-- Shuah

Patch
diff mbox series

diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
index 1c8a1963d03f..857916ebbb9b 100644
--- a/tools/testing/selftests/lib.mk
+++ b/tools/testing/selftests/lib.mk
@@ -75,7 +75,8 @@  ifdef building_out_of_srctree
 		@rsync -aq $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) $(OUTPUT)
 	fi
 	@if [ "X$(TEST_PROGS)" != "X" ]; then
-		$(call RUN_TESTS, $(TEST_GEN_PROGS) $(TEST_CUSTOM_PROGS) $(OUTPUT)/$(TEST_PROGS))
+		$(call RUN_TESTS, $(TEST_GEN_PROGS) $(TEST_CUSTOM_PROGS) \
+				  $(foreach p,$(TEST_PROGS),$(OUTPUT)$(p)))
 	else
 		$(call RUN_TESTS, $(TEST_GEN_PROGS) $(TEST_CUSTOM_PROGS))
 	fi