Skip to content

Commit d7c9518

Browse files
committed
CPU frequency changes to support sh
Made few changes for the script to work for sh. The previous change works for bash. Hence modified to work with sh Added back local variables as per review comment Signed-off-by: Vamsee Narapareddi <[email protected]> Signed-off-by: Milosz Wasilewski <[email protected]>
1 parent 473683d commit d7c9518

File tree

13 files changed

+56
-61
lines changed

13 files changed

+56
-61
lines changed

Runner/init_env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
# Source this file to setup the test suite environment
55
export BASEDIR=$(pwd)
66
export TOOLS=$(pwd)/utils
7-
export SUITES=$(pwd)/suites
7+
export SUITES=$(pwd)/suites

Runner/suites/Kernel/FunctionalArea/baseport/CPUFreq_Validation/run.sh

Lines changed: 44 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
#!/bin/sh
55

66
. "$(pwd)/init_env"
7-
# CPUFreq Validator: Parallel, Colorized
8-
/var/Runner/init_env
97
TESTNAME="CPUFreq_Validation"
108
. "$TOOLS/functestlib.sh"
119

@@ -14,119 +12,116 @@ log_info "----------------------------------------------------------------------
1412
log_info "-------------------Starting $TESTNAME Testcase----------------------------"
1513
log_info "=== CPUFreq Frequency Walker with Validation ==="
1614

17-
# Color codes
18-
GREEN="\e[32m"
19-
RED="\e[31m"
20-
YELLOW="\e[33m"
21-
BLUE="\e[34m"
22-
NC="\e[0m" # No Color
15+
# Color codes (ANSI escape sequences)
16+
GREEN="\033[32m"
17+
RED="\033[31m"
18+
YELLOW="\033[33m"
19+
BLUE="\033[34m"
20+
NC="\033[0m"
2321

2422
NUM_CPUS=$(nproc)
25-
echo -e "${YELLOW}Detected $NUM_CPUS CPU cores.${NC}"
23+
printf "${YELLOW}Detected %s CPU cores.${NC}\n" "$NUM_CPUS"
2624

27-
overall_pass=true
28-
declare -A core_status
25+
overall_pass=0
26+
status_dir="/tmp/cpufreq_status.$$"
27+
mkdir -p "$status_dir"
2928

3029
validate_cpu_core() {
3130
local cpu=$1
3231
local core_id=$2
32+
status_file="$status_dir/core_$core_id"
3333

34-
echo -e "${BLUE}Processing $cpu...${NC}"
34+
printf "${BLUE}Processing %s...${NC}\n" "$cpu"
3535

3636
if [ ! -d "$cpu/cpufreq" ]; then
37-
echo -e "${BLUE}[SKIP]${NC} $cpu does not support cpufreq."
38-
core_status["$core_id"]="skip"
37+
printf "${BLUE}[SKIP]${NC} %s does not support cpufreq.\n" "$cpu"
38+
echo "skip" > "$status_file"
3939
return
4040
fi
4141

4242
available_freqs=$(cat "$cpu/cpufreq/scaling_available_frequencies" 2>/dev/null)
4343

4444
if [ -z "$available_freqs" ]; then
45-
echo -e "${YELLOW}[INFO]${NC} No available frequencies for $cpu. Skipping..."
46-
core_status["$core_id"]="skip"
45+
printf "${YELLOW}[INFO]${NC} No available frequencies for %s. Skipping...\n" "$cpu"
46+
echo "skip" > "$status_file"
4747
return
4848
fi
4949

50-
# Set governor to userspace
5150
if echo "userspace" | tee "$cpu/cpufreq/scaling_governor" > /dev/null; then
52-
echo -e "${YELLOW}[INFO]${NC} Set governor to userspace."
51+
printf "${YELLOW}[INFO]${NC} Set governor to userspace.\n"
5352
else
54-
echo -e "${RED}[ERROR]${NC} Cannot set userspace governor for $cpu."
55-
core_status["$core_id"]="fail"
53+
printf "${RED}[ERROR]${NC} Cannot set userspace governor for %s.\n" "$cpu"
54+
echo "fail" > "$status_file"
5655
return
5756
fi
5857

59-
core_status["$core_id"]="pass" # Assume pass unless a failure happens
58+
echo "pass" > "$status_file"
6059

6160
for freq in $available_freqs; do
6261
log_info "Setting $cpu to frequency $freq kHz..."
63-
if echo $freq | tee "$cpu/cpufreq/scaling_setspeed" > /dev/null; then
62+
if echo "$freq" | tee "$cpu/cpufreq/scaling_setspeed" > /dev/null; then
6463
sleep 0.2
6564
actual_freq=$(cat "$cpu/cpufreq/scaling_cur_freq")
66-
if [ "$actual_freq" == "$freq" ]; then
67-
echo -e "${GREEN}[PASS]${NC} $cpu set to $freq kHz."
65+
if [ "$actual_freq" = "$freq" ]; then
66+
printf "${GREEN}[PASS]${NC} %s set to %s kHz.\n" "$cpu" "$freq"
6867
else
69-
echo -e "${RED}[FAIL]${NC} Tried to set $cpu to $freq kHz, but current is $actual_freq kHz."
70-
core_status["$core_id"]="fail"
68+
printf "${RED}[FAIL]${NC} Tried to set %s to %s kHz, but current is %s kHz.\n" "$cpu" "$freq" "$actual_freq"
69+
echo "fail" > "$status_file"
7170
fi
7271
else
73-
echo -e "${RED}[ERROR]${NC} Failed to set $cpu to $freq kHz."
74-
core_status["$core_id"]="fail"
72+
printf "${RED}[ERROR]${NC} Failed to set %s to %s kHz.\n" "$cpu" "$freq"
73+
echo "fail" > "$status_file"
7574
fi
7675
done
7776

78-
# Restore governor
7977
echo "Restoring $cpu governor to 'ondemand'..."
8078
echo "ondemand" | sudo tee "$cpu/cpufreq/scaling_governor" > /dev/null
8179
}
8280

