#!/bin/bash
|
#
|
# Copyright 2018 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.
|
|
TEST_FRAMEWORK_DIR=`dirname $0`
|
TEST_FRAMEWORK_DIR=`dirname $TEST_FRAMEWORK_DIR`
|
|
if [ -z "$ANDROID_BUILD_TOP" ]; then
|
echo "Missing ANDROID_BUILD_TOP env variable. Run 'lunch' first."
|
exit 1
|
fi
|
|
touch $ANDROID_BUILD_TOP/test/vti/__init__.py
|
|
avoid_list=(
|
# known failures
|
"./harnesses/host_controller/console_test.py"
|
"./harnesses/host_controller/invocation_thread_test.py"
|
# not unit tests
|
"./harnesses/host_controller/command_processor/command_test.py"
|
)
|
|
#######################################
|
# Checks if a given file is included in the list of files to avoid
|
# Globals:
|
# Arguments:
|
# $1: list of files to avoid
|
# $2: the given file
|
# Returns:
|
# SUCCESS, if the given file exists in the list
|
# FAILURE, otherwise
|
#######################################
|
function contains_file() {
|
local -n arr=$1
|
for avoid in "${arr[@]}"; do
|
if [ "$2" = "$avoid" ]; then
|
return # contains
|
fi
|
done
|
false # not contains
|
}
|
|
# Runs all unit tests under test/framework.
|
for t in $(find $TEST_FRAMEWORK_DIR -type f -name "*_test.py");
|
do
|
if contains_file avoid_list $t; then
|
continue
|
fi
|
echo "UNIT TEST", $t
|
echo PYTHONPATH=$ANDROID_BUILD_TOP/test/framework/harnesses:$ANDROID_BUILD_TOP/test python $t;
|
PYTHONPATH=$ANDROID_BUILD_TOP/test/framework/harnesses:$ANDROID_BUILD_TOP/test python $t;
|
done
|