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