83-
# Launch validation per CPU in parallel
8481
cpu_index=0
8582
for cpu in /sys/devices/system/cpu/cpu[0-9]*; do
8683
validate_cpu_core "$cpu" "$cpu_index" &
87-
((cpu_index++))
84+
cpu_index=$((cpu_index + 1))
8885
done
8986

90-
# Wait for all background jobs to finish
9187
wait
9288

93-
# Summary
9489
log_info ""
9590
log_info "=== Per-Core Test Summary ==="
96-
for idx in "${!core_status[@]}"; do
97-
status=${core_status[$idx]}
91+
for status_file in "$status_dir"/core_*; do
92+
idx=$(basename "$status_file" | cut -d_ -f2)
93+
status=$(cat "$status_file")
9894
case "$status" in
9995
pass)
100-
echo -e "CPU$idx: ${GREEN}[PASS]${NC}"
96+
printf "CPU%s: ${GREEN}[PASS]${NC}\n" "$idx"
10197
;;
10298
fail)
103-
echo -e "CPU$idx: ${RED}[FAIL]${NC}"
104-
overall_pass=false
99+
printf "CPU%s: ${RED}[FAIL]${NC}\n" "$idx"
100+
overall_pass=1
105101
;;
106102
skip)
107-
echo -e "CPU$idx: ${BLUE}[SKIPPED]${NC}"
103+
printf "CPU%s: ${BLUE}[SKIPPED]${NC}\n" "$idx"
108104
;;
109105
*)
110-
echo -e "CPU$idx: ${RED}[UNKNOWN STATUS]${NC}"
111-
overall_pass=false
106+
printf "CPU%s: ${RED}[UNKNOWN STATUS]${NC}\n" "$idx"
107+
overall_pass=1
112108
;;
113109
esac
114110
done
115111

