85 lines
2.8 KiB
Bash
Executable File
85 lines
2.8 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Copyright 2016 The Android Open Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
serial_no=$1
|
|
if [ -z "$serial_no" ]
|
|
then
|
|
echo "Must provide serial number of the testing device."
|
|
exit
|
|
fi
|
|
|
|
local_trace_dir=$2
|
|
if [ -z "$local_trace_dir" ]
|
|
then
|
|
local_trace_dir=/usr/local/backup/cts-traces
|
|
fi
|
|
|
|
test_list=$3
|
|
if [ -z "$test_list" ]
|
|
then
|
|
test_list=${ANDROID_BUILD_TOP}/test/vts/script/cts_test_list.txt
|
|
fi
|
|
|
|
# allow write to /vendor partition
|
|
adb -s $serial_no root
|
|
adb -s $serial_no disable-verity
|
|
adb -s $serial_no reboot
|
|
adb -s $serial_no wait-for-device
|
|
adb -s $serial_no root
|
|
adb -s $serial_no remount
|
|
adb -s $serial_no shell setenforce 0
|
|
adb -s $serial_no shell chmod 777 -R data/local/tmp
|
|
|
|
# push profiler libs
|
|
adb -s $serial_no push ${ANDROID_BUILD_TOP}/out/host/linux-x86/vts/android-vts/testcases/DATA/lib64/*-vts.profiler.so vendor/lib64/
|
|
adb -s $serial_no push ${ANDROID_BUILD_TOP}/out/host/linux-x86/vts/android-vts/testcases/DATA/lib/*-vts.profiler.so vendor/lib/
|
|
adb -s $serial_no push ${ANDROID_BUILD_TOP}/out/host/linux-x86/vts/android-vts/testcases/DATA/lib64/libvts_* vendor/lib64/
|
|
adb -s $serial_no push ${ANDROID_BUILD_TOP}/out/host/linux-x86/vts/android-vts/testcases/DATA/lib/libvts_* vendor/lib/
|
|
|
|
# push vts_profiling_configure
|
|
adb -s $serial_no push ${ANDROID_BUILD_TOP}/out/host/linux-x86/vts/android-vts/testcases/DATA/bin/vts_profiling_configure /data/local/tmp/
|
|
|
|
# get cts testcases
|
|
tests=()
|
|
while read -r test
|
|
do
|
|
tests+=($test)
|
|
done < "$test_list"
|
|
|
|
# run cts testcases
|
|
for i in ${tests[@]}
|
|
do
|
|
echo Running $i
|
|
adb -s $serial_no shell rm /data/local/tmp/*.vts.trace
|
|
adb -s $serial_no shell ./data/local/tmp/vts_profiling_configure enable /vendor/lib/ /vendor/lib64/
|
|
cts-tradefed run commandAndExit cts -s $serial_no --primary-abi-only --skip-device-info \
|
|
--skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker \
|
|
--skip-system-status-check com.android.tradefed.suite.checker.KeyguardStatusChecker -m $i
|
|
# In case device restart during the test run.
|
|
adb -s $serial_no root
|
|
adb -s $serial_no shell setenforce 0
|
|
adb -s $serial_no shell ls /data/local/tmp/*.vts.trace > temp
|
|
trace_path=$local_trace_dir/$i
|
|
rm -rf $trace_path
|
|
mkdir -p $trace_path
|
|
while read -r trace
|
|
do
|
|
adb -s $serial_no pull $trace $trace_path
|
|
done < "temp"
|
|
done
|
|
|
|
echo "done"
|