1 #!/bin/bash 2 3 # Copyright 2014 The Android Open Source Project 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 17 readonly PREFIX="#####" 18 19 function maybePlural() { 20 # $1 = integer to use for plural check 21 # $2 = singular string 22 # $3 = plural string 23 if [ $1 -ne 1 ]; then 24 echo "$3" 25 else 26 echo "$2" 27 fi 28 } 29 30 31 readonly tests=$(find . -name '*_test.py' -type f -executable) 32 readonly count=$(echo $tests | wc -w) 33 echo "$PREFIX Found $count $(maybePlural $count test tests)." 34 35 exit_code=0 36 37 i=0 38 for test in $tests; do 39 i=$((i + 1)) 40 echo "" 41 echo "$PREFIX $test ($i/$count)" 42 echo "" 43 $test || exit_code=$(( exit_code + 1 )) 44 echo "" 45 done 46 47 echo "$PREFIX $exit_code failed $(maybePlural $exit_code test tests)." 48 exit $exit_code 49