aboutsummaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorMingli Yu <Mingli.Yu@windriver.com>2018-11-22 22:58:49 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-01-08 20:12:03 +0000
commit1b84064b15022a0834d7f443a8d6bde7f4cfeb6d (patch)
tree5a5def9fd9e5a2779c179f7f6faf7badf9c46736 /meta
parent53594c9fd01f7bd02e24aa82a5bd3a14d3dd465e (diff)
downloadopenembedded-core-contrib-1b84064b15022a0834d7f443a8d6bde7f4cfeb6d.tar.gz
mdadm: improve the run-ptest
* There are 120+ cases under ${libdir}/mdadm/ptest/tests, but the test will break if one test fails as below logic in run-ptest. ./test &>./test.log That's to say, the tests after the failed test have no chance to run with the current logic. To guarantee all the tests can run even one of the tests fails, the option --keep-going should be added. * Refactor the test report to make the report more detailed and more common (From OE-Core rev: 80d17497b719efb2ca9f36b8a730815547e93aa7) Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-extended/mdadm/files/run-ptest25
1 files changed, 17 insertions, 8 deletions
diff --git a/meta/recipes-extended/mdadm/files/run-ptest b/meta/recipes-extended/mdadm/files/run-ptest
index 5b276090f5a..234f97376a4 100644
--- a/meta/recipes-extended/mdadm/files/run-ptest
+++ b/meta/recipes-extended/mdadm/files/run-ptest
@@ -1,10 +1,19 @@
#!/bin/sh
-./test &>./test.log
-if [ $? -eq 0 ]
-then
- echo "PASS: mdadm"
- rm test.log
-else
- echo "FAIL: mdadm"
-fi
+LOG="$(pwd)/test.log"
+# make the test continue to execute even one fail
+./test --keep-going 2>&1|tee ${LOG}
+# translate the test report
+# "tests/18imsm-r10_4d-takeover-r0_2d... succeeded" -> "PASS: tests/18imsm-r10_4d-takeover-r0_2d"
+# "tests/19raid6repair... FAILED - see //log for details" -> "FAIL: tests/19raid6repair"
+sed -i -e '/succeeded/ s/^/PASS: /' -e '/FAILED/ s/^/FAIL: /' ${LOG}
+sed -i -e 's/... FAILED//g' -e 's/... succeeded//g' ${LOG}
+passed=`grep PASS: ${LOG}|wc -l`
+failed=`grep FAIL: ${LOG}|wc -l`
+all=$((passed + failed))
+
+( echo "=== Test Summary ==="
+ echo "TOTAL: ${all}"
+ echo "PASSED: ${passed}"
+ echo "FAILED: ${failed}"
+) | tee -a /${LOG}