lttng-tools: filter random filename of ptest output

When run the ptest of lttng-tools, it produced many random filename
when the tests passed, the output confused QA analysis, so we need
to filter the ptest output if tests passed and add up the passed and
failed tests.

NOTE:The tests invoked the run.sh twice, so it output like this:
...
FAIL:...
unit_tests statistics
total pass: 133 tests passed!
total fail: 5 tests failed!
...
FAIL:...
fast_regression statistics
total pass: 1904 tests passed!
total fail: 202 tests failed!

(From OE-Core rev: 29a8c45be2862be02afe2ebbc5c026a42f351990)

Signed-off-by: Dengke Du <dengke.du@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Dengke Du 2016-04-29 04:36:45 -04:00 committed by Richard Purdie
parent c7bf1a871a
commit 361c5be77f
2 changed files with 56 additions and 0 deletions

View File

@ -0,0 +1,55 @@
From b9744428d6dfb1cba7b6e3fdbf0613977914b12f Mon Sep 17 00:00:00 2001
From: Dengke Du <dengke.du@windriver.com>
Date: Fri, 29 Apr 2016 03:25:58 -0400
Subject: [PATCH] lttng-tools: filter random filename of tests output
Show the failed tests, filter the random filename when the test
passed, add up the result.
Upstream-Status: Pending
Signed-off-by: Dengke Du <dengke.du@windriver.com>
---
tests/run.sh | 25 +++++++++++++++++++++++--
1 file changed, 23 insertions(+), 2 deletions(-)
diff --git a/tests/run.sh b/tests/run.sh
index 6455359..9080afc 100755
--- a/tests/run.sh
+++ b/tests/run.sh
@@ -17,9 +17,30 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
+# Define two variable to store the passed and failed result
+pass_count=0
+fail_count=0
+
[ -z "$1" ] && echo "Error: No testlist. Please specify a testlist to run." && exit 1
-prove --merge -v --exec '' - < $1 | sed \
+# Using a while loop to add up the passed and failed result, we use Here Strings
+# "<<<" in bash in order to redirect the test output to the while loop. If put the
+# test output as a pipeline, the while loop will run in subshell, we can't get the
+# pass_count and fail_count when the subshell exit.
+while read line
+do
+ if [[ $line == "FAIL"* ]]; then
+ echo $line;((fail_count=fail_count+1))
+ fi
+ if [[ $line == "PASS"* ]]; then
+ ((pass_count=pass_count+1))
+ fi
+done <<< "$(prove --merge -v --exec '' - < $1 | sed \
-e 's|^ok \(.*\)|PASS: \1|' \
-e 's|^not ok \(.*\)|FAIL: \1|' \
- | egrep -h 'PASS|FAIL'
+ | egrep -h 'PASS|FAIL')"
+
+# Add up the result and output the passed and failed tests
+echo "$1 statistics"
+echo "total pass: $pass_count tests passed!"
+echo "total fail: $fail_count tests failed!"
--
2.8.1

View File

@ -30,6 +30,7 @@ SRC_URI = "git://git.lttng.org/lttng-tools.git;branch=stable-2.7 \
file://Revert-Build-look-for-python-3.0-when-building-pytho.patch \
file://stop-using-SIGUNUSED.patch \
file://runtest-2.4.0.patch \
file://0001-lttng-tools-filter-random-filename-of-tests-output.patch \
file://run-ptest"
S = "${WORKDIR}/git"