Hello,

Le ven. 21 nov. 2025 à 11:56, Pratik Farkase via lists.openembedded.org
<[email protected]> a écrit :

> Add ptest support for libyaml to enable running the test suite
> on target devices. This includes:
>
> - test-version: Verifies library version information
> - test-reader: Tests YAML reading functionality
>
> The tests are built from the upstream test suite using the
> autotools check_PROGRAMS infrastructure.
>
> All 2 upstream tests pass successfully:
> START: ptest-runner
> BEGIN: /usr/lib/libyaml/ptest
> PASS: test-version
> PASS: test-reader
> DURATION: 0
> END: /usr/lib/libyaml/ptest
> STOP: ptest-runner
>
> Signed-off-by: Pratik Farkase <[email protected]>
> ---
>  .../recipes-support/libyaml/libyaml/run-ptest | 49 +++++++++++++++++++
>  meta/recipes-support/libyaml/libyaml_0.2.5.bb | 21 +++++++-
>  2 files changed, 68 insertions(+), 2 deletions(-)
>  create mode 100755 meta/recipes-support/libyaml/libyaml/run-ptest
>
> diff --git a/meta/recipes-support/libyaml/libyaml/run-ptest
> b/meta/recipes-support/libyaml/libyaml/run-ptest
> new file mode 100755
> index 0000000000..885e4b68d5
> --- /dev/null
> +++ b/meta/recipes-support/libyaml/libyaml/run-ptest
> @@ -0,0 +1,49 @@
> +#!/bin/sh
> +
> +# run-ptest - Execute libyaml test suite
> +
> +cd tests || exit 1
> +
> +TOTAL=0
> +PASS=0
> +FAIL=0
> +SKIP=0
> +
> +run_test() {
> +    test_name="$1"
> +    test_bin="./${test_name}"
> +
> +    TOTAL=$((TOTAL + 1))
> +
> +    if [ ! -x "${test_bin}" ]; then
> +        echo "SKIP: ${test_name}"
> +        SKIP=$((SKIP + 1))
> +        return
> +    fi
> +
> +    if ${test_bin} >/dev/null 2>&1; then
> +        echo "PASS: ${test_name}"
> +        PASS=$((PASS + 1))
> +    else
> +        echo "FAIL: ${test_name}"
> +        FAIL=$((FAIL + 1))
> +        return 1
> +    fi
> +}
> +
> +run_test "test-version"
> +run_test "test-reader"
>

This is the duplication of PTEST_TESTS. Is there any way to avoid the
repetition?
Run every binary in tests/ maybe?


> +
> +echo
> "============================================================================"
> +echo "Testsuite summary for yaml 0.2.5"
>

This hard-coded "0.2.5" version will most likely *not* be updated on future
upgrades.
Either remove it (my recommendation) or generate it from $PV.


> +echo
> "============================================================================"
> +echo "# TOTAL: ${TOTAL}"
> +echo "# PASS:  ${PASS}"
> +echo "# SKIP:  ${SKIP}"
> +echo "# XFAIL: 0"
> +echo "# FAIL:  ${FAIL}"
> +echo "# XPASS: 0"
> +echo "# ERROR: 0"
> +echo
> "============================================================================"
>

The lines forced to "0" are not used by any tools (that I know of) and
provide little info (being static). How about removing them?


> +
> +test ${FAIL} -eq 0
> diff --git a/meta/recipes-support/libyaml/libyaml_0.2.5.bb
> b/meta/recipes-support/libyaml/libyaml_0.2.5.bb
> index 0d8e8762d5..1d950572ab 100644
> --- a/meta/recipes-support/libyaml/libyaml_0.2.5.bb
> +++ b/meta/recipes-support/libyaml/libyaml_0.2.5.bb
> @@ -7,14 +7,31 @@ SECTION = "libs/devel"
>  LICENSE = "MIT"
>  LIC_FILES_CHKSUM = "file://License;md5=7bbd28caa69f81f5cd5f48647236663d"
>
> -SRC_URI = "https://pyyaml.org/download/libyaml/yaml-${PV}.tar.gz";
> +SRC_URI = "https://pyyaml.org/download/libyaml/yaml-${PV}.tar.gz \
> +           file://run-ptest \
> +"
>  SRC_URI[sha256sum] =
> "c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4"
>
>  S = "${UNPACKDIR}/yaml-${PV}"
>
> -inherit autotools
> +inherit autotools ptest
>
>  DISABLE_STATIC:class-nativesdk = ""
>  DISABLE_STATIC:class-native = ""
>
>  BBCLASSEXTEND = "native nativesdk"
> +
> +do_compile_ptest() {
> +    oe_runmake -C tests ${PTEST_TESTS}
> +}
> +
> +do_install_ptest() {
> +    install -d ${D}${PTEST_PATH}/tests
> +    for test in ${PTEST_TESTS}; do
> +        if [ -f ${B}/tests/.libs/${test} ]; then
> +            install -m 0755 ${B}/tests/.libs/${test}
> ${D}${PTEST_PATH}/tests/
> +        fi
> +    done
> +}
> +
> +PTEST_TESTS = "test-version test-reader"
>
Can you put this definition above the tasks where it is used? That would
make the code easier to read.

Thanks!


> --
> 2.43.0
>
>
> 
>
>

-- 
Yoann Congal
Smile ECS
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#226669): 
https://lists.openembedded.org/g/openembedded-core/message/226669
Mute This Topic: https://lists.openembedded.org/mt/116405792/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to