116-
# Overall result
117112
log_info ""
118113
log_info "=== Overall CPUFreq Validation Result ==="
119-
if $overall_pass; then
120-
echo -e "${GREEN}[OVERALL PASS]${NC} All CPUs validated successfully."
121-
log_pass "$TESTNAME : Test Passed"
122-
echo "$TESTNAME : Test Passed" > $test_path/$TESTNAME.res
114+
if [ "$overall_pass" -eq 0 ]; then
115+
printf "${GREEN}[OVERALL PASS]${NC} All CPUs validated successfully.\n"
116+
log_pass "$TESTNAME : Test Passed"
123117
echo "$TESTNAME PASS" > "$test_path/$TESTNAME.res"
118+
rm -r "$status_dir"
124119
exit 0
125120
else
126-
echo -e "${RED}[OVERALL FAIL]${NC} Some CPUs failed frequency validation."
127-
log_fail "$TESTNAME : Test Failed"
128-
echo "$TESTNAME : Test Failed" > $test_path/$TESTNAME.res
121+
printf "${RED}[OVERALL FAIL]${NC} Some CPUs failed frequency validation.\n"
122+
log_fail "$TESTNAME : Test Failed"
129123
echo "$TESTNAME FAIL" > "$test_path/$TESTNAME.res"
124+
rm -r "$status_dir"
130125
exit 1
131126
fi
132127

Runner/suites/Kernel/FunctionalArea/baseport/GIC/run.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,4 @@ echo "$initial_count" | while read -r line; do
6363
echo "$TESTNAME FAIL" > $test_path/$TESTNAME.res
6464
fi
6565
done
66-
log_info "-------------------Completed $TESTNAME Testcase----------------------------"
66+
log_info "-------------------Completed $TESTNAME Testcase----------------------------"

Runner/suites/Kernel/FunctionalArea/baseport/IPA/run.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,4 @@ else
4848
log_fail "$TESTNAME : Test Failed"
4949
echo "$TESTNAME FAIL" > $test_path/$TESTNAME.res
5050
fi
51-
log_info "-------------------Completed $TESTNAME Testcase----------------------------"
51+
log_info "-------------------Completed $TESTNAME Testcase----------------------------"

Runner/suites/Kernel/FunctionalArea/baseport/MEMLAT/run.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,4 @@ else
6060
log_fail "$TESTNAME : Test Failed"
6161
echo "$TESTNAME FAIL" > $test_path/$TESTNAME.res
6262
fi
63-
log_info "-------------------Completed $TESTNAME Testcase----------------------------"
63+
log_info "-------------------Completed $TESTNAME Testcase----------------------------"

Runner/suites/Kernel/FunctionalArea/baseport/RMNET/run.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,4 @@ else
4747
log_fail "$TESTNAME : Test Failed"
4848
echo "$TESTNAME FAIL" > $test_path/$TESTNAME.res
4949
fi
50-
log_info "-------------------Completed $TESTNAME Testcase----------------------------"
50+
log_info "-------------------Completed $TESTNAME Testcase----------------------------"

Runner/suites/Kernel/FunctionalArea/baseport/Timer/run.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,4 @@ else
2828
log_fail "$TESTNAME : Test Failed"
2929
echo "$TESTNAME FAIL" > $test_path/$TESTNAME.res
3030
fi
31-
log_info "-------------------Completed $TESTNAME Testcase----------------------------"
31+
log_info "-------------------Completed $TESTNAME Testcase----------------------------"

Runner/suites/Kernel/FunctionalArea/baseport/pinctrl/run.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,4 @@ else
2424
log_pass "$TESTNAME : Test Passed"
2525
echo "$TESTNAME PASS" > $test_path/$TESTNAME.res
2626
fi
27-
log_info "-------------------Completed $TESTNAME Testcase----------------------------"
27+
log_info "-------------------Completed $TESTNAME Testcase----------------------------"

Runner/suites/Kernel/FunctionalArea/baseport/qcrypto/run.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,4 @@ else
2727
log_fail "$TESTNAME : Test Failed"
2828
echo "$TESTNAME FAIL" > $test_path/$TESTNAME.res
2929
fi
30-
log_info "-------------------Completed $TESTNAME Testcase----------------------------"
30+
log_info "-------------------Completed $TESTNAME Testcase----------------------------"

Runner/suites/Kernel/FunctionalArea/baseport/remoteproc/run.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@ else
3131
log_fail "$TESTNAME : Test Failed"
3232
echo "$TESTNAME FAIL" > $test_path/$TESTNAME.res
3333
fi
34-
log_info "-------------------Completed $TESTNAME Testcase----------------------------"
34+
log_info "-------------------Completed $TESTNAME Testcase----------------------------"

0 commit comments

Comments
 (0)