From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933848AbbENRL6 (ORCPT ); Thu, 14 May 2015 13:11:58 -0400 Received: from mail-vn0-f51.google.com ([209.85.216.51]:35444 "EHLO mail-vn0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933155AbbENRLx (ORCPT ); Thu, 14 May 2015 13:11:53 -0400 MIME-Version: 1.0 In-Reply-To: <5554BED4.9040204@osg.samsung.com> References: <1431467947-29847-1-git-send-email-tyler.baker@linaro.org> <1431467947-29847-3-git-send-email-tyler.baker@linaro.org> <5553C51B.6080504@osg.samsung.com> <5554BED4.9040204@osg.samsung.com> Date: Thu, 14 May 2015 10:11:52 -0700 Message-ID: Subject: Re: [PATCH 2/2] selftests/breakpoints: only set TEST_PROGS when built From: Tyler Baker To: Shuah Khan Cc: Andy Lutomirski , Kevin Hilman , John Stultz , Darren Hart , Michael Ellerman , David Herrmann , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 14 May 2015 at 08:27, Shuah Khan wrote: > On 05/14/2015 08:15 AM, Tyler Baker wrote: >> On 13 May 2015 at 14:41, Shuah Khan wrote: >>> On 05/12/2015 03:59 PM, tyler.baker@linaro.org wrote: >>>> From: Tyler Baker >>>> >>>> Set TEST_PROGS only when a build has occurred. >>>> >>>> Signed-off-by: Tyler Baker >>>> --- >>>> tools/testing/selftests/breakpoints/Makefile | 3 +-- >>>> 1 file changed, 1 insertion(+), 2 deletions(-) >>>> >>>> diff --git a/tools/testing/selftests/breakpoints/Makefile b/tools/testing/selftests/breakpoints/Makefile >>>> index 1822356..54cc3e7 100644 >>>> --- a/tools/testing/selftests/breakpoints/Makefile >>>> +++ b/tools/testing/selftests/breakpoints/Makefile >>>> @@ -12,12 +12,11 @@ endif >>>> all: >>>> ifeq ($(ARCH),x86) >>>> gcc breakpoint_test.c -o breakpoint_test >>>> + TEST_PROGS := breakpoint_test >>>> else >>>> echo "Not an x86 target, can't build breakpoints selftests" >>>> endif >>>> >>>> -TEST_PROGS := breakpoint_test >>>> - >>>> include ../lib.mk >>>> >>>> clean: >>>> >>> >>> Hmm. With this change install fails to copy breakpoint_test all >>> together. Remember setting TEST_PROGS in compile step makes it >>> not stick around when install target is called. A better approach >>> would be the following: >>> >>> if [ -f breakpoint_test ] >>> TEST_PROGS := breakpoint_test >>> fi >> >> Thanks for pointing this out, this is a good catch. We will also need >> to do this for the x86 tests IIRC. Would it make more sense to have >> this check performed in the INSTALL_RULE so that we don't have to have >> a bunch of IF statements in the various Makefiles? > > Right. x86 will need this type of logic for 32-bit execs when they > aren't not built on a 64-bit system, and for 64-bit execs when they > aren't built on a 32-bit system. Considering the change below we can now simplify this case for x86 to: diff --git a/tools/testing/selftests/x86/Makefile b/tools/testing/selftests/x86/Makefile index 12d8e76..3e238d0 100644 --- a/tools/testing/selftests/x86/Makefile +++ b/tools/testing/selftests/x86/Makefile @@ -14,13 +14,9 @@ UNAME_M := $(shell uname -m) ifeq ($(CROSS_COMPILE),) # Always build 32-bit tests all: all_32 -# Install 32-bit tests -TEST_PROGS += $(BINARIES_32) run_x86_tests.sh # If we're on a 64-bit host, build 64-bit tests as well ifeq ($(UNAME_M),x86_64) all: all_64 -# Install 64-bit tests -TEST_PROGS += $(BINARIES_64) endif endif @@ -28,6 +24,9 @@ all_32: check_build32 $(BINARIES_32) all_64: $(BINARIES_64) +# Install the tests +TEST_PROGS := $(BINARIES_32) $(BINARIES_64) run_x86_tests.sh + include ../lib.mk clean: If the binaries do not exist, they will be not be installed. If you and Andy are ok with this, I'll add a patch to this series. > >> >> Something like... >> >> @for ARTIFACT in $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES); do \ >> if [ -f $$ARTIFACT ]; then \ >> install -t $(INSTALL_PATH) $$ARTIFACT; \ >> fi; \ >> done; >> > > I think it makes perfect sense to do this in INSTALL_RULE. > As you said, this will avoid changes to test individual > Makefiles and new test writers don't have to worry about > adding this. > > Would you like make the necessary changes? Sure, I'll add this in the next revision. > > thanks, > -- Shuah > > > -- > Shuah Khan > Sr. Linux Kernel Developer > Open Source Innovation Group > Samsung Research America (Silicon Valley) > shuahkh@osg.samsung.com | (970) 217-8978 Cheers, Tyler From mboxrd@z Thu Jan 1 00:00:00 1970 From: tyler.baker@linaro.org (Tyler Baker) Date: Thu, 14 May 2015 10:11:52 -0700 Subject: [PATCH 2/2] selftests/breakpoints: only set TEST_PROGS when built In-Reply-To: <5554BED4.9040204@osg.samsung.com> References: <1431467947-29847-1-git-send-email-tyler.baker@linaro.org> <1431467947-29847-3-git-send-email-tyler.baker@linaro.org> <5553C51B.6080504@osg.samsung.com> <5554BED4.9040204@osg.samsung.com> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 14 May 2015 at 08:27, Shuah Khan wrote: > On 05/14/2015 08:15 AM, Tyler Baker wrote: >> On 13 May 2015 at 14:41, Shuah Khan wrote: >>> On 05/12/2015 03:59 PM, tyler.baker at linaro.org wrote: >>>> From: Tyler Baker >>>> >>>> Set TEST_PROGS only when a build has occurred. >>>> >>>> Signed-off-by: Tyler Baker >>>> --- >>>> tools/testing/selftests/breakpoints/Makefile | 3 +-- >>>> 1 file changed, 1 insertion(+), 2 deletions(-) >>>> >>>> diff --git a/tools/testing/selftests/breakpoints/Makefile b/tools/testing/selftests/breakpoints/Makefile >>>> index 1822356..54cc3e7 100644 >>>> --- a/tools/testing/selftests/breakpoints/Makefile >>>> +++ b/tools/testing/selftests/breakpoints/Makefile >>>> @@ -12,12 +12,11 @@ endif >>>> all: >>>> ifeq ($(ARCH),x86) >>>> gcc breakpoint_test.c -o breakpoint_test >>>> + TEST_PROGS := breakpoint_test >>>> else >>>> echo "Not an x86 target, can't build breakpoints selftests" >>>> endif >>>> >>>> -TEST_PROGS := breakpoint_test >>>> - >>>> include ../lib.mk >>>> >>>> clean: >>>> >>> >>> Hmm. With this change install fails to copy breakpoint_test all >>> together. Remember setting TEST_PROGS in compile step makes it >>> not stick around when install target is called. A better approach >>> would be the following: >>> >>> if [ -f breakpoint_test ] >>> TEST_PROGS := breakpoint_test >>> fi >> >> Thanks for pointing this out, this is a good catch. We will also need >> to do this for the x86 tests IIRC. Would it make more sense to have >> this check performed in the INSTALL_RULE so that we don't have to have >> a bunch of IF statements in the various Makefiles? > > Right. x86 will need this type of logic for 32-bit execs when they > aren't not built on a 64-bit system, and for 64-bit execs when they > aren't built on a 32-bit system. Considering the change below we can now simplify this case for x86 to: diff --git a/tools/testing/selftests/x86/Makefile b/tools/testing/selftests/x86/Makefile index 12d8e76..3e238d0 100644 --- a/tools/testing/selftests/x86/Makefile +++ b/tools/testing/selftests/x86/Makefile @@ -14,13 +14,9 @@ UNAME_M := $(shell uname -m) ifeq ($(CROSS_COMPILE),) # Always build 32-bit tests all: all_32 -# Install 32-bit tests -TEST_PROGS += $(BINARIES_32) run_x86_tests.sh # If we're on a 64-bit host, build 64-bit tests as well ifeq ($(UNAME_M),x86_64) all: all_64 -# Install 64-bit tests -TEST_PROGS += $(BINARIES_64) endif endif @@ -28,6 +24,9 @@ all_32: check_build32 $(BINARIES_32) all_64: $(BINARIES_64) +# Install the tests +TEST_PROGS := $(BINARIES_32) $(BINARIES_64) run_x86_tests.sh + include ../lib.mk clean: If the binaries do not exist, they will be not be installed. If you and Andy are ok with this, I'll add a patch to this series. > >> >> Something like... >> >> @for ARTIFACT in $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES); do \ >> if [ -f $$ARTIFACT ]; then \ >> install -t $(INSTALL_PATH) $$ARTIFACT; \ >> fi; \ >> done; >> > > I think it makes perfect sense to do this in INSTALL_RULE. > As you said, this will avoid changes to test individual > Makefiles and new test writers don't have to worry about > adding this. > > Would you like make the necessary changes? Sure, I'll add this in the next revision. > > thanks, > -- Shuah > > > -- > Shuah Khan > Sr. Linux Kernel Developer > Open Source Innovation Group > Samsung Research America (Silicon Valley) > shuahkh at osg.samsung.com | (970) 217-8978 Cheers, Tyler