Android vts快速测试
Android中vendor部分接口的定义在hardware/interfaces/xxxxx目录,
模块负责人会知道自己的模块名字,Android默认服务的vts程序也在此目录下边,
我们以gatekeeper模块为例说明
vts测试程序编译
mmm hardware/interfaces/gatekeeper/1.0/vts/functional/
adb push VtsHalGatekeeperV1_0TargetTest /data
adb shell,
chmod 777 /data/VtsHalGatekeeperV1_0TargetTest
vts测试shell脚本
下面展示测试脚本,可以赋值成.sh文件,然后运行。
#!/bin/bash
function func_run()
{
read -p ">> --gtest_filter=" __FILTER
read -p ">> --gtest_repeat=" __REPEAT
if [ ! -n "$__FILTER" ];then
FILTER=*
else
FILTER=$__FILTER
fi
if [ ! -n "$__REPEAT" ];then
REPEAT=1
else
REPEAT=$__REPEAT
fi
echo "FILTER = $FILTER , REPEAT = $REPEAT "
adb shell VtsHalGatekeeperV1_0TargetTest --gtest_filter=$FILTER --gtest_repeat=$REPEAT --gtest_color=yes --gtest_break_on_failure
}
function func_help()
{
echo "[h|H] show help ."
echo "[l|L] list test options ."
echo "[r|R] run a test ."
echo "[e|E] exit ."
echo
}
function func_checkParam()
{
echo $!
case $1 in
"h" | "H" )
func_help
;;
"l" | "L" )
adb shell VtsHalGatekeeperV1_0TargetTest --gtest_list_tests
;;
"r" | "R" )
func_run
;;
"e" | "E" )
exit 0
;;
* )
func_help
;;
esac
}
adb wait-for-device
func_help
while [ 1 ]
do
read -p ">> " param
func_checkParam $param
done
func_run $1 $2
vts测试脚本运行
首先将上边赋值到vts_gatekeeper.sh
(1)先执行./vts_gatekeeper.sh
(2)然后输入:r
(3)然后再输入* (*的意思是测试所有项目)
(4)然后输入数字,如:1 (1的意思是测试一次,可以手动修改次数,1/2/3/5这样,
vts测试命令说明
命令r是运行的意思;
命令l列出测试项