xiaoyu/project/app/aov_sample/resume_suspend_test_2.sh
2025-03-04 22:36:42 +08:00

564 lines
16 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/sh
file_flag_test_arm_aov_system="/userdata/test_arm_aov_system"
file_flag_test_arm_reboot_after_aov="/userdata/test_arm_reboot_after_aov"
file_flag_test_arm_dd_tmp="/userdata/test_arm_dd_tmp"
file_flag_test_arm_venc="/userdata/test_arm_venc"
file_flag_test_arm_vi="/userdata/test_arm_vi"
file_flag_test_arm_vi_restart_app="/userdata/test_arm_vi_restart_app"
file_flag_test_arm_vi_multi_frame="/userdata/test_arm_multi_vi"
file_flag_test_arm_vi_venc="/userdata/test_arm_vi_venc"
file_flag_test_arm_vi_iva_venc="/userdata/test_arm_vi_iva_venc"
file_flag_test_arm_aiisp_iva_venc="/userdata/test_arm_aiisp_iva_venc"
file_flag_test_arm_multi_vi="/userdata/test_arm_multi_vi"
file_flag_test_arm_multi_vi_restart_app="/userdata/test_arm_multi_vi_restart_app"
file_flag_test_arm_multi_vi_reboot_after_aov="/userdata/test_arm_multi_vi_reboot_after_aov"
file_flag_test_arm_multi_vi_multi_frame="/userdata/test_arm_multi_vi_multi_frame"
file_flag_test_arm_multi_vi_venc="/userdata/test_arm_multi_vi_venc"
file_flag_test_arm_multi_vi_iva_venc="/userdata/test_arm_multi_vi_iva_venc"
file_flag_test_arm_multi_vi_iva_venc_restart_app="/userdata/test_arm_multi_vi_iva_venc_restart_app"
file_flag_test_npu="/userdata/test_arm_npu"
g_test_count=10000
sensor_width=$rk_cam_w
sensor_height=$rk_cam_h
sensor2_width=$rk_cam2_w
sensor2_height=$rk_cam2_h
## 休眠唤醒10万次后reboot重启机器
test_arm_aov_system(){
if [ ! -e "$file_flag_test_arm_aov_system" ]; then
return;
fi
echo "ffaa0000.mmc" > /sys/bus/platform/drivers/dwmmc_rockchip/unbind
test_count=$((g_test_count * 10))
while [ $test_count -gt 0 ]
do
echo mem > /sys/power/state
sleep 0.01
test_count=$((test_count - 1))
done
rm -rf "$file_flag_test_arm_aov_system"
sync
reboot -f
}
## 休眠唤醒10次后, reboot 重启机器
test_arm_reboot_after_aov(){
if [ ! -e "$file_flag_test_arm_reboot_after_aov" ]; then
return;
fi
echo "ffaa0000.mmc" > /sys/bus/platform/drivers/dwmmc_rockchip/unbind
if [ ! -e "$file_flag_test_arm_reboot_after_aov" ]; then
echo "$file_flag_test_arm_reboot_after_aov not found, example: echo 10000 $file_flag_test_arm_reboot_after_aov"
return;
fi
reboot_count=$(cat "$file_flag_test_arm_reboot_after_aov")
counter=0
while [ $counter -lt 10 ]
do
echo mem > /sys/power/state
counter=$(( counter + 1 ))
done
if [ "$reboot_count" -gt 0 ]; then
reboot_count=$(( reboot_count - 1 ))
echo "$reboot_count" > "$file_flag_test_arm_reboot_after_aov"
sync
reboot -f
fi
rm -rf "$file_flag_test_arm_reboot_after_aov"
sync
reboot -f
}
## 休眠唤醒g_test_count次后, 并检查/tmp/test.bin 内容
test_arm_dd_tmp(){
if [ ! -e "$file_flag_test_arm_dd_tmp" ]; then
return;
fi
echo "ffaa0000.mmc" > /sys/bus/platform/drivers/dwmmc_rockchip/unbind
dd if=/dev/zero of=/tmp/test.bin bs=1M count=10
test_md5_result=`md5sum /tmp/test.bin | awk '{print $1}'`
counter=0
while [ $counter -lt "$g_test_count" ]
do
md5_result=`md5sum /tmp/test.bin | awk '{print $1}'`
echo "md5sum result = $test_md5_result, $md5_result"
if [ "$md5_result"x != "$test_md5_result"x ]; then
echo "/tmp/test_0.bin is error, break test"
touch "/userdata/failed_test_arm_dd_tmp"
break;
fi
md5sum /tmp/test.bin
dd if=/dev/zero of=/tmp/test.bin bs=1M count=10
echo mem > /sys/power/state
counter=$(( counter + 1 ))
done
rm -rf "$file_flag_test_arm_dd_tmp"
sync
reboot -f
}
## MCU 空跑MCU 唤醒后马上进入休眠且后台rk_mpi_venc_test 在编码拷机35万次 ##
test_arm_venc(){
if [ ! -e "$file_flag_test_arm_venc" ]; then
return;
fi
echo "ffaa0000.mmc" > /sys/bus/platform/drivers/dwmmc_rockchip/unbind
rk_mpi_venc_test -w 2304 -h 1296 -C 8 -s 200 -o /tmp/
if [ ! -f /tmp/test_0.bin ]; then
echo "rk_mpi_venc_test -w 2304 -h 1296 -C 8 -s 200 -o /tmp/ start faild"
touch "/userdata/failed_test_arm_venc"
rm -rf "$file_flag_test_arm_venc"
sync
reboot -f
fi
venc0_md5_result=`md5sum /tmp/test_0.bin | awk '{print $1}'`
counter=0
venc_run_counter=0
while [ $counter -lt "$g_test_count" ]
do
ps|grep rk_mpi_venc_test |grep -v grep
if [ $? -ne 0 ]; then
echo "rk_mpi_venc_test not exit, restart"
md5_result=`md5sum /tmp/test_0.bin | awk '{print $1}'`
echo "md5sum result = $venc0_md5_result, $md5_result"
if [ "$md5_result"x != "$venc0_md5_result"x ]; then
echo "/tmp/test_0.bin is error, break test"
touch "/userdata/failed_test_arm_venc"
break;
fi
sleep 1
rk_mpi_venc_test -w 2304 -h 1296 -C 8 -s 200 -o /tmp/ &
venc_run_counter=$(( venc_run_counter + 1 ))
fi
echo "LoopCount = $counter, vencRunCounter = $venc_run_counter"
sleep 1
echo mem > /sys/power/state
counter=$(( counter + 1 ))
done
while [ true ]
do
ps|grep rk_mpi_venc_test |grep -v grep
if [ $? -ne 0 ]; then
break;
fi
sleep 10
echo "slee one"
done
rm -rf "$file_flag_test_arm_venc"
sync
reboot -f
}
## vi 单帧压测 ##
test_arm_vi(){
if [ ! -e "$file_flag_test_arm_vi" ]; then
return;
fi
echo "ffaa0000.mmc" > /sys/bus/platform/drivers/dwmmc_rockchip/unbind
sample_aov_vi -w $sensor_width -h $sensor_height -a /etc/iqfiles/ --aov_loop_count $g_test_count --suspend_time 100
if [ $? -eq 0 ]; then
echo "Process exited successfully."
else
echo "Process exited with an error."
touch "/userdata/failed_test_arm_vi"
fi
rm -rf "$file_flag_test_arm_vi"
sync
reboot -f
}
## vi 进程重启测试 ##
test_arm_vi_restart_app(){
if [ ! -e "$file_flag_test_arm_vi_restart_app" ]; then
return;
fi
echo "ffaa0000.mmc" > /sys/bus/platform/drivers/dwmmc_rockchip/unbind
counter=0
while [ $counter -lt "$g_test_count" ]
do
sample_aov_vi -w $sensor_width -h $sensor_height -a /etc/iqfiles/ --aov_loop_count 10 --suspend_time 100
if [ $? -eq 0 ]; then
echo "Process exited successfully."
else
echo "Process exited with an error."
touch "/userdata/failed_test_arm_vi_restart_app"
break;
fi
counter=$(( counter + 1 ))
done
rm -rf "$file_flag_test_arm_vi_restart_app"
sync
reboot -f
}
## vi 单多帧来回切换 ##
test_arm_vi_multi_frame(){
if [ ! -e "$file_flag_test_arm_vi_multi_frame" ]; then
return;
fi
echo "ffaa0000.mmc" > /sys/bus/platform/drivers/dwmmc_rockchip/unbind
sample_aov_vi -w $sensor_width -h $sensor_height -a /etc/iqfiles/ --aov_loop_count $g_test_count --suspend_time 100 --vi_frame_mode 1
if [ $? -eq 0 ]; then
echo "Process exited successfully."
else
echo "Process exited with an error."
touch "/userdata/failed_test_arm_vi_multi_frame"
fi
rm -rf "$file_flag_test_arm_vi_multi_frame"
sync
reboot -f
}
## vi-venc 压测 ##
test_arm_vi_venc(){
if [ ! -e "$file_flag_test_arm_vi_venc" ]; then
return;
fi
echo "ffaa0000.mmc" > /sys/bus/platform/drivers/dwmmc_rockchip/unbind
sample_aov_vi_venc -w $sensor_width -h $sensor_height -a /etc/iqfiles/ --aov_loop_count $g_test_count --suspend_time 100
if [ $? -eq 0 ]; then
echo "Process exited successfully."
else
echo "Process exited with an error."
touch "/userdata/failed_test_arm_vi_venc"
fi
rm -rf "$file_flag_test_arm_vi_venc"
sync
reboot -f
}
## vi-iva-venc 压测 ##
test_arm_vi_iva_venc(){
if [ ! -e "$file_flag_test_arm_vi_iva_venc" ]; then
return;
fi
echo "ffaa0000.mmc" > /sys/bus/platform/drivers/dwmmc_rockchip/unbind
sample_aov_vi_iva_venc -w $sensor_width -h $sensor_height -a /etc/iqfiles/ --aov_loop_count $g_test_count --suspend_time 100
if [ $? -eq 0 ]; then
echo "Process exited successfully."
else
echo "Process exited with an error."
touch "/userdata/failed_test_arm_vi_iva_venc"
fi
rm -rf "$file_flag_test_arm_vi_iva_venc"
sync
reboot -f
}
## vi-aiisp-iva-venc 压测 ##
test_arm_aiisp_iva_venc(){
if [ ! -e "$file_flag_test_arm_aiisp_iva_venc" ]; then
return;
fi
echo "ffaa0000.mmc" > /sys/bus/platform/drivers/dwmmc_rockchip/unbind
sample_aov_aiisp_iva_venc -w $sensor_width -h $sensor_height -a /etc/iqfiles/ --aov_loop_count $g_test_count --suspend_time 100
if [ $? -eq 0 ]; then
echo "Process exited successfully."
else
echo "Process exited with an error."
touch "/userdata/failed_test_arm_aiisp_iva_venc"
fi
rm -rf "$file_flag_test_arm_aiisp_iva_venc"
sync
reboot -f
}
## multi_vi 单帧压测 ##
test_arm_multi_vi(){
if [ ! -e "$file_flag_test_arm_multi_vi" ]; then
return;
fi
echo "ffaa0000.mmc" > /sys/bus/platform/drivers/dwmmc_rockchip/unbind
sample_aov_multi_vi -s 0 -w $sensor_width -h $sensor_height -s 1 -w $sensor2_width -h $sensor2_height -a /etc/iqfiles/ --aov_loop_count $g_test_count --suspend_time 100
if [ $? -eq 0 ]; then
echo "Process exited successfully."
else
echo "Process exited with an error."
touch "/userdata/failed_test_arm_multi_vi"
fi
rm -rf "$file_flag_test_arm_multi_vi"
sync
reboot -f
}
## multi_vi 单帧压测 ##
test_arm_multi_vi_restart_app(){
if [ ! -e "$file_flag_test_arm_multi_vi_restart_app" ]; then
return;
fi
echo "ffaa0000.mmc" > /sys/bus/platform/drivers/dwmmc_rockchip/unbind
counter=0
while [ $counter -lt "$g_test_count" ]
do
sample_aov_multi_vi -s 0 -w $sensor_width -h $sensor_height -s 1 -w $sensor2_width -h $sensor2_height -a /etc/iqfiles/ --aov_loop_count 10 --suspend_time 100
if [ $? -eq 0 ]; then
echo "Process exited successfully."
else
echo "Process exited with an error."
touch "/userdata/failed_test_arm_multi_vi_restart_app"
break;
fi
counter=$(( counter + 1 ))
done
if [ $? -eq 0 ]; then
echo "Process exited successfully."
else
echo "Process exited with an error."
touch "/userdata/failed_test_arm_multi_vi_restart_app"
fi
rm -rf "$file_flag_test_arm_multi_vi_restart_app"
sync
reboot -f
}
## 休眠唤醒10次后, reboot 重启机器
test_arm_multi_vi_reboot_after_aov(){
if [ ! -e "$file_flag_test_arm_multi_vi_reboot_after_aov" ]; then
return;
fi
echo "ffaa0000.mmc" > /sys/bus/platform/drivers/dwmmc_rockchip/unbind
sample_aov_multi_vi -s 0 -w $sensor_width -h $sensor_height -s 1 -w $sensor2_width -h $sensor2_height -a /etc/iqfiles/ --aov_loop_count 10 --suspend_time 100
if [ $? -eq 0 ]; then
echo "Process exited successfully."
else
echo "Process exited with an error."
touch "/userdata/failed_test_arm_multi_vi_reboot_after_aov"
echo 0 > "$file_flag_test_arm_reboot_after_aov"
fi
reboot_count=$(cat "$file_flag_test_arm_multi_vi_reboot_after_aov")
if [ "$reboot_count" -gt 0 ]; then
reboot_count=$(( reboot_count - 1 ))
echo "$reboot_count" > "$file_flag_test_arm_multi_vi_reboot_after_aov"
sync
reboot -f
fi
rm -rf "$file_flag_test_arm_multi_vi_reboot_after_aov"
sync
reboot -f
}
## multi_vi 单多帧来回切换 ##
test_arm_multi_vi_multi_frame(){
if [ ! -e "$file_flag_test_arm_multi_vi_multi_frame" ]; then
return;
fi
echo "ffaa0000.mmc" > /sys/bus/platform/drivers/dwmmc_rockchip/unbind
sample_aov_multi_vi -w -s 0 -w $sensor_width -h $sensor_height -s 1 -w $sensor2_width -h $sensor2_height -a /etc/iqfiles/ --aov_loop_count $g_test_count --suspend_time 100 --vi_frame_mode 1
if [ $? -eq 0 ]; then
echo "Process exited successfully."
else
echo "Process exited with an error."
touch "/userdata/failed_test_arm_multi_vi_multi_frame"
fi
rm -rf "$file_flag_test_arm_multi_vi_multi_frame"
sync
reboot -f
}
## multi_vi-venc 压测 ##
test_arm_multi_vi_venc(){
if [ ! -e "$file_flag_test_arm_multi_vi_venc" ]; then
return;
fi
echo "ffaa0000.mmc" > /sys/bus/platform/drivers/dwmmc_rockchip/unbind
sample_aov_multi_vi_venc -s 0 -w $sensor_width -h $sensor_height -s 1 -w $sensor2_width -h $sensor2_height -a /etc/iqfiles/ --aov_loop_count $g_test_count --suspend_time 100
if [ $? -eq 0 ]; then
echo "Process exited successfully."
else
echo "Process exited with an error."
touch "/userdata/failed_test_arm_multi_vi_iva_venc"
fi
rm -rf "$file_flag_test_arm_multi_vi_venc"
sync
reboot -f
}
## multi_vi-iva-venc 压测 ##
test_arm_multi_vi_iva_venc(){
if [ ! -e "$file_flag_test_arm_multi_vi_iva_venc" ]; then
return;
fi
echo "ffaa0000.mmc" > /sys/bus/platform/drivers/dwmmc_rockchip/unbind
sample_aov_multi_vi_iva_venc -s 0 -w $sensor_width -h $sensor_height -s 1 -w $sensor2_width -h $sensor2_height -a /etc/iqfiles/ --aov_loop_count $g_test_count --suspend_time 100
if [ $? -eq 0 ]; then
echo "Process exited successfully."
else
echo "Process exited with an error."
touch "/userdata/failed_test_arm_multi_vi_iva_venc"
fi
rm -rf "$file_flag_test_arm_multi_vi_iva_venc"
sync
reboot -f
}
## multi_vi-iva-venc 测试进程重启
test_arm_multi_vi_iva_venc_restart_app(){
if [ ! -e "$file_flag_test_arm_multi_vi_iva_venc_restart_app" ]; then
return;
fi
echo "ffaa0000.mmc" > /sys/bus/platform/drivers/dwmmc_rockchip/unbind
counter=0
while [ $counter -lt "$g_test_count" ]
do
sample_aov_multi_vi_iva_venc -s 0 -w $sensor_width -h $sensor_height -s 1 -w $sensor2_width -h $sensor2_height -a /etc/iqfiles/ --aov_loop_count 10 --suspend_time 100
if [ $? -eq 0 ]; then
echo "Process exited successfully."
else
echo "Process exited with an error."
touch "/userdata/failed_test_arm_multi_vi_iva_venc_restart_app"
break;
fi
counter=$(( counter + 1 ))
done
rm -rf "$file_flag_test_arm_multi_vi_iva_venc_restart_app"
sync
reboot -f
}
## 测试npu ##
test_arm_npu(){
if [ ! -e "$file_flag_test_npu" ]; then
return;
fi
echo "ffaa0000.mmc" > /sys/bus/platform/drivers/dwmmc_rockchip/unbind
sample_aov_npu_test -w 720 -h 480 -l $g_test_count --suspend_time 100
if [ $? -eq 0 ]; then
echo "Process exited successfully."
else
echo "Process exited with an error."
touch "/userdata/failed_test_arm_npu"
fi
rm -rf "$file_flag_test_npu"
sync
reboot -f
}
if [ "$1"x = "SingleCamTest"x ]; then
rm -rf /userdata/rkipc.ini
cp /oem/usr/bin/resume_suspend_test.sh /userdata/auto_test.sh
chmod a+x userdata/auto_test.sh
touch /userdata/auto_userdata_test
touch "$file_flag_test_arm_reboot_mcu_run_sleep10ms"
if [ -n "$2" ]; then
g_test_count="$2"
sed -i "s/g_test_count=10000/g_test_count=$g_test_count/g" /userdata/auto_test.sh
fi
echo "wakeup test: g_test_count = $g_test_count"
echo "$g_test_count" > "$file_flag_test_arm_reboot_after_aov"
touch "$file_flag_test_arm_aov_system"
touch "$file_flag_test_arm_reboot_after_aov"
touch "$file_flag_test_arm_dd_tmp"
touch "$file_flag_test_arm_venc"
touch "$file_flag_test_arm_vi"
#touch "$file_flag_test_arm_vi_restart_app"
touch "$file_flag_test_arm_vi_multi_frame"
touch "$file_flag_test_arm_vi_venc"
touch "$file_flag_test_arm_vi_iva_venc"
touch "$file_flag_test_arm_aiisp_iva_venc"
touch "$file_flag_test_npu"
sync
reboot -f
fi
if [ "$1"x = "MultiCamTest"x ]; then
rm -rf /userdata/rkipc.ini
cp /oem/usr/bin/resume_suspend_test.sh /userdata/auto_test.sh
chmod a+x userdata/auto_test.sh
touch /userdata/auto_userdata_test
touch "$file_flag_test_arm_reboot_mcu_run_sleep10ms"
if [ -n "$2" ]; then
g_test_count="$2"
sed -i "s/g_test_count=10000/g_test_count=$g_test_count/g" /userdata/auto_test.sh
fi
echo "wakeup test: g_test_count = $g_test_count"
touch "$file_flag_test_arm_aov_system"
echo "$g_test_count" > "$file_flag_test_arm_reboot_after_aov"
touch "$file_flag_test_arm_reboot_after_aov"
touch "$file_flag_test_arm_dd_tmp"
touch "$file_flag_test_arm_venc"
touch "$file_flag_test_arm_multi_vi"
#touch "$file_flag_test_arm_multi_vi_restart_app"
echo "$g_test_count" > "$file_flag_test_arm_multi_vi_reboot_after_aov"
touch "$file_flag_test_arm_multi_vi_reboot_after_aov"
touch "$file_flag_test_arm_multi_vi_multi_frame"
touch "$file_flag_test_arm_multi_vi_venc"
touch "$file_flag_test_arm_multi_vi_iva_venc"
#touch "$file_flag_test_arm_multi_vi_iva_venc_restart_app"
touch "$file_flag_test_npu"
sync
reboot -f
fi
sleep 5
io -4 0xff300048 3200
test_arm_aov_system
test_arm_reboot_after_aov
test_arm_dd_tmp
test_arm_venc
test_arm_npu
test_arm_vi
test_arm_vi_multi_frame
test_arm_vi_restart_app
test_arm_vi_venc
test_arm_vi_iva_venc
test_arm_aiisp_iva_venc
test_arm_multi_vi
test_arm_multi_vi_restart_app
test_arm_multi_vi_reboot_after_aov
test_arm_multi_vi_multi_frame
test_arm_multi_vi_venc
test_arm_multi_vi_iva_venc
test_arm_multi_vi_iva_venc_restart_app
rm -rf /userdata/auto_userdata_test
echo " ===== AOV Testing completed, failed: ====="
ls /userdata/failed*
echo " ===== AOV Testing completed, failed: ====="