xiaoyu/project/app/aov_sample/resume_suspend_test_2.sh

564 lines
16 KiB
Bash
Raw Permalink Normal View History

2025-03-04 22:36:42 +08:00
#!/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: ====="