]> code.ossystems Code Review - openembedded-core.git/commitdiff
mdadm: improve the run-ptest
authorMingli Yu <Mingli.Yu@windriver.com>
Fri, 23 Nov 2018 06:58:49 +0000 (22:58 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 8 Jan 2019 20:12:03 +0000 (20:12 +0000)
* 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>
meta/recipes-extended/mdadm/files/run-ptest

index 5b276090f5af6b44994b66ff2004dbf967e77194..234f97376a402d52e0eee00e28e27d81a04a5f5d 100644 (file)
@@ -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}