From ac5a9835075a04726a64dbd669b9c89270b23865 Mon Sep 17 00:00:00 2001 From: Chong Lu Date: Fri, 6 Jun 2014 09:25:10 +0800 Subject: oprofile: Add PTEST regression testing to oprofile The commit changes the oe-core oprofile recipe by adding the PTEST interface, implementing do_compile_ptest() and do_install_ptest(). The install routine adds several files that only the regression tests require. Also, a patch is necessary to inhibit executing the tests on the build host and to point to the correct target directory for the libutil++ test 'file-manip-tests'. That test requires the recipe to set SRCDIR in the build environment instead of determining the value from build-time host paths as for a self-hosted build. Signed-off-by: Dave Lerner Signed-off-by: Chong Lu Signed-off-by: Saul Wold --- meta/recipes-kernel/oprofile/oprofile.inc | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) (limited to 'meta/recipes-kernel/oprofile/oprofile.inc') diff --git a/meta/recipes-kernel/oprofile/oprofile.inc b/meta/recipes-kernel/oprofile/oprofile.inc index ccf9f9fa61..aaba48e8a0 100644 --- a/meta/recipes-kernel/oprofile/oprofile.inc +++ b/meta/recipes-kernel/oprofile/oprofile.inc @@ -20,9 +20,11 @@ FILES_${PN}-staticdev += "${libdir}/${BPN}/lib*.a" SRC_URI = "file://opstart.patch \ file://oprofile-root.patch \ - file://acinclude.m4" + file://acinclude.m4 \ + file://oprofile-cross-compile-tests.patch \ + file://run-ptest" -inherit autotools-brokensep pkgconfig +inherit autotools-brokensep pkgconfig ptest EXTRA_OECONF = "--with-kernel=${STAGING_KERNEL_DIR} --without-x" do_configure () { @@ -30,3 +32,28 @@ do_configure () { cp ${WORKDIR}/acinclude.m4 ${S}/ autotools_do_configure } + +EXTRA_OEMAKE = "SRCDIR=${PTEST_PATH}/libutil++/tests" +do_compile_ptest() { + oe_runmake check +} + +do_install_ptest() { + subdirs="libdb/tests libutil++/tests libregex/tests libutil/tests libop/tests libdb/tests " + cd ${S} + for tooltest in ${subdirs} + do + find ${tooltest} -perm /u=x -type f| cpio -pvdu ${D}${PTEST_PATH} + done + + # needed by some libop tests + cp -r events ${D}${PTEST_PATH} + + # needed by libregex regex_test + cp libregex/stl.pat ${D}${PTEST_PATH}/libregex + cp libregex/tests/mangled-name ${D}${PTEST_PATH}/libregex/tests + + # needed by litutil++ file_manip_tests + cp libutil++/tests/file_manip_tests.cpp \ + libutil++/tests/file_manip_tests.o ${D}${PTEST_PATH}/libutil++/tests +} -- cgit 1.2.3-korg