On Friday 25 July 2014 04:32 AM, Lisa Nguyen wrote:
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/
for cpu0 many tests are skipped (which i VALID), but this increases the
skip_count
and is reporting the whole test as skipped, e.g. cpuidle_03 case in the
logs. I think
we should use some other function in the cpu0 exception case.
Questions and comments are highly encouraged as it's possible that
the logic can be improved, or my explanation can be clearer. Also,
once the final version of 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>
---
cpufreq/cpufreq_09.sh | 2 +-
include/functions.sh | 22 +++++++++++++++++++---
include/thermal_functions.sh | 6 +++++-
thermal/thermal_06.sh | 2 +-
4 files changed, 26 insertions(+), 6 deletions(-)
diff --git a/cpufreq/cpufreq_09.sh b/cpufreq/cpufreq_09.sh
index 7b65eec..62c953d 100755
--- a/cpufreq/cpufreq_09.sh
+++ b/cpufreq/cpufreq_09.sh
@@ -65,7 +65,7 @@ save_governors
supported=$(cat $CPU_PATH/cpu0/cpufreq/scaling_available_governors | grep
"powersave")
if [ -z "$supported" ]; then
log_skip "powersave not supported"
- exit 0
+ return 0
fi
trap "restore_governors; sigtrap" SIGHUP SIGINT SIGTERM
diff --git a/include/functions.sh b/include/functions.sh
index 417c725..a4625ad 100644
--- a/include/functions.sh
+++ b/include/functions.sh
@@ -32,14 +32,29 @@ INC=0
CPU=
pass_count=0
fail_count=0
+skip_count=0
+test_script_status="true"
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"
+ test_script_status="false"
+ elif [[ $skip_count -ne 0 && $fail_count -eq 0 ]] ; then
+ test_script_status="skip"
+ elif [[ $pass_count -ne 0 && $skip_count -ne 0 ]] ; then
+ test_script_status="pass"
fi
+
+ #print test script result
+ echo " "
+ if [[ $test_script_status == "true" ]]; then
+ echo $TEST_NAME: "pass"
+ elif [[ $test_script_status == "skip" ]]; then
+ echo $TEST_NAME: "skip"
+ else
+ echo $TEST_NAME: "fail"
+ fi
+ echo " "
}
log_begin() {
@@ -54,6 +69,7 @@ log_end() {
log_skip() {
log_begin "$@"
log_end "skip"
+ skip_count=$(($skip_count + 1))
}
for_each_cpu() {
diff --git a/include/thermal_functions.sh b/include/thermal_functions.sh
index a51240b..a719487 100644
--- a/include/thermal_functions.sh
+++ b/include/thermal_functions.sh
@@ -44,11 +44,12 @@ check_valid_temp() {
if [ $temp_val -gt 0 ]; then
log_end "Ok"
+ pass_count=$(($pass_count + 1))
return 0
fi
log_end "Err"
-
+ fail_count=$(($fail_count + 1))
return 1
}
@@ -126,10 +127,12 @@ check_valid_binding() {
log_begin "checking $descr"
if [ $trip_point_val -ge $trip_point_max ]; then
log_end "Err"
+ fail_count=$(($fail_count + 1))
return 1
fi
log_end "Ok"
+ pass_count=$(($pass_count + 1))
it will be better stubbing pass/fail/skip count modifiction inside log_end()
, then we don't have to operate on the count separately
return 0
}
@@ -165,6 +168,7 @@ for_each_cooling_device() {
devices=$(ls $THERMAL_PATH | grep "cooling_device['$MAX_CDEV']")
if [ "$devices" == "" ]; then
log_skip "no cooling devices"
+ skip_count=$(($skip_count + 1))
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
--
sanjay
_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev