Re: [PATCH v2 0/6] enable O and KBUILD_OUTPUT for kselftest

From: Bamvor Zhang Jian
Date: Wed Nov 30 2016 - 10:32:40 EST


Hi, Shuah, Michael

On 30 November 2016 at 22:17, Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> wrote:
> On 11/29/2016 04:55 AM, bamvor.zhangjian@xxxxxxxxxx wrote:
>> From: Bamvor Jian Zhang <bamvor.zhangjian@xxxxxxxxxx>
>>
>> Here is my second version for enabling the KBUILD_OUTPUT for kselftest.
>> The first version could be found here[1]. I fix and test all the TARGET
>> in tools/testing/selftest/Makefile. For ppc, I test through fake target.
>>
>> There are six patches in these series. And five of them clean up the
>> existing code. I split the clean up patches into five, hope it is easy
>> to review.
>>
>> selftests: remove duplicated all and clean target
>> selftests: remove useless TEST_DIRS
>> a selftests: add pattern rules
>> A selftests: remove CROSS_COMPILE in dedicated Makefile
>> A selftests: add EXTRA_CLEAN for clean target
>> selftests: enable O and KBUILD_OUTPUT
>>
>> Notes:
>> A: Ack by Michael.
>> a: ack by Michael. Minor update after rebase.
>
> Bamovar/Michael,
>
> Are these rebased to linux-next? Michael was concerned about
> conflicts with powerpc tree. Would rebasing to linux-next help
> avoiding conflicts?
Yes. I rebase to latest linux-next. It is taged as 1128 when I rebase
them yesterday. I fix some conflict when rebase.

Regards

Bamvor
>
> Still looking to get them into 4.10 if possible.

>
> thanks,
> -- Shuah
>
>>
>> In the first patch, I split the test files into two types:
>> TEST_GEN_XXX means such file is generated during compiling. TEST_XXX
>> means there is no need to compile before use. The main reason of this
>> is the enablement of KBUILD_OUTPUT only need to care about TEST_GEN_XXX.
>> I wanted to copy all the TEST_XXX with TEST_GEN_XXX, but I give up this
>> idea in the end. Because people may puzzle why copy the file before
>> installation.
>>
>> Because of the introducing of TEST_GEN_XXX, I update the top-level
>> Makefile and lib.mk selftests directory. After introduce TEST_GEN_XXX, I
>> could remove all the unnecessary all and clean targets.
>>
>> The second patch remove TEST_DIRS variable. And third patch add the
>> pattern for compiling the c sourc code. The fourth patch remove the
>> useless CROSS_COMPILE variable as it aleady exists in
>> "tools/testing/selftests/lib.mk".
>>
>> Further more, The fifth patch add the EXTRA_CLEAN variable to clean up
>> the duplicated clean target
>>
>> The last patch introduce the KBUILD_OUTPUT and O for kselftest instead
>> using the existing kbuild system because user may compile kselftest
>> directly (make -C tools/testing/selftests).
>>
>> Changes:
>> 1. remove the useless *.o target in the following file suggested by
>> Michael:
>> tools/testing/selftests/powerpc/benchmarks/Makefile
>> tools/testing/selftests/powerpc/copyloops/Makefile
>> tools/testing/selftests/powerpc/dscr/Makefile
>> tools/testing/selftests/powerpc/math/Makefile
>> tools/testing/selftests/powerpc/primitives/Makefile
>> tools/testing/selftests/powerpc/stringloops/Makefile
>> tools/testing/selftests/powerpc/syscalls/Makefile
>> tools/testing/selftests/powerpc/tm/Makefile
>>
>> 2. remove the useless "all" and "clean" target in bpf and nsfs which
>> are added after my previous patch.
>>
>> 3. Improve the commit message.
>>
>> [1] http://www.spinics.net/lists/linux-api/msg20789.html
>>
>> Bamvor Jian Zhang (6):
>> selftests: remove duplicated all and clean target
>> selftests: remove useless TEST_DIRS
>> selftests: add default rules for c source file
>> selftests: remove CROSS_COMPILE in dedicated Makefile
>> selftests: add EXTRA_CLEAN for clean target
>> selftests: enable O and KBUILD_OUTPUT
>>
>> Documentation/kselftest.txt | 12 +++++++
>> tools/testing/selftests/Makefile | 36 ++++++++++++++-----
>> tools/testing/selftests/bpf/Makefile | 10 ++----
>> tools/testing/selftests/breakpoints/Makefile | 10 ++----
>> tools/testing/selftests/capabilities/Makefile | 11 ++----
>> tools/testing/selftests/efivarfs/Makefile | 8 +----
>> tools/testing/selftests/exec/Makefile | 32 ++++++++---------
>> tools/testing/selftests/ftrace/Makefile | 6 ++--
>> tools/testing/selftests/futex/Makefile | 21 ++++++++---
>> tools/testing/selftests/futex/functional/Makefile | 12 ++-----
>> tools/testing/selftests/ipc/Makefile | 7 +---
>> tools/testing/selftests/kcmp/Makefile | 6 ++--
>> tools/testing/selftests/lib.mk | 36 +++++++++++++++----
>> tools/testing/selftests/membarrier/Makefile | 6 +---
>> tools/testing/selftests/memfd/Makefile | 15 ++------
>> tools/testing/selftests/mount/Makefile | 7 +---
>> tools/testing/selftests/mqueue/Makefile | 6 +---
>> tools/testing/selftests/net/Makefile | 15 +++-----
>> tools/testing/selftests/nsfs/Makefile | 9 +----
>> tools/testing/selftests/powerpc/Makefile | 15 ++++----
>> tools/testing/selftests/powerpc/alignment/Makefile | 9 ++---
>> .../testing/selftests/powerpc/benchmarks/Makefile | 15 +++-----
>> .../selftests/powerpc/context_switch/Makefile | 9 ++---
>> tools/testing/selftests/powerpc/copyloops/Makefile | 19 ++++------
>> tools/testing/selftests/powerpc/dscr/Makefile | 13 +++----
>> tools/testing/selftests/powerpc/math/Makefile | 25 ++++++-------
>> tools/testing/selftests/powerpc/mm/Makefile | 18 ++++------
>> tools/testing/selftests/powerpc/pmu/Makefile | 26 +++++++-------
>> tools/testing/selftests/powerpc/pmu/ebb/Makefile | 15 +++-----
>> .../testing/selftests/powerpc/primitives/Makefile | 9 ++---
>> .../testing/selftests/powerpc/stringloops/Makefile | 9 ++---
>> .../selftests/powerpc/switch_endian/Makefile | 17 ++++-----
>> tools/testing/selftests/powerpc/syscalls/Makefile | 9 ++---
>> tools/testing/selftests/powerpc/tm/Makefile | 17 ++++-----
>> tools/testing/selftests/powerpc/vphn/Makefile | 10 ++----
>> tools/testing/selftests/pstore/Makefile | 4 +--
>> tools/testing/selftests/ptrace/Makefile | 8 +----
>> tools/testing/selftests/seccomp/Makefile | 6 +---
>> tools/testing/selftests/sigaltstack/Makefile | 5 +--
>> tools/testing/selftests/size/Makefile | 10 ++----
>> tools/testing/selftests/timers/Makefile | 10 ++----
>> tools/testing/selftests/vm/Makefile | 41 +++++++++-------------
>> tools/testing/selftests/x86/Makefile | 17 +++++----
>> tools/testing/selftests/zram/Makefile | 3 +-
>> 44 files changed, 247 insertions(+), 357 deletions(-)
>>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-api" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html