[OE-core] [PATCH V2 2/2] kernel-selftest: add vm testcase to recipe

Hongzhi.Song hongzhi.song at windriver.com
Fri Jul 6 09:07:42 UTC 2018


Add vm testcase to recipe, and sightly modify organization of code

Signed-off-by: Hongzhi.Song <hongzhi.song at windriver.com>
---
 .../kernel-selftest/kernel-selftest.bb             | 62 +++++++++++-----------
 1 file changed, 31 insertions(+), 31 deletions(-)

diff --git a/meta/recipes-kernel/kernel-selftest/kernel-selftest.bb b/meta/recipes-kernel/kernel-selftest/kernel-selftest.bb
index c976e7b..28fd178 100644
--- a/meta/recipes-kernel/kernel-selftest/kernel-selftest.bb
+++ b/meta/recipes-kernel/kernel-selftest/kernel-selftest.bb
@@ -2,6 +2,7 @@ SUMMARY = "Kernel selftest for Linux"
 DESCRIPTION = "Kernel selftest for Linux"
 LICENSE = "GPLv2"
 
+# for bpf and vm
 DEPENDS = " \
     elfutils \
     libcap \
@@ -10,6 +11,10 @@ DEPENDS = " \
     util-linux \
     rsync-native \
 "
+# for vm
+RDEPENDS_${PN} += "libgcc \
+                   bash \
+"
 
 do_configure[depends] += "virtual/kernel:do_shared_workdir"
 
@@ -17,14 +22,13 @@ inherit linux-kernel-base kernel-arch
 
 do_populate_lic[depends] += "virtual/kernel:do_patch"
 
-inherit kernelsrc
-
 S = "${WORKDIR}/${BP}"
 
-# The LDFLAGS is required or some old kernels fails due missing
-# symbols and this is preferred than requiring patches to every old
-# supported kernel.
-LDFLAGS="-ldl -lutil"
+# now we just test bpf and vm
+# we will append other kernel selftest in the future
+TEST_LIST = "bpf \
+             vm \
+"
 
 EXTRA_OEMAKE = '\
     CROSS_COMPILE=${TARGET_PREFIX} \
@@ -32,41 +36,37 @@ EXTRA_OEMAKE = '\
     CC="${CC}" \
     AR="${AR}" \
     LD="${LD}" \
-    EXTRA_CFLAGS="-ldw" \
-    ${PACKAGECONFIG_CONFARGS} \
 '
 
 EXTRA_OEMAKE += "\
     'DESTDIR=${D}' \
-    'prefix=${prefix}' \
-    'bindir=${bindir}' \
-    'sharedir=${datadir}' \
-    'sysconfdir=${sysconfdir}' \
-    'sharedir=${@os.path.relpath(datadir, prefix)}' \
-    'mandir=${@os.path.relpath(mandir, prefix)}' \
-    'infodir=${@os.path.relpath(infodir, prefix)}' \
 "
 
 KERNEL_SELFTEST_SRC ?= "Makefile \
-             include \
-             tools \
+                        include \
+                        tools \
+                        scripts \
+                        arch \
 "
 
-# Add bpf selftest now, other can be added later.
-do_compile () {
-	# Linux kernel build system is expected to do the right thing
-	unset CFLAGS
-	oe_runmake -C ${S}/tools/testing/selftests/bpf
+do_compile() {
+    for i in ${TEST_LIST}
+    do
+        oe_runmake -C ${S}/tools/testing/selftests/${i}
+    done
+}
+
+do_install() {
+    for i in ${TEST_LIST}
+    do
+        oe_runmake -C ${S}/tools/testing/selftests/${i} INSTALL_PATH=${D}/opt/kselftest/${i} install
+    done
+
+    chown root:root  -R ${D}/opt/kselftest
 }
 
-# On target, enter /opt/kselftest/bpf directory, run "./test_align 0 11"
-# The test_align testcase test the bpf instruction set, the testcase defined here:
-# https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git/tree/tools/testing/selftests/bpf/test_align.c#n47
-do_install () {
-	# Linux kernel build system is expected to do the right thing
-	unset CFLAGS
-	mkdir -p ${D}/opt/kselftest/bpf
-	install -m 0755 ${B}/tools/testing/selftests/bpf/test_align ${D}/opt/kselftest/bpf/
+do_configure() {
+    :
 }
 
 do_configure[prefuncs] += "copy_perf_source_from_kernel remove_clang_related"
@@ -91,4 +91,4 @@ remove_clang_related() {
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 INHIBIT_PACKAGE_DEBUG_SPLIT="1"
-FILES_${PN} += "/opt/kselftest/bpf/*"
+FILES_${PN} += "/opt/kselftest/"
-- 
2.8.1




More information about the Openembedded-core mailing list