Focus on returning the results of each test script rather
than the results of each subtest. This will help to keep the
number of PM-QA test results consistent across multiple boards
regardless of number of frequencies, cores, etc.

Examples before the refactoring:

https://validation.linaro.org/dashboard/streams
/anonymous/lisatn/bundles/331786fb33a49b060adccf51bb509d5f286422e7/

Examples after the refactoring:

https://validation.linaro.org/dashboard/streams/anonymous
/lisatn/bundles/3451b80ed9ba8a813b109dac1c41b09f0445f819/

Once this patch is accepted and merged, then there will be a
follow up patch to update the pwrmgmt test definition, so LAVA
can record PM-QA results accurately.

Signed-off-by: Lisa Nguyen <lisa.ngu...@linaro.org>
---
Change from v2 to v3:
- Fix a silly increment error for skip count cause I 
didn't look closely enough

Changes from v1 to v2:
- Rewrite test_status_show() function
- Add description and log_skip() function in thermal_05
- Moved skip/fail/pass counts to log_end() function

 cpufreq/cpufreq_07.sh |    2 +-
 include/functions.sh  |   35 ++++++++++++++++++++++++++++++-----
 thermal/thermal_05.sh |    1 +
 thermal/thermal_06.sh |    2 +-
 4 files changed, 33 insertions(+), 7 deletions(-)

diff --git a/cpufreq/cpufreq_07.sh b/cpufreq/cpufreq_07.sh
index f8f9e8e..b65d212 100755
--- a/cpufreq/cpufreq_07.sh
+++ b/cpufreq/cpufreq_07.sh
@@ -74,7 +74,7 @@ check_ondemand() {
 supported=$(cat $CPU_PATH/cpu0/cpufreq/scaling_available_governors | grep 
"ondemand")
 if [ -z "$supported" ]; then
     log_skip "ondemand not supported"
-    exit 0
+    return 0
 fi
 
 save_governors
diff --git a/include/functions.sh b/include/functions.sh
index 417c725..763f413 100644
--- a/include/functions.sh
+++ b/include/functions.sh
@@ -32,14 +32,31 @@ INC=0
 CPU=
 pass_count=0
 fail_count=0
+skip_count=0
+test_script_status="pass"
 
 test_status_show() {
-    echo "-------- total = $(($pass_count + $fail_count))"
-    echo "-------- pass = $pass_count"
-    # report failure only if it is there
-    if [ $fail_count -ne 0 ] ; then
-      echo "-------- fail = $fail_count"
+    if [ "$fail_count" -ne "0" ]; then
+       test_script_status="fail"
+    else
+       if [ "$skip_count" -ne "0" ]; then
+               if [ "$pass_count" -ne "0"]; then
+                       test_script_status="pass"
+               else
+                       test_script_status="skip"
+               fi
+       fi
+    fi
+
+    echo " "
+    if [[ "$test_script_status" == "fail" ]]; then
+       echo "$TEST_NAME: fail"
+    elif [[ "$test_script_status" == "skip" ]]; then
+       echo "$TEST_NAME: skip"
+    else
+       echo "$TEST_NAME: pass"
     fi
+    echo " "
 }
 
 log_begin() {
@@ -49,6 +66,14 @@ log_begin() {
 
 log_end() {
     printf "$*\n"
+
+    if [[ "$*" == "Err" ]]; then
+       fail_count=$(($fail_count + 1))
+    elif [[ "$*" == "skip" ]]; then
+       skip_count=$(($skip_count + 1))
+    else
+       pass_count=$(($pass_count + 1))
+    fi
 }
 
 log_skip() {
diff --git a/thermal/thermal_05.sh b/thermal/thermal_05.sh
index 05f83d1..c621b49 100755
--- a/thermal/thermal_05.sh
+++ b/thermal/thermal_05.sh
@@ -36,6 +36,7 @@ verify_cpufreq_cooling_device_action() {
     local cpufreq_cdev=$(cat $dirpath/type)
     cat $dirpath/type | grep cpufreq
     if [ $? -ne 0  ] ; then
+       log_skip "Cannot find cpufreq in $cdev_name..."
        return 0
     fi
 
diff --git a/thermal/thermal_06.sh b/thermal/thermal_06.sh
index 92c987a..d8877f0 100755
--- a/thermal/thermal_06.sh
+++ b/thermal/thermal_06.sh
@@ -30,7 +30,7 @@ source ../include/thermal_functions.sh
 
 if [ "$thermal_try_max" -eq 0 ]; then
     log_skip "test of trip points being crossed"
-    exit 0
+    return 0
 fi
 
 TEST_LOOP=100
-- 
1.7.9.5


_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to