On 28 July 2014 13:38, Lisa Nguyen <lisa.ngu...@linaro.org> wrote: > On 27 July 2014 23:16, Sanjay Singh Rawat <sanjay.ra...@linaro.org> wrote: >> >> >> 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. >> > > I was under the impression that enabling cpu0 only applies for the > cpuhotplug module if we pass in hotplug_allow_cpu0=1 to make check. I > don't recall running cpuidle tests on cpu0 especially if the platform > we're running pm-qa on is a single processor. Am I overlooking > something? > >>> >>> >>> 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 > > Okay, I'll look into this. The only reason why I had separate counters > for fail, skip, and pass because if a few subtests had a combination > of skip, okay, and fail for one test script, then the final result > should be fail. > > Thanks for the feedback, Sanjay.
Quick update: I moved the counts inside the log_end() function. Now currently debugging thermal functions and figuring out why a few test scripts (not all, thankfully) give the wrong test results. I'm aiming to get v2 out by end of day today for review. -- Lisa Nguyen, Power Management Working Group Linaro.org │ Open source software for ARM SoCs | Follow Linaro: Facebook | Twitter | Blog irc: lisatn | lisa.ngu...@linaro.org _______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev