On 25 Oct 2022, at 09:25, Yan Xin Kuan via lists.openembedded.org 
<yanxk.fnst=fujitsu....@lists.openembedded.org> wrote:
> @@ -100,6 +100,7 @@ PTESTS_SLOW = "\
>     tcl-ptest \
>     util-linux-ptest \
>     valgrind-ptest \
> +    bc-ptest \
> "

Is this really a slow test?

> +++ b/meta/recipes-extended/bc/bc/0001-ptest-only-use-bc-in-the-system.patch
> @@ -0,0 +1,34 @@
> +From a7a19baf07cde3eaf8f0c007fea47f2c45475874 Mon Sep 17 00:00:00 2001
> +From: Yan Xinkuan <yanxk.f...@fujitsu.com>
> +Date: Mon, 24 Oct 2022 16:08:37 +0800
> +Subject: [PATCH] ptest: only use bc in the system
> +
> +use bc in the system to do ptest.
> +
> +Upstream-Status: Pending

This is very Inappropriate, as we don’t want to send it upstream.

> diff --git a/meta/recipes-extended/bc/bc/run-ptest 
> b/meta/recipes-extended/bc/bc/run-ptest
> new file mode 100644
> index 0000000000..7e37e9ef01
> --- /dev/null
> +++ b/meta/recipes-extended/bc/bc/run-ptest
> @@ -0,0 +1,8 @@
> +#!/bin/bash
> +cd ./bc_test
> +if ./timetest; then
> +     echo "PASS: bc/timetest"
> +else
> +     echo "FAIL: bc/timetest"
> +fi

This won’t do what you think.  timetest.sh just runs bc, doesn’t look at $?, 
and doesn’t use set -e. This means it will *always* return 0.  Even if bc 
crashed on startup, this test case would “pass”.

timetest.sh is a tool that runs ‘bc -l’ on some bc scripts, with the bulk of 
the logic around timing those operations (we don’t care about that) and running 
against multiple bc implementations (we also don’t care about that).  This 
tells me that timetest.sh is redundant and we can ignore it.  

My suggestion is to install the Test/*.b files into PTEST_PATH directly, and 
then a run-ptest can do something like:

#! /bin/sh

for TEST in *.b; do
        if bc -l $TEST </dev/null; then
                echo “PASS: bc/$TEST”
        else
                echo “FAIL: bc/$TEST”
        fi
done

(you need to connect /dev/null to stdin otherwise bc will wait for interactive 
input)

Note that some of the tests actually announce that they’re failing, but don’t 
exit with an error code.

> PACKAGECONFIG ??= "readline"
> PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
> @@ -29,6 +31,23 @@ do_compile:prepend() {
>     cp -f ${WORKDIR}/libmath.h ${B}/bc/libmath.h
> }
> 
> +RDEPENDS:${PN}-ptest += "bash"

Don’t use bash unless you need to.  There’s no need to use bash here.

> +do_install_ptest() {
> +        install -d ${D}${PTEST_PATH}/bc_test/
> +        install ${S}/Test/atan.b ${D}${PTEST_PATH}/bc_test/
> +        install ${S}/Test/div.b ${D}${PTEST_PATH}/bc_test/
> +        install ${S}/Test/exp.b ${D}${PTEST_PATH}/bc_test/
> +        install ${S}/Test/fact.b ${D}${PTEST_PATH}/bc_test/
> +        install ${S}/Test/jn.b ${D}${PTEST_PATH}/bc_test/
> +        install ${S}/Test/ln.b ${D}${PTEST_PATH}/bc_test/
> +        install ${S}/Test/mul.b ${D}${PTEST_PATH}/bc_test/
> +        install ${S}/Test/raise.b ${D}${PTEST_PATH}/bc_test/
> +        install ${S}/Test/sine.b ${D}${PTEST_PATH}/bc_test/
> +        install ${S}/Test/sqrt.b ${D}${PTEST_PATH}/bc_test/

Use a glob instead of installing them one-by-one.

Ross

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#172252): 
https://lists.openembedded.org/g/openembedded-core/message/172252
Mute This Topic: https://lists.openembedded.org/mt/94554197/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to