Date
1 - 3 of 3
[PATCH] jq: add ptest
Qiu, Zheng
Add run-ptest to explicitly call 7 tests provided by jq.
In run-ptest, add a soft link to jq in ptest directory to avoid to having patch the jq setup script, then remove the soft link before exiting. Signed-off-by: Zheng Qiu <zheng.qiu@...> Signed-off-by: Randy MacLeod <randy.macleod@...> --- meta-oe/recipes-devtools/jq/jq/run-ptest | 48 ++++++++++++++++++++++++ meta-oe/recipes-devtools/jq/jq_git.bb | 12 +++++- 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 meta-oe/recipes-devtools/jq/jq/run-ptest diff --git a/meta-oe/recipes-devtools/jq/jq/run-ptest b/meta-oe/recipes-devtools/jq/jq/run-ptest new file mode 100644 index 000000000..791179936 --- /dev/null +++ b/meta-oe/recipes-devtools/jq/jq/run-ptest @@ -0,0 +1,48 @@ +#!/bin/sh + +cd /usr/lib/jq/ptest +ln -sf /usr/bin/jq . +./tests/optionaltest +if [ $? -eq 0 ]; then + echo 'PASS: optionaltest' +else + echo 'FAIL: optionaltest' +fi +./tests/mantest +if [ $? -eq 0 ]; then + echo 'PASS: mantest' +else + echo 'FAIL: mantest' +fi +./tests/jqtest +if [ $? -eq 0 ]; then + echo 'PASS: jqtest' +else + echo 'FAIL: jqtest' +fi +./tests/onigtest +if [ $? -eq 0 ]; then + echo 'PASS: onigtest' +else + echo 'FAIL: onigtest' +fi +./tests/shtest +if [ $? -eq 0 ]; then + echo 'PASS: shtest' +else + echo 'FAIL: shtest' +fi +./tests/utf8test +if [ $? -eq 0 ]; then + echo 'PASS: utf8test' +else + echo 'FAIL: utf8test' +fi +./tests/base64test +if [ $? -eq 0 ]; then + echo 'PASS: base64test' +else + echo 'FAIL: base64test' +fi + +rm /usr/lib/jq/ptest/jq diff --git a/meta-oe/recipes-devtools/jq/jq_git.bb b/meta-oe/recipes-devtools/jq/jq_git.bb index f69b435e5..3e4f60348 100644 --- a/meta-oe/recipes-devtools/jq/jq_git.bb +++ b/meta-oe/recipes-devtools/jq/jq_git.bb @@ -12,11 +12,12 @@ PV = "1.6+git${SRCPV}" SRC_URI = "git://github.com/stedolan/jq;protocol=https;branch=master \ file://0001-configure-Pass-_XOPEN_SOURCE-when-checking-for-strpt.patch \ file://0002-builtin-Replace-_BSD_SOURCE-with-_DEFAULT_SOURCE.patch \ + file://run-ptest \ " SRCREV = "cff5336ec71b6fee396a95bb0e4bea365e0cd1e8" S = "${WORKDIR}/git" -inherit autotools-brokensep +inherit autotools-brokensep ptest PACKAGECONFIG ?= "oniguruma" @@ -27,5 +28,14 @@ PACKAGECONFIG[oniguruma] = "--with-oniguruma,--without-oniguruma,onig" EXTRA_OECONF += " \ --disable-valgrind \ " +RDEPENDS:${PN}-ptest += " valgrind" + +do_install_ptest() { + cp -rf ${B}/tests ${D}${PTEST_PATH} + cp -rf ${B}/.libs ${D}${PTEST_PATH} + # libjq.so.* is packaged in the main jq component, so remove it from ptest + rm -f ${D}${PTEST_PATH}/.libs/libjq.so.* +} + BBCLASSEXTEND = "native" -- 2.33.0 |
|
On 15 Sep 2022, at 16:11, Qiu, Zheng via lists.openembedded.org <Zheng.Qiu=windriver.com@...> wrote:
+cd /usr/lib/jq/ptestTypically ptests assume they’ve been cd’d into here already. Also, if libdir is changed, this path is wrong. +ln -sf /usr/bin/jq .Much easier to just ship this symlink instead of generating it. +./tests/optionaltestDo this as a loop to avoid repeating the same script. +RDEPENDS:${PN}-ptest += " valgrind"Not sure this is useful for us: we want t to use ptest for integration testing, not development regression testing. +do_install_ptest() {You’ll find it easier to patch the makefile to install the binaries. instead of assuming knowledge of how libtool has built the binaries. If you’re lucky, upstream will take a patch to add an install-the-tests option. Ross |
|
Qiu, Zheng
On 15 Sep 2022, at 12:45, Ross Burton via lists.openembedded.org wrote:
On 15 Sep 2022, at 16:11, Qiu, Zheng via lists.openembedded.org <Zheng.Qiu=windriver.com@...> wrote:OK.+cd /usr/lib/jq/ptestTypically ptests assume they’ve been cd’d into here already. Also, if libdir is changed, this path is wrong. Seems sensible.+ln -sf /usr/bin/jq .Much easier to just ship this symlink instead of generating it. Sure.+./tests/optionaltestDo this as a loop to avoid repeating the same script. That seems to be true in general since there are few ptest that are depend on valgrind.+RDEPENDS:${PN}-ptest += " valgrind"Not sure this is useful for us: we want t to use ptest for integration testing, not development regression testing. Randy and I talked about this, and in the case of running ptest after running fixing CVEs, valgrind could be useful. Perhaps we should introduce a new DISTRO_FEATURES that enables valgrind and other memory check tools. For now I will drop the valgrind dependency and I confirmed all tests still pass and still do useful checks. We created an enhancement request, to track the idea: https://bugzilla.yoctoproject.org/show_bug.cgi?id=14914 True, but this is my first commit and what we have works. ;-)+do_install_ptest() {You’ll find it easier to patch the makefile to install the binaries. instead of assuming knowledge of how libtool I've looked at what I think is a good example of what you are talking about: recipes-support/xmlsec1/xmlsec1_1.2.34.bb do_install_ptest () { oe_runmake -C ${S}/examples DESTDIR=${D}${PTEST_PATH} ${PTEST_EXTRA_ARGS} install-ptest } Randy and I will commit to working on this as a follow up patch, since meta-oe doesn't have a bug tracker.
|
|