[PATCH PM-QA v2] Refactor pass/fail/skip code in PM-QA

2014-07-29 Thread Lisa Nguyen
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 
---
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..d06fb4e 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=$(($fail_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


[PATCH PM-QA v3] Refactor pass/fail/skip code in PM-QA

2014-07-29 Thread Lisa Nguyen
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 
---
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