yocto-ptest: fix ptest-runner failure case
[src/qa-testdefinitions.git] / common / scripts / ptest-lava-wrapper.sh
index e49db5d..0e9ef19 100755 (executable)
@@ -1,11 +1,11 @@
 #!/bin/bash
 
-REQUIREDPTESTS="busybox"
+REQUIREDPTESTS="acl attr systemd cynara xmlsec1 libxml2 openssl openssh lua smack afb-test agl-service-signal-composer dbus-test"
 
 # Check if ptest packages are installed
 command -v ptest-runner >/dev/null 2>&1
 if [ $? -ne 0 ] ; then
-    lava-test-case ptest-installed --result FAIL
+    lava-test-case ptest-installed --result SKIP
 else
     # Run ptests for specified packages
     for unit in ${REQUIREDPTESTS}; do
@@ -17,14 +17,20 @@ else
             # sed 2: remove any special character
             # sed 3: find status and test name, wrap it in a lava-test-case call
             # sh: execute the lava-test-case commands
-            echo "$UNIT_LOG" | grep -e 'PASS' -e 'FAIL' | sed 's/ /-/g' | sed 's/[^a-z|A-Z|0-9|-]//g' | sed 's/\([^-]*\)-\(.*\)/lava-test-case \2 --result \1/' | sh
+            test_pass=$(echo "$UNIT_LOG" | grep -e 'PASS' | wc -l)
+            test_fail=$(echo "$UNIT_LOG" | grep -e 'FAIL' | wc -l)
+            lava-test-case ${unit}-passed-commands --result PASS --measurement $test_pass --units pass
+            if ! [ x"0" = x"$test_fail"] ; then
+              lava-test-case ${unit}-failed-commands --result FAIL --measurement $test_fail --units fail
+              echo "$UNIT_LOG" | grep -e 'FAIL'
+            fi
             lava-test-set stop ptest-$unit
         else
-            lava-test-case ptest-runner ${unit} --result fail
+            lava-test-case ptest-runner-${unit} --result fail
         fi
     done
     lava-test-case ptest-runtime --measurement $SECONDS --units seconds --result PASS
 fi
 
 # Wait for LAVA to parse all the tests from stdout
-sleep 60
\ No newline at end of file
+sleep 15