summaryrefslogtreecommitdiff
path: root/objectivec/Tests/CocoaPods/run_tests.sh
diff options
context:
space:
mode:
Diffstat (limited to 'objectivec/Tests/CocoaPods/run_tests.sh')
-rwxr-xr-xobjectivec/Tests/CocoaPods/run_tests.sh150
1 files changed, 0 insertions, 150 deletions
diff --git a/objectivec/Tests/CocoaPods/run_tests.sh b/objectivec/Tests/CocoaPods/run_tests.sh
deleted file mode 100755
index 6d3e12be..00000000
--- a/objectivec/Tests/CocoaPods/run_tests.sh
+++ /dev/null
@@ -1,150 +0,0 @@
-#!/bin/bash
-#
-# Helper to run the pods tests.
-
-set -eu
-
-readonly ScriptDir=$(dirname "$(echo $0 | sed -e "s,^\([^/]\),$(pwd)/\1,")")
-
-printUsage() {
- NAME=$(basename "${0}")
- cat << EOF
-usage: ${NAME} [OPTIONS]
-
-This script runs some test to check the CocoaPods integration.
-
-OPTIONS:
-
- General:
-
- -h, --help
- Show this message
- --skip-static
- Skip the static based pods tests.
- --skip-framework
- Skip the framework based pods tests.
- --skip-ios
- Skip the iOS pods tests.
- --skip-osx
- Skip the OS X pods tests.
-
-EOF
-}
-
-TEST_MODES=( "static" "framework" )
-TEST_NAMES=( "iOSCocoaPodsTester" "OSXCocoaPodsTester" )
-while [[ $# != 0 ]]; do
- case "${1}" in
- -h | --help )
- printUsage
- exit 0
- ;;
- --skip-static )
- TEST_MODES=(${TEST_MODES[@]/static})
- ;;
- --skip-framework )
- TEST_MODES=(${TEST_MODES[@]/framework})
- ;;
- --skip-ios )
- TEST_NAMES=(${TEST_NAMES[@]/iOSCocoaPodsTester})
- ;;
- --skip-osx )
- TEST_NAMES=(${TEST_NAMES[@]/OSXCocoaPodsTester})
- ;;
- -*)
- echo "ERROR: Unknown option: ${1}" 1>&2
- printUsage
- exit 1
- ;;
- *)
- echo "ERROR: Unknown argument: ${1}" 1>&2
- printUsage
- exit 1
- ;;
- esac
- shift
-done
-
-# Sanity check.
-if [[ "${#TEST_NAMES[@]}" == 0 ]] ; then
- echo "ERROR: Need to run at least iOS or OS X tests." 1>&2
- exit 2
-fi
-if [[ "${#TEST_MODES[@]}" == 0 ]] ; then
- echo "ERROR: Need to run at least static or frameworks tests." 1>&2
- exit 2
-fi
-
-header() {
- echo ""
- echo "========================================================================"
- echo " ${@}"
- echo "========================================================================"
- echo ""
-}
-
-# Cleanup hook for do_test, assumes directory is correct.
-cleanup() {
- local TEST_NAME="$1"
-
- echo "Cleaning up..."
-
- # Generally don't let things fail, and eat common stdout, but let stderr show
- # incase something does hiccup.
- xcodebuild -workspace "${TEST_NAME}.xcworkspace" -scheme "${TEST_NAME}" clean > /dev/null || true
- pod deintegrate > /dev/null || true
- # Flush the cache so nothing is left behind.
- pod cache clean --all || true
- # Delete the files left after pod deintegrate.
- rm -f Podfile.lock || true
- rm -rf "${TEST_NAME}.xcworkspace" || true
- git checkout -- "${TEST_NAME}.xcodeproj" || true
- # Remove the Podfile that was put in place.
- rm -f Podfile || true
-}
-
-do_test() {
- local TEST_NAME="$1"
- local TEST_MODE="$2"
-
- header "${TEST_NAME}" - Mode: "${TEST_MODE}"
- cd "${ScriptDir}/${TEST_NAME}"
-
- # Hook in cleanup for any failures.
- trap "cleanup ${TEST_NAME}" EXIT
-
- # Ensure nothing is cached by pods to start with that could throw things off.
- pod cache clean --all
-
- # Put the right Podfile in place.
- cp -f "Podfile-${TEST_MODE}" "Podfile"
-
- xcodebuild_args=( "-workspace" "${TEST_NAME}.xcworkspace" "-scheme" "${TEST_NAME}" )
-
- # For iOS, if the SDK is not provided it tries to use iphoneos, and the test
- # fail on Travis since those machines don't have a Code Signing identity.
- if [[ "${TEST_NAME}" == iOS* ]] ; then
- # Apparently the destination flag is required to avoid "Unsupported architecture"
- # errors.
- xcodebuild_args+=(
- -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO
- -destination "platform=iOS Simulator,name=iPad 2,OS=9.3"
- )
- fi
-
- # Do the work!
- pod install --verbose
-
- xcodebuild "${xcodebuild_args[@]}" build
-
- # Clear the hook and manually run cleanup.
- trap - EXIT
- cleanup "${TEST_NAME}"
-}
-
-# Run the tests.
-for TEST_NAME in "${TEST_NAMES[@]}" ; do
- for TEST_MODE in "${TEST_MODES[@]}" ; do
- do_test "${TEST_NAME}" "${TEST_MODE}"
- done
-done