51 Commits

Author SHA1 Message Date
Joao Marcos Costa 335045d3fb kernel-selftest: add missing sources if mm is enabled
Some headers come from 'mm' (in the top source directory, i.e. the root of
Linux's sources), as in the exampels below:

Makefile:LOCAL_HDRS += $(selfdir)/mm/local_config.h $(top_srcdir)/mm/gup_test.h
cow.c:#include "../../../../mm/gup_test.h"
gup_longterm.c:#include "../../../../mm/gup_test.h"
gup_test.c:#include <mm/gup_test.h>
hmm-tests.c:#include <mm/gup_test.h>
uffd-unit-tests.c:#include "../../../../mm/gup_test.h"

Add this directory to KERNEL_SELFTEST_SRC if 'mm' PACKAGECONFIG is enabled.

Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-04-20 07:35:38 -07:00
Joao Marcos Costa 06ddb535df kernel-selftest: fix mm selftests dependencies
Add numa (numactl), as required by rmap, migration, and others.

Add liburing, otherwise some tests would be disabled.

Moreover, liburing's availability is checked in a shell script executed
prior to the compilation of the individual test cases. This script,
however, does not read CFLAGS.

Backport a fix [1] from mainline to address this issue.

[1] https://github.com/torvalds/linux/commit/7f532d19c8be76ad2fcd7ab6b0c9eb618f70966b

Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-04-20 07:35:38 -07:00
Joao Marcos Costa a407a3e533 kernel-selftest: drop libhugetlbfs
The support of libhugetlbfs was removed from mainline Linux a while ago,
since v6.1 [1].

Since libhugetlbfs was the main reason to remove 'mm' selftests for some
specific architectures, the respective operations should only remove bpf.

Update the recipe to remove libhugetlbfs as a dependency of mm, and thus
unblock this test category for some targets.

[1] https://github.com/torvalds/linux/commit/6f83d6c74ea5a5b267be85206822da280cae110a

Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-04-20 07:35:38 -07:00
Joao Marcos Costa fcae7611c1 kernel-selftest: rename vm selftests to mm
Since v6.10 [1], this category of selftests was renamed
to 'mm'.

Update the recipe accordingly.

I left a mention to the previous name (i.e., 'vm') just in case.

[1]: https://github.com/torvalds/linux/commit/baa489fabd01596d5426d6e112b34ba5fb59ab82

Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-04-20 07:35:38 -07:00
Tudor Ambarus 6bb43f7a55 kernel-selftest: add cpufreq and cpu-hotplug tests
Add cpufreq and cpu-hotplug tests to kernel-selftest.
Tested with pixel6.

Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-09-10 09:17:25 -07:00
Nylon Chen 9472f4a728 kernel-selftest: handle missing -64.h headers
Some toolchains ship only bits/*.h without the -64.h suffix,
causing the recipe to fail. Add a fallback to use *.h if
*-64.h is not found, and warn if neither exists.

Signed-off-by: Nylon Chen <nylon.chen@sifive.com>
Signed-off-by: Joao Marcos Costa <joaomarcos.costa@bootlin.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-08-28 07:56:01 -07:00
jacobpanov f30afbe04c kernel-selftest: Fix PTP selftest compilation for kernel 6.7+
The PTP selftest fails to compile with kernel versions 6.7+ due to
missing header definitions for PTP_MASK_CLEAR_ALL and PTP_MASK_EN_SINGLE.
These definitions were introduced in kernel v6.7 with commit c5a445b.

This fix adds kernel headers to CFLAGS during compilation to ensure
the required definitions are available.

Error before fix:
testptp.c:613:31: error: 'PTP_MASK_CLEAR_ALL' undeclared
testptp.c:615:38: error: 'PTP_MASK_EN_SINGLE' undeclared

Fixes: #878
Signed-off-by: Jacob Panov <jacobpanov@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-07-09 09:16:08 -07:00
Khem Raj 87d1e803f5 kernel-selftest: Remove duplicate setting for S
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-06-28 11:04:23 -07:00
Alexander Kanavin fc78d37ff0 meta-openembedded/all: adapt to UNPACKDIR changes
Please see
https://git.yoctoproject.org/poky/commit/?id=4dd321f8b83afecd962393101b2a6861275b5265
for what changes are needed, and sed commands that can be used to make them en masse.

I've verified that bitbake -c patch world works with these, but did not run a world
build; the majority of recipes shouldn't need further fixups, but if there are
some that still fall out, they can be fixed in followups.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-06-25 06:44:52 -07:00
Khem Raj 528df68be6 kernel-selftest: Convert to use a dedicated UNPACKDIR
Avoid following warning by using a dedicated unpack directory for sources.

WARNING: kernel-selftest-1.0-r0 do_unpack: kernel-selftest: the directory ${WORKDIR}/${BP} (/home/kraj200/yoe/build/tmp/work/qemux86_64-yoe-linux/kernel-self test/1.0/kernel-selftest-1.0) pointed to by the S variable doesn't exist - please set S within the recipe to point to where the source has been unpacked to

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-04-11 20:51:29 -07:00
Richard Purdie eac1f5b9c0 recipes: Fix variable assignment whitespace
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-03-20 08:46:56 -07:00
Ryan Eatmon dc6d6e06aa kernel-selftest: Update to allow for turning on all tests
In testing adding in more kernel-selftests there were a number of issues
that arose that require changes that are more appropriate for the main
recipe and not a bbappend.

1) Stop looping over TEST_LIST ourselves and use the TARGETS="" provided
by the kernel-sefltest Makefiles.  This correctly sets up various
variables that the selftest Makefiles all need.  Also, do_install
becomes cleaner because the main Makefile already installs the list of
tests and the top level script.

2) Add DEBUG_PREFIX_MAP to the CC setting to avoid some "buildpaths" QA
errors.

3) Add two INSANE_SKIPS for "already-stripped" and "ldflags".  Some of
the selftest Makefiles are adding flags to their compiles that basically
break the above checks.  Since these compiles are not really meant as
user level tools and instead testing, it should be ok to just always set
INSANE_SKIP for these two.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-10-11 07:52:23 -07:00
Khem Raj 204c204834 kernel-selftest: Fix build on 32bit arches with 64bit time_t
Fix warning where S is expected to exist before do_configure

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-09-17 21:44:13 -07:00
Khem Raj ffc64e9c6f recipes: Start WORKDIR -> UNPACKDIR transition
Replace references of WORKDIR with UNPACKDIR where it makes sense to do
so in preparation for changing the default value of UNPACKDIR.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-05-23 08:44:44 -07:00
Thomas Perrot 24b2848f04 kernel-selftest: no longer skip ldflags QA
Because there is no longer the error.

Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-02-10 01:48:01 -08:00
Chirag Shilwant 02806ed4c1 kernel-selftest: Add few more testcases
This commit will build and install following testcases under /usr/kernel-selftest of filesystem,
    * ptp
    * timers

Signed-off-by: Chirag Shilwant <c-shilwant@ti.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-01-27 09:48:32 -08:00
Khem Raj d3fb6ea06e kernel-selftest: remove Wno-alloc-size-larger-than from scripts/Makefile.extrawarn
6.6+ kernel has the warning options moved to dedicated include file
under scripts called Makefile.extrawarn, therefore search for this
file as well to remove this unrecognized option by clang

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-01-11 12:11:36 -08:00
Khem Raj 6e0da8642a kernel-selftest: Use clang options when clang is available
Enable bpf only with clang

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-10-10 11:52:58 -07:00
Khem Raj e65836d919 kernel-selftest: Copy the .config from kernel build
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-10-10 11:52:58 -07:00
Khem Raj 30779662be kernel-selftest: Build bpf tests again
Fix run-ptest script to run all compiled selftests
disable bpf on riscv for now

Signed-off-by: Khem Raj <raj.khem@gmail.com>

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-10-09 13:10:02 -07:00
Khem Raj ea42cec2ec kernel-selftest: Build headers before compiling tests
This fixes build failure with kernel 6.5

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-10-02 10:03:23 -07:00
Martin Jansa be8c765c7c *.patch: add Upstream-Status to all patches
There is new patch-status QA check in oe-core:
https://git.openembedded.org/openembedded-core/commit/?id=76a685bfcf927593eac67157762a53259089ea8a

This is temporary work around just to hide _many_ warnings from
optional patch-status (if you add it to WARN_QA).

This just added
Upstream-Status: Pending
everywhere without actually investigating what's the proper status.

This is just to hide current QA warnings and to catch new .patch files being
added without Upstream-Status, but the number of Pending patches is now terrible:

5 (26%) 	meta-xfce
6 (50%) 	meta-perl
15 (42%)        meta-webserver
21 (36%)        meta-gnome
25 (57%)        meta-filesystems
26 (43%)        meta-initramfs
45 (45%)        meta-python
47 (55%)        meta-multimedia
312 (63%)       meta-networking
756 (61%)       meta-oe

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-06-21 09:15:20 -07:00
Chase Qi fd330c4514 kernel-selftest: install kselftest runner
Install kselftest runner and the required kselftest-list.txt.

Signed-off-by: Chase Qi <chase.qi@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-05-07 18:47:16 -07:00
Khem Raj 14c7d8a0d7 recipes: Update LICENSE variable to use SPDX license identifiers
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-04 17:41:45 -08:00
Martin Jansa c61dc077bb Convert to new override syntax
This is the result of automated script (0.9.1) conversion:

oe-core/scripts/contrib/convert-overrides.py .

converting the metadata to use ":" as the override character instead of "_".

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-08-03 10:21:25 -07:00
Khem Raj c5f7cfb8db libhugetlbfs: Disable build with glibc 2.34+
It uses __morecore internal function from glibc which has been removed
in 2.34+ and replacing it is not so simple and upstream needs to fix it
see [1]

[1] https://github.com/libhugetlbfs/libhugetlbfs/issues/52

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-03 10:21:25 -07:00
Khem Raj 9ed4bea30b kernel-selftest: Disable building bpf
with 5.10 it builds bpf-bootstrap tool and then tries to run it as well
which wont work in cross builds. Disable it until it can be make cross
compile friendly.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-02-08 22:48:21 -08:00
Khem Raj e051b0f08b kernel-selftest: Disable vm packageconfig for riscv
it now needs libhugetlbfs which is not ported to riscv yet

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-11-04 09:57:18 -08:00
Khem Raj 9949d2714d kernel-selftest: Disable vm tests for mips/arm
Include lib and kernel subdirs as vm tests need headers from it in 5.8+
(test_hmm_uapi.h) see [1]

It now uses tests which are not compatible on arm starting with 5.8+

[1] https://lkml.org/lkml/2020/4/22/1654

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-08-24 13:04:03 -07:00
Khem Raj 3422ffac1d kernel-selftest: Tests in 5.8 depend on libhugetlbfs.h
Fixes
| hmm-tests.c:24:10: fatal error: hugetlbfs.h: No such file or directory
|    24 | #include <hugetlbfs.h>
|       |          ^~~~~~~~~~~~~

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-08-21 10:16:29 -07:00
Khem Raj 2bb2736bf1 kernel-selftest: Specify the target with -target instead of -arch
This ensures that generated code is properly cross compiled

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-13 11:42:55 -07:00
Scott Branden 31da4a2cb1 kernel-selftest: only emit warning on clang if bpf is built
Only emit warning on clang if bpf is actually in PACKAGECONFIG.

Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-03-31 23:56:41 -07:00
Scott Branden a3df40b1ba kernel-selftest: add firmware tests
Add firmware tests to kernel-selftest.

Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-03-31 21:32:50 -07:00
Khem Raj 6e936c45d4 kernel-selftest: Disable bpf tests on mips
5.4 kernel exposes a problem, where its using host includes to compile
BPF tests and it fails for mips because ptrace.h is quite different so
it can not find the needed pt_struct definitions during cross compile

% clang -fno-stack-protector -I. -I./include/uapi -I../../../include/uapi -I/mnt/b/yoe/build/tmp/work/qemumips-yoe-linux/kernel-selft
est/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf/../usr/include -D__TARGET_ARCH_mips -g -idirafter /mnt/b/yoe/build/tmp/wor
k/qemumips-yoe-linux/kernel-selftest/1.0-r0/recipe-sysroot-native/usr/lib/clang/10.0.0/include -Wno-compare-distinct-pointer-types -O2 -target bpf -emit-llvm \
-c progs/loop1.c
progs/loop1.c:21:9: error: no member named 'regs' in 'struct pt_regs'
m = PT_REGS_RC(ctx);
^~~~~~~~~~~~~~~
./bpf_helpers.h:466:29: note: expanded from macro 'PT_REGS_RC'

~~  ^                                                                                                        1 error generated.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-02-02 08:07:59 -08:00
Andrei Gherzan ef23e883f2 kernel-selftest: Include rtc tests
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-01-06 19:22:26 -08:00
Khem Raj a62ed77703 kernel-selftest: Exclude from world builds
Avoid need for installing clang on host, or depending on meta-clang

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-09-18 18:51:03 -07:00
Khem Raj 6de4264bde kernel-selftest: Needs error.h which is missing in musl
prog_tests/flow_dissector.c:3:10: fatal error: error.h: No such file or directory
| #include <error.h>
|          ^~~~~~~~~

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-09-09 09:59:54 -07:00
Khem Raj 44c020f87a kernel-selftest: Explicitly disable stack protector
selftests do not support it and clang from meta-clang builds with this
turned on by default

Disable security flags completely, drop all workarounds used to get
around the hoop

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-08-29 09:06:54 -07:00
Khem Raj e1acbf33f7 kernel-selftest: Warn conditionally about clang-native dependency
When meta-clang is in mix then it does the right thing already so no
need to warn in that case

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-08-29 09:06:54 -07:00
Martin Jansa 1ed7486a87 kernel-selftest: skip -Werror=format-security and fortify
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-08-12 09:11:01 -07:00
Andrea Adami 6cb64da8fa kernel-selftest: temporary disable bpf for arm - fix build for qemuarm
Even running on 32bit the bpf objects are 64bit: this triggers the QA  about
bitsize mismatch 32 vs. 64. Besides, objdump does not recognize the arch 0xf7.

Trying the workaround to use the llvm-objdump and setting TOOLCHAIN = "clang"
the build for arm fails on libcxx

  |include/c++/8.2.0/atomic:250: undefined reference to `__atomic_load_4'

Temporary disable bpf as done for x86/32bit as it seems still unstable.

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-10-27 18:23:07 -07:00
Khem Raj a84c46158f kernel-selftest: Remove bpf on x86/32bit
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-09-26 21:15:21 -07:00
Khem Raj 0cdf87dd8f kernel-selftest: Newer kernels 4.18+ need llc from llvm
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-09-24 11:49:45 -07:00
Khem Raj 6e9c34d6a1 kernel-selftest: Fix build on musl
* (Depends upon a linux-libc-headers patch proposed to oe-core)
* Delete unused patch
* Mark Clang 6.0 as minimum required version
* Do not hardcode python3 interpreter path

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Hongzhi.Song <hongzhi.song@windriver.com>
Cc: Martin Jansa <Martin.Jansa@gmail.com>
2018-09-14 19:01:41 -07:00
Khem Raj 196a373fb4 kernel-selftest: Fix the COPYING checksum variablity
COPYING coming from kernel sources but the md5 is static value
saved in recipe does not scale to all kind of machines which may
have different kernel providers filling in, therefore keep a static
copy of COPYING file as well, additionally copy LICENSES directory ( if
it exists) into sources where all the real license texts are living

Document need for clang

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-08-28 09:36:28 -07:00
Martin Jansa 0d614c4220 kernel-selftest: add dependency on libcap
* vm selftest uses it as well:
i586-webos-linux-gcc  -m32 -march=i586 -fstack-protector-strong   -Wformat -Wformat-security -Werror=format-security --sysroot=kernel-selftest/1.0-r0/recipe-sysroot -Wall -I ../../../../usr/include   -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fstack-protector-strong -Wl,-z,relro,-z,now  mlock-random-test.c -lrt -lcap -o kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/vm/mlock-random-test
mlock-random-test.c:8:10: fatal error: sys/capability.h: No such file or directory
 #include <sys/capability.h>
          ^~~~~~~~~~~~~~~~~~
compilation terminated.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-08-19 16:09:28 -07:00
Dengke Du e88b38a9d2 kernel-selftest: add ptest support
Group the kernel-selftest testcases in run-ptest.

Signed-off-by: Dengke Du <dengke.du@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-08-19 16:09:28 -07:00
Martin Jansa 8a2a36e66b kernel-selftest: fix various issues
* respect PACKAGECONFIG when setting TEST_LIST
* call the sed in remove_clang_related only when bpf PACKAGECONFIG is
  enabled and if ${S}/tools/testing/selftests/bpf/Makefile doesn't exist
  then show more useful error message than:
  sed: can't read kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf/Makefile: No such file or directory
  because kernels older than 4.10 don't have bpf selftest which was
  added in:
  https://github.com/torvalds/linux/commit/5aa5bd14c5f8660c64ceedf14a549781be47e53d
* disable ldflags QA errors, the selftests Makefile explicitly overrides
  LDFLAGS to empty:
  https://github.com/torvalds/linux/blob/5aa5bd14c5f8660c64ceedf14a549781be47e53d/tools/testing/selftests/Makefile#L46
  and the vm/Makefile doesn't respect LDFLAGS anyway:
  https://github.com/torvalds/linux/blob/5aa5bd14c5f8660c64ceedf14a549781be47e53d/tools/testing/selftests/vm/Makefile#L17
  so it was causing a lot of errors:
  ERROR: kernel-selftest-1.0-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/thuge-gen'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/thuge-gen'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/transhuge-stress'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/transhuge-stress'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/userfaultfd'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/userfaultfd'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/hugepage-shm'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/hugepage-shm'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/on-fault-limit'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/on-fault-limit'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/hugepage-mmap'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/hugepage-mmap'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/compaction_test'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/compaction_test'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/mlock2-tests'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/mlock2-tests'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/map_hugetlb'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/map_hugetlb' [ldflags]
* fix the formatting and useless append
* add dependency on rsync-native as it's used during do_install:
  | make: Entering directory 'kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/vm'
  | rsync -a  run_vmtests  compaction_test hugepage-mmap hugepage-shm map_hugetlb mlock2-tests on-fault-limit thuge-gen transhuge-stress userfaultfd kernel-selftest/1.0-r0/image/usr/kernel-selftest/vm/
  | /bin/sh: 1: rsync: not found
  | ../lib.mk:24: recipe for target 'install' failed

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-08-19 16:09:28 -07:00
Hongzhi.Song 86860bd860 kernel-selftest: compatible with latest kernel
There are some new program added for bpf. So we make corresponding
modifications.

Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-08-19 16:09:28 -07:00
Martin Jansa c96c6a01e4 kernel-selftest: fix various issues
* respect PACKAGECONFIG when setting TEST_LIST
* call the sed in remove_clang_related only when bpf PACKAGECONFIG is
  enabled and if ${S}/tools/testing/selftests/bpf/Makefile doesn't exist
  then show more useful error message than:
  sed: can't read kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf/Makefile: No such file or directory
  because kernels older than 4.10 don't have bpf selftest which was
  added in:
  https://github.com/torvalds/linux/commit/5aa5bd14c5f8660c64ceedf14a549781be47e53d
* disable ldflags QA errors, the selftests Makefile explicitly overrides
  LDFLAGS to empty:
  https://github.com/torvalds/linux/blob/5aa5bd14c5f8660c64ceedf14a549781be47e53d/tools/testing/selftests/Makefile#L46
  and the vm/Makefile doesn't respect LDFLAGS anyway:
  https://github.com/torvalds/linux/blob/5aa5bd14c5f8660c64ceedf14a549781be47e53d/tools/testing/selftests/vm/Makefile#L17
  so it was causing a lot of errors:
  ERROR: kernel-selftest-1.0-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/thuge-gen'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/thuge-gen'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/transhuge-stress'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/transhuge-stress'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/userfaultfd'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/userfaultfd'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/hugepage-shm'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/hugepage-shm'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/on-fault-limit'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/on-fault-limit'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/hugepage-mmap'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/hugepage-mmap'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/compaction_test'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/compaction_test'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/mlock2-tests'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/mlock2-tests'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/map_hugetlb'
  No GNU_HASH in the elf binary: 'kernel-selftest/1.0-r0/packages-split/kernel-selftest/usr/kernel-selftest/vm/map_hugetlb' [ldflags]
* fix the formatting and useless append
* add dependency on rsync-native as it's used during do_install:
  | make: Entering directory 'kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/vm'
  | rsync -a  run_vmtests  compaction_test hugepage-mmap hugepage-shm map_hugetlb mlock2-tests on-fault-limit thuge-gen transhuge-stress userfaultfd kernel-selftest/1.0-r0/image/usr/kernel-selftest/vm/
  | /bin/sh: 1: rsync: not found
  | ../lib.mk:24: recipe for target 'install' failed

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2018-08-16 21:41:15 -04:00