[OE-core] [PATCH] libevent: add granularity to ptest
Trevor Gamblin
trevor.gamblin at windriver.com
Fri Sep 6 15:10:12 UTC 2019
On 9/6/19 10:26 AM, Richard Purdie wrote:
> On Fri, 2019-09-06 at 10:04 -0400, Trevor Gamblin wrote:
>> From: Trevor Gamblin <trevor.gamblin at windriver.com>
>>
>> The libevent ptest used to report only a global pass or a fail
>> result.
>> Count individual PASS, FAIL, SKIP results. The SKIP results now
>> include tests that are disabled in the libevent code.
>>
>> Signed-off-by: Trevor Gamblin <trevor.gamblin at windriver.com>
>> ---
>> .../libevent/libevent/run-ptest | 34 ++++++++++++-----
>> --
>> 1 file changed, 22 insertions(+), 12 deletions(-)
>>
>> diff --git a/meta/recipes-support/libevent/libevent/run-ptest
>> b/meta/recipes-support/libevent/libevent/run-ptest
>> index 0241851c70..b7d945246f 100644
>> --- a/meta/recipes-support/libevent/libevent/run-ptest
>> +++ b/meta/recipes-support/libevent/libevent/run-ptest
>> @@ -1,18 +1,28 @@
>> #!/bin/sh
>>
>> -fail=0
>> +# run-ptest - 'ptest' test infrastructure shell script that
>> +# wraps the libevent test scripts
>> +#
>> +# Trevor Gamblin <trevor.gamblin at windriver.com>
>> +###############################################################
>> +LIBEVENTLIB=/usr/lib/libevent
>> +LOG="${LIBEVENTLIB}/ptest/libevent_ptest_$(date +%Y%m%d-%H%M%S).log"
>> +
>> +cd ${LIBEVENTLIB}/ptest
>> +
>> for test in ./test/*
>> do
>> - $test
>> - if [ $? -ne 0 ]
>> - then
>> - fail=1
>> - fi
>> + $test 2>&1|tee -a ${LOG}
>> done
>>
>> -if [ $fail -eq 0 ]
>> -then
>> - echo "PASS: libevent"
>> -else
>> - echo "FAIL: libevent"
>> -fi
>> +passed=`grep OK ${LOG}|wc -l`
>> +failed=`grep FAILED ${LOG}|wc -l`
>> +skipped=`grep -E 'DISABLED|SKIPPED' ${LOG}|wc -l`
>> +all=$((passed + failed + skipped))
>> +
>> +( echo "=== Test Summary ==="
>> + echo "TOTAL: ${all}"
>> + echo "PASSED: ${passed}"
>> + echo "FAILED: ${failed}"
>> + echo "SKIPPED: ${skipped}"
>> +) | tee -a ${LOG}
> Does this work correctly such that ptest-runner picks up the individual
> test pass/fail results? I thought the tests would need individual
> pass/fail lines for that to work?
>
> Cheers,
>
> Richard
>
>
They do have individual pass/fail results in the ptest-runner output,
but those don't match up with the pass/fail usually provided by ptest,
so the log is parsed for OK/FAILED/SKIPPED/DISABLED and translated.
Example output:
|write_cb: write 12
write_cb: write -1
=== Test Summary ===
TOTAL: 316
PASSED: 300
FAILED: 0
SKIPPED: 16
DURATION: 87
END: /usr/lib/libevent/ptest
2019-09-06T14:50
STOP: ptest-runner|
Compare with the last log from autobuilder
(https://autobuilder.yocto.io/pub/non-release/20190829-10/testresults/qemux86-64-ptest/libevent.log):
|write_cb: write 12||
||write_cb: write -1||
||FAIL: libevent||
||DURATION: 116|
||I'm working on a v2 to address multilib - I'll add the example output
to the commit as well.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20190906/420e28a8/attachment.html>
More information about the Openembedded-core
mailing list