113481Sgiacomo.travaglini@arm.com#!/bin/bash
213481Sgiacomo.travaglini@arm.com#
313481Sgiacomo.travaglini@arm.com# Copyright 2008, Google Inc.
413481Sgiacomo.travaglini@arm.com# All rights reserved.
513481Sgiacomo.travaglini@arm.com#
613481Sgiacomo.travaglini@arm.com# Redistribution and use in source and binary forms, with or without
713481Sgiacomo.travaglini@arm.com# modification, are permitted provided that the following conditions are
813481Sgiacomo.travaglini@arm.com# met:
913481Sgiacomo.travaglini@arm.com#
1013481Sgiacomo.travaglini@arm.com#     * Redistributions of source code must retain the above copyright
1113481Sgiacomo.travaglini@arm.com# notice, this list of conditions and the following disclaimer.
1213481Sgiacomo.travaglini@arm.com#     * Redistributions in binary form must reproduce the above
1313481Sgiacomo.travaglini@arm.com# copyright notice, this list of conditions and the following disclaimer
1413481Sgiacomo.travaglini@arm.com# in the documentation and/or other materials provided with the
1513481Sgiacomo.travaglini@arm.com# distribution.
1613481Sgiacomo.travaglini@arm.com#     * Neither the name of Google Inc. nor the names of its
1713481Sgiacomo.travaglini@arm.com# contributors may be used to endorse or promote products derived from
1813481Sgiacomo.travaglini@arm.com# this software without specific prior written permission.
1913481Sgiacomo.travaglini@arm.com#
2013481Sgiacomo.travaglini@arm.com# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
2113481Sgiacomo.travaglini@arm.com# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
2213481Sgiacomo.travaglini@arm.com# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
2313481Sgiacomo.travaglini@arm.com# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
2413481Sgiacomo.travaglini@arm.com# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
2513481Sgiacomo.travaglini@arm.com# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
2613481Sgiacomo.travaglini@arm.com# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2713481Sgiacomo.travaglini@arm.com# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2813481Sgiacomo.travaglini@arm.com# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2913481Sgiacomo.travaglini@arm.com# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
3013481Sgiacomo.travaglini@arm.com# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3113481Sgiacomo.travaglini@arm.com
3213481Sgiacomo.travaglini@arm.com# Executes the samples and tests for the Google Test Framework.
3313481Sgiacomo.travaglini@arm.com
3413481Sgiacomo.travaglini@arm.com# Help the dynamic linker find the path to the libraries.
3513481Sgiacomo.travaglini@arm.comexport DYLD_FRAMEWORK_PATH=$BUILT_PRODUCTS_DIR
3613481Sgiacomo.travaglini@arm.comexport DYLD_LIBRARY_PATH=$BUILT_PRODUCTS_DIR
3713481Sgiacomo.travaglini@arm.com
3813481Sgiacomo.travaglini@arm.com# Create some executables.
3913481Sgiacomo.travaglini@arm.comtest_executables=$@
4013481Sgiacomo.travaglini@arm.com
4113481Sgiacomo.travaglini@arm.com# Now execute each one in turn keeping track of how many succeeded and failed.
4213481Sgiacomo.travaglini@arm.comsucceeded=0
4313481Sgiacomo.travaglini@arm.comfailed=0
4413481Sgiacomo.travaglini@arm.comfailed_list=()
4513481Sgiacomo.travaglini@arm.comfor test in ${test_executables[*]}; do
4613481Sgiacomo.travaglini@arm.com  "$test"
4713481Sgiacomo.travaglini@arm.com  result=$?
4813481Sgiacomo.travaglini@arm.com  if [ $result -eq 0 ]; then
4913481Sgiacomo.travaglini@arm.com    succeeded=$(( $succeeded + 1 ))
5013481Sgiacomo.travaglini@arm.com  else
5113481Sgiacomo.travaglini@arm.com    failed=$(( failed + 1 ))
5213481Sgiacomo.travaglini@arm.com    failed_list="$failed_list $test"
5313481Sgiacomo.travaglini@arm.com  fi
5413481Sgiacomo.travaglini@arm.comdone
5513481Sgiacomo.travaglini@arm.com
5613481Sgiacomo.travaglini@arm.com# Report the successes and failures to the console.
5713481Sgiacomo.travaglini@arm.comecho "Tests complete with $succeeded successes and $failed failures."
5813481Sgiacomo.travaglini@arm.comif [ $failed -ne 0 ]; then
5913481Sgiacomo.travaglini@arm.com  echo "The following tests failed:"
6013481Sgiacomo.travaglini@arm.com  echo $failed_list
6113481Sgiacomo.travaglini@arm.comfi
6213481Sgiacomo.travaglini@arm.comexit $failed
63