From 4ee26ef672c75e73b10412e87cee23797105d9bc Mon Sep 17 00:00:00 2001 From: Lukasz Majewski Date: Thu, 30 Sep 2021 12:43:56 +0200 Subject: glibc: Extract common code to build tests to glibc-tests.inc The common code to build tests has been extracted from glibc-testsuite recipe to glibc-tests.inc This code will be reused in the recipe necessary for providing glibc tests executed with ptest framework. Signed-off-by: Lukasz Majewski Signed-off-by: Richard Purdie --- meta/recipes-core/glibc/glibc-tests.inc | 32 +++++++++++++++++++++ meta/recipes-core/glibc/glibc-testsuite_2.34.bb | 37 +++---------------------- 2 files changed, 36 insertions(+), 33 deletions(-) create mode 100644 meta/recipes-core/glibc/glibc-tests.inc diff --git a/meta/recipes-core/glibc/glibc-tests.inc b/meta/recipes-core/glibc/glibc-tests.inc new file mode 100644 index 0000000000..a8fe160a54 --- /dev/null +++ b/meta/recipes-core/glibc/glibc-tests.inc @@ -0,0 +1,32 @@ +EXCLUDE_FROM_WORLD = "1" + +# handle PN differences +FILESEXTRAPATHS:prepend := "${THISDIR}/glibc:" + +# setup depends +INHIBIT_DEFAULT_DEPS = "" + +python () { + libc = d.getVar("PREFERRED_PROVIDER_virtual/libc") + libclocale = d.getVar("PREFERRED_PROVIDER_virtual/libc-locale") + if libc != "glibc" or libclocale != "glibc-locale": + raise bb.parse.SkipRecipe("glibc-testsuite requires that virtual/libc is glibc") +} + +DEPENDS += "glibc-locale libgcc gcc-runtime" + +# remove the initial depends +DEPENDS:remove = "libgcc-initial" + +do_check[dirs] += "${B}" +do_check () { + # clean out previous test results + oe_runmake tests-clean + # makefiles don't clean entirely (and also sometimes fails due to too many args) + find ${B} -type f -name "*.out" -delete + find ${B} -type f -name "*.test-result" -delete + find ${B}/catgets -name "*.cat" -delete + find ${B}/conform -name "symlist-*" -delete + [ ! -e ${B}/timezone/testdata ] || rm -rf ${B}/timezone/testdata +} +addtask do_check after do_compile diff --git a/meta/recipes-core/glibc/glibc-testsuite_2.34.bb b/meta/recipes-core/glibc/glibc-testsuite_2.34.bb index 72aa332171..e8ad2a938b 100644 --- a/meta/recipes-core/glibc/glibc-testsuite_2.34.bb +++ b/meta/recipes-core/glibc/glibc-testsuite_2.34.bb @@ -1,30 +1,12 @@ require glibc_${PV}.bb +require glibc-tests.inc -EXCLUDE_FROM_WORLD = "1" +inherit qemu -# handle PN differences -FILESEXTRAPATHS:prepend := "${THISDIR}/glibc:" +SRC_URI += "file://check-test-wrapper" # strip provides PROVIDES = "" -# setup depends -INHIBIT_DEFAULT_DEPS = "" - -python () { - libc = d.getVar("PREFERRED_PROVIDER_virtual/libc") - libclocale = d.getVar("PREFERRED_PROVIDER_virtual/libc-locale") - if libc != "glibc" or libclocale != "glibc-locale": - raise bb.parse.SkipRecipe("glibc-testsuite requires that virtual/libc is glibc") -} - -DEPENDS += "glibc-locale libgcc gcc-runtime" - -# remove the initial depends -DEPENDS:remove = "libgcc-initial" - -inherit qemu - -SRC_URI += "file://check-test-wrapper" DEPENDS += "${@'qemu-native' if d.getVar('TOOLCHAIN_TEST_TARGET') == 'user' else ''}" @@ -33,20 +15,10 @@ TOOLCHAIN_TEST_HOST ??= "localhost" TOOLCHAIN_TEST_HOST_USER ??= "root" TOOLCHAIN_TEST_HOST_PORT ??= "2222" -do_check[dirs] += "${B}" do_check[nostamp] = "1" -do_check () { +do_check:append () { chmod 0755 ${WORKDIR}/check-test-wrapper - # clean out previous test results - oe_runmake tests-clean - # makefiles don't clean entirely (and also sometimes fails due to too many args) - find ${B} -type f -name "*.out" -delete - find ${B} -type f -name "*.test-result" -delete - find ${B}/catgets -name "*.cat" -delete - find ${B}/conform -name "symlist-*" -delete - [ ! -e ${B}/timezone/testdata ] || rm -rf ${B}/timezone/testdata - oe_runmake -i \ QEMU_SYSROOT="${RECIPE_SYSROOT}" \ QEMU_OPTIONS="${@qemu_target_binary(d)} ${QEMU_OPTIONS}" \ @@ -56,7 +28,6 @@ do_check () { test-wrapper="${WORKDIR}/check-test-wrapper ${TOOLCHAIN_TEST_TARGET}" \ check } -addtask do_check after do_compile inherit nopackages deltask do_stash_locale -- cgit 1.2.3-korg