#!/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"