[PATCH PM-QA v2] Refactor pass/fail/skip code in PM-QA
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
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