Home | History | Annotate | Download | only in tests
      1 #!/bin/bash
      2 #
      3 # Copyright (C) 2007 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 # Set up prog to be the path of this script, including following symlinks,
     18 # and set up progdir to be the fully-qualified pathname of its directory.
     19 prog="$0"
     20 while [ -h "${prog}" ]; do
     21     newProg=`/bin/ls -ld "${prog}"`
     22     newProg=`expr "${newProg}" : ".* -> \(.*\)$"`
     23     if expr "x${newProg}" : 'x/' >/dev/null; then
     24         prog="${newProg}"
     25     else
     26         progdir=`dirname "${prog}"`
     27         prog="${progdir}/${newProg}"
     28     fi
     29 done
     30 oldwd=`pwd`
     31 progdir=`dirname "${prog}"`
     32 cd "${progdir}"
     33 progdir=`pwd`
     34 prog="${progdir}"/`basename "${prog}"`
     35 
     36 run_args=""
     37 usage="no"
     38 
     39 while true; do
     40     if [ "x$1" = "x--host" ]; then
     41         run_args="${run_args} --host"
     42         shift
     43     elif [ "x$1" = "x--reference" ]; then
     44         run_args="${run_args} --reference"
     45         shift
     46     elif [ "x$1" = "x--jit" ]; then
     47         run_args="${run_args} --jit"
     48         shift
     49     elif [ "x$1" = "x--fast" ]; then
     50         run_args="${run_args} --fast"
     51         shift
     52     elif [ "x$1" = "x--portable" ]; then
     53         run_args="${run_args} --portable"
     54         shift
     55     elif [ "x$1" = "x--debug" ]; then
     56         run_args="${run_args} --debug"
     57         shift
     58     elif [ "x$1" = "x--zygote" ]; then
     59         run_args="${run_args} --zygote"
     60         shift
     61     elif [ "x$1" = "x--no-verify" ]; then
     62         run_args="${run_args} --no-verify"
     63         shift
     64     elif [ "x$1" = "x--no-optimize" ]; then
     65         run_args="${run_args} --no-optimize"
     66         shift
     67     elif [ "x$1" = "x--valgrind" ]; then
     68         run_args="${run_args} --valgrind"
     69         shift
     70     elif [ "x$1" = "x--dev" ]; then
     71         run_args="${run_args} --dev"
     72         shift
     73     elif [ "x$1" = "x--update" ]; then
     74         run_args="${run_args} --update"
     75         shift
     76     elif [ "x$1" = "x--help" ]; then
     77         usage="yes"
     78         shift
     79     elif expr "x$1" : "x--" >/dev/null 2>&1; then
     80         echo "unknown option: $1" 1>&2
     81         usage="yes"
     82         break
     83     else
     84         break
     85     fi
     86 done
     87 
     88 if [ "$usage" = "yes" ]; then
     89     prog=`basename $prog`
     90     (
     91         echo "usage:"
     92         echo "  $prog --help     Print this message."
     93         echo "  $prog [options]  Run all tests with the given options."
     94         echo "  Options are all passed to run-test; refer to that for " \
     95              "further documentation:"
     96         echo "    --debug --dev --fast --host --no-optimize --no-verify" \
     97              "--portable"
     98         echo "    --reference --update --valgrind --zygote"
     99     ) 1>&2
    100     exit 1
    101 fi
    102 
    103 passed=0
    104 failed=0
    105 failNames=""
    106 
    107 for i in *; do
    108     if [ -d "$i" -a -r "$i" -a -r "${i}/info.txt" ]; then
    109         ./run-test ${run_args} "$i"
    110         if [ "$?" = "0" ]; then
    111             ((passed += 1))
    112         else
    113             ((failed += 1))
    114             failNames="$failNames $i"
    115         fi
    116     fi
    117 done
    118 
    119 echo "passed: $passed test(s)"
    120 echo "failed: $failed test(s)"
    121 
    122 for i in $failNames; do
    123     echo "failed: $i"
    124 done
    125