Skip to contentSkip to conversation

mdadm: improve the run-ptest

PATCH New [email protected] 1 participant 1 message Nov 23, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mdadm: improve the run-ptest

From: Mingli Yu <[email protected]>

* 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

---
 meta/recipes-extended/mdadm/files/run-ptest | 25 ++++++++++++++-------
 1 file changed, 17 insertions(+), 8 deletions(-)
meta/recipes-extended/mdadm/files/run-ptest +17 -8
index 5b276090f5..234f97376a 100644
@@ -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}
Signature · 1 line
2.17.1