From 147db377f41e9ead122b654a2be54dc0ca83f020 Mon Sep 17 00:00:00 2001 From: Oleksandr Date: Mon, 20 Jul 2020 19:54:42 +0300 Subject: expat: Added ptest For ptest support of expat package: - expat_2.2.9.bb recipe was switched on cmake-based building system to avoid cahnges in autotools build system which considered in upstream as potentially deprecated (https://github.com/libexpat/libexpat/issues/330). - cmake-native_3.17.3.bb recipe was forced to use bundled version of expat from CMake source tree. Therefore expat-native package has been removed from DEPENDS variable for cmake-native recipe. Without these changes, next dependency loop appears: Dependency loop #1 found: Task /home/opopovych/repos/poky/meta/recipes-devtools/cmake/cmake-native_3.17.3.bb:do_compile (dependent Tasks ['cmake-native_3.17.3.bb:do_configure']) Task /home/opopovych/repos/poky/meta/recipes-devtools/cmake/cmake-native_3.17.3.bb:do_install (dependent Tasks ['cmake-native_3.17.3.bb:do_compile']) Task /home/opopovych/repos/poky/meta/recipes-devtools/cmake/cmake-native_3.17.3.bb:do_populate_sysroot (dependent Tasks ['cmake-native_3.17.3.bb:do_install']) Task virtual:native:/home/opopovych/repos/poky/meta/recipes-core/expat/expat_2.2.9.bb:do_prepare_recipe_sysroot (dependent Tasks ['cmake-native_3.17.3.bb:do_populate_sysroot', 'ninja_1.10.0.bb:do_populate_sysroot', 'expat_2.2.9.bb:do_fetch']) Task virtual:native:/home/opopovych/repos/poky/meta/recipes-core/expat/expat_2.2.9.bb:do_configure (dependent Tasks ['expat_2.2.9.bb:do_patch', 'expat_2.2.9.bb:do_prepare_recipe_sysroot', 'expat_2.2.9.bb:do_generate_toolchain_file', 'expat_2.2.9.bb:do_deploy_source_date_epoch']) Task virtual:native:/home/opopovych/repos/poky/meta/recipes-core/expat/expat_2.2.9.bb:do_compile (dependent Tasks ['expat_2.2.9.bb:do_configure']) Task virtual:native:/home/opopovych/repos/poky/meta/recipes-core/expat/expat_2.2.9.bb:do_install (dependent Tasks ['expat_2.2.9.bb:do_compile']) Task virtual:native:/home/opopovych/repos/poky/meta/recipes-core/expat/expat_2.2.9.bb:do_populate_sysroot (dependent Tasks ['expat_2.2.9.bb:do_install']) Task /home/opopovych/repos/poky/meta/recipes-devtools/cmake/cmake-native_3.17.3.bb:do_prepare_recipe_sysroot (dependent Tasks ['expat_2.2.9.bb:do_populate_sysroot', 'xz_5.2.5.bb:do_populate_sysroot', 'bzip2_1.0.8.bb:do_populate_sysroot', 'ncurses_6.2.bb:do_populate_sysroot', 'zlib_1.2.11.bb:do_populate_sysroot', 'cmake-native_3.17.3.bb:do_fetch', 'curl_7.71.1.bb:do_populate_sysroot']) Task /home/opopovych/repos/poky/meta/recipes-devtools/cmake/cmake-native_3.17.3.bb:do_configure (dependent Tasks ['cmake-native_3.17.3.bb:do_deploy_source_date_epoch', 'cmake-native_3.17.3.bb:do_patch', 'cmake-native_3.17.3.bb:do_prepare_recipe_sysroot']) - run-ptest script that initalizes testing, copies testing executables' output to log file and measures execution time of each testing executable was added. - patch that implements output of each testcase result in testing exectutable was added. (From OE-Core rev: 3adba877e1b5e5f69a6d1501611624e2d3789a9b) Signed-off-by: Oleksandr Popovych Signed-off-by: Richard Purdie --- .../expat/0001-Add-output-of-tests-result.patch | 83 ++++++++++++++++++++++ meta/recipes-core/expat/expat/run-ptest | 23 ++++++ meta/recipes-core/expat/expat_2.2.9.bb | 14 ++-- 3 files changed, 116 insertions(+), 4 deletions(-) create mode 100644 meta/recipes-core/expat/expat/0001-Add-output-of-tests-result.patch create mode 100644 meta/recipes-core/expat/expat/run-ptest (limited to 'meta/recipes-core/expat') diff --git a/meta/recipes-core/expat/expat/0001-Add-output-of-tests-result.patch b/meta/recipes-core/expat/expat/0001-Add-output-of-tests-result.patch new file mode 100644 index 0000000000..c5c18ead74 --- /dev/null +++ b/meta/recipes-core/expat/expat/0001-Add-output-of-tests-result.patch @@ -0,0 +1,83 @@ +From aa84835a00bfd65e784d58411e76f60658e939dc Mon Sep 17 00:00:00 2001 +From: Oleksandr Popovych +Date: Tue, 18 Feb 2020 19:04:55 +0200 +Subject: [PATCH] Add output of tests result + +Added console output of testing results in form 'RESULT: TEST_NAME'. + +Changed verbose mode of test application set by '-v' ('--verbose') +argument to CK_NORMAL. +Added new supported argument '-vv' ('--extra-verbose') that changes +verbose mode of test application to CK_VERBOSE. Results of each test +are shown in output only if this mode is set. + +Upstream-Status: Denied + +This patch changes potentially deprecated feature that shoud be changed +in upstream. [https://github.com/libexpat/libexpat/issues/382] + +Signed-off-by: Oleksandr Popovych +--- + tests/minicheck.c | 10 +++++++++- + tests/runtests.c | 4 +++- + 2 files changed, 12 insertions(+), 2 deletions(-) + +diff --git a/expat/tests/minicheck.c b/expat/tests/minicheck.c +index a5a1efb..94fa412 100644 +--- a/tests/minicheck.c ++++ b/tests/minicheck.c +@@ -164,6 +164,8 @@ srunner_run_all(SRunner *runner, int verbosity) { + if (tc->setup != NULL) { + /* setup */ + if (setjmp(env)) { ++ if (verbosity >= CK_VERBOSE) ++ printf("SKIP: %s\n", _check_current_function); + add_failure(runner, verbosity); + continue; + } +@@ -171,6 +173,8 @@ srunner_run_all(SRunner *runner, int verbosity) { + } + /* test */ + if (setjmp(env)) { ++ if (verbosity >= CK_VERBOSE) ++ printf("FAIL: %s\n", _check_current_function); + add_failure(runner, verbosity); + continue; + } +@@ -178,12 +182,16 @@ srunner_run_all(SRunner *runner, int verbosity) { + + /* teardown */ + if (tc->teardown != NULL) { +- if (setjmp(env)) { ++ if (setjmp(env)) { ++ if (verbosity >= CK_VERBOSE) ++ printf("PASS: %s\n", _check_current_function); + add_failure(runner, verbosity); + continue; + } + tc->teardown(); + } ++ if (verbosity >= CK_VERBOSE) ++ printf("PASS: %s\n", _check_current_function); + } + tc = tc->next_tcase; + } +diff --git a/tests/runtests.c b/expat/tests/runtests.c +index 7791fe0..75724e5 100644 +--- a/tests/runtests.c ++++ b/tests/runtests.c +@@ -11619,9 +11619,11 @@ main(int argc, char *argv[]) { + for (i = 1; i < argc; ++i) { + char *opt = argv[i]; + if (strcmp(opt, "-v") == 0 || strcmp(opt, "--verbose") == 0) +- verbosity = CK_VERBOSE; ++ verbosity = CK_NORMAL; + else if (strcmp(opt, "-q") == 0 || strcmp(opt, "--quiet") == 0) + verbosity = CK_SILENT; ++ else if (strcmp(opt, "-vv") == 0 || strcmp(opt, "--extra-verbose") == 0) ++ verbosity = CK_VERBOSE; + else { + fprintf(stderr, "runtests: unknown option '%s'\n", opt); + return 2; +-- +2.17.1 diff --git a/meta/recipes-core/expat/expat/run-ptest b/meta/recipes-core/expat/expat/run-ptest new file mode 100644 index 0000000000..1b39cec8e5 --- /dev/null +++ b/meta/recipes-core/expat/expat/run-ptest @@ -0,0 +1,23 @@ +#!/bin/bash + +output=${1:-"expat_tests.log"} # default log file + +# logging function +function testCheck() { + testExec="$1" + shift + echo && echo ${testExec} && ./${testExec} "$@" + error=$? + result=$([[ ${error} -eq 0 ]] && echo "PASS" || echo "FAIL") + echo "${result}: ${testExec}" && echo "============================" +} + +export output +export -f testCheck +TIME=$(which time) + +echo "Architecture: $(uname -m)" > ${output} +echo "Image: $(uname -sr)" >> ${output} +${TIME} -f 'Execution time: %e s' bash -c "testCheck runtests -vv" |& tee -a ${output} +${TIME} -f 'Execution time: %e s' bash -c "testCheck runtestspp -vv" |& tee -a ${output} +echo diff --git a/meta/recipes-core/expat/expat_2.2.9.bb b/meta/recipes-core/expat/expat_2.2.9.bb index 8f3db41352..f477f99baf 100644 --- a/meta/recipes-core/expat/expat_2.2.9.bb +++ b/meta/recipes-core/expat/expat_2.2.9.bb @@ -8,15 +8,21 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5b8620d98e49772d95fc1d291c26aa79" SRC_URI = "${SOURCEFORGE_MIRROR}/expat/expat-${PV}.tar.bz2 \ file://libtool-tag.patch \ + file://run-ptest \ + file://0001-Add-output-of-tests-result.patch \ " SRC_URI[md5sum] = "875a2c2ff3e8eb9e5a5cd62db2033ab5" SRC_URI[sha256sum] = "f1063084dc4302a427dabcca499c8312b3a32a29b7d2506653ecc8f950a9a237" -inherit autotools lib_package +EXTRA_OECMAKE_class-native += "-DEXPAT_BUILD_DOCS=OFF" -do_configure_prepend () { - rm -f ${S}/conftools/libtool.m4 +RDEPENDS_${PN}-ptest += "bash" + +inherit cmake lib_package ptest + +do_install_ptest_class-target() { + install -m 755 ${B}/tests/* ${D}${PTEST_PATH} } -BBCLASSEXTEND = "native nativesdk" +BBCLASSEXTEND += "native nativesdk" -- cgit v1.2.3-54-g00ecf