2015-08-02 13:00:39 +03:00
|
|
|
|
#!/bin/bash
|
|
|
|
|
set -e
|
2015-08-06 02:35:23 +03:00
|
|
|
|
|
2015-12-21 05:01:00 +03:00
|
|
|
|
NUM_OF_TESTS=4
|
2015-08-02 13:00:39 +03:00
|
|
|
|
CURRENT_DIR="$( dirname "${BASH_SOURCE[0]}" )"
|
|
|
|
|
BUILD_DIRECTORY=build
|
|
|
|
|
APP=RxExample
|
2015-10-03 20:33:28 +03:00
|
|
|
|
CONFIGURATIONS=(Debug Release-Tests Release)
|
2015-08-02 13:00:39 +03:00
|
|
|
|
|
|
|
|
|
. scripts/common.sh
|
|
|
|
|
|
|
|
|
|
cd "${CURRENT_DIR}/.."
|
|
|
|
|
|
|
|
|
|
ROOT=`pwd`
|
|
|
|
|
BUILD_DIRECTORY="${ROOT}/build"
|
|
|
|
|
|
|
|
|
|
function runAutomation() {
|
2015-08-06 02:35:23 +03:00
|
|
|
|
SCHEME=$1
|
2015-08-02 13:00:39 +03:00
|
|
|
|
CONFIGURATION=$2
|
2015-08-06 02:35:23 +03:00
|
|
|
|
SIMULATOR=$3
|
2015-08-02 13:00:39 +03:00
|
|
|
|
|
|
|
|
|
APP="${SCHEME}"
|
|
|
|
|
|
|
|
|
|
echo
|
|
|
|
|
printf "${GREEN}Building example for automation ${BOLDCYAN}${SIMULATOR} - ${CONFIGURATION}${RESET}"
|
|
|
|
|
echo
|
|
|
|
|
|
2015-08-06 02:35:23 +03:00
|
|
|
|
rx $SCHEME $CONFIGURATION $SIMULATOR build
|
2015-08-02 13:00:39 +03:00
|
|
|
|
|
|
|
|
|
echo
|
|
|
|
|
printf "${GREEN}Quitting iOS Simulator ...${RESET}"
|
|
|
|
|
echo
|
|
|
|
|
|
|
|
|
|
osascript -e 'quit app "iOS Simulator.app"' > /dev/null
|
|
|
|
|
|
2015-12-21 05:01:00 +03:00
|
|
|
|
if is_real_device "${SIMULATOR}"; then
|
|
|
|
|
SIMULATOR_ID="${SIMULATOR}"
|
|
|
|
|
else
|
|
|
|
|
SIMULATOR_ID=`simulator_ids "${SIMULATOR}"`
|
|
|
|
|
echo
|
|
|
|
|
printf "${GREEN}Firing up simulator ${BOLDCYAN}${SIMULATOR}${GREEN}...${RESET}\n"
|
|
|
|
|
echo
|
|
|
|
|
xcrun instruments -w ${SIMULATOR_ID} > /dev/null 2>&1 || echo
|
|
|
|
|
fi
|
2015-08-02 13:00:39 +03:00
|
|
|
|
|
|
|
|
|
echo
|
2015-10-03 20:33:28 +03:00
|
|
|
|
if is_real_device "${SIMULATOR}"; then
|
|
|
|
|
OUTPUT_DIR=${CONFIGURATION}-iphoneos
|
|
|
|
|
else
|
|
|
|
|
OUTPUT_DIR=${CONFIGURATION}-iphonesimulator
|
|
|
|
|
fi
|
|
|
|
|
APP_PATH="${BUILD_DIRECTORY}/Build/Products/${OUTPUT_DIR}/${APP}.app"
|
2015-10-03 16:55:57 +03:00
|
|
|
|
printf "${GREEN}Installing the app ${BOLDCYAN}'${APP_PATH}'${GREEN} (${CONFIGURATION}) ${RESET}...\n"
|
2015-08-02 13:00:39 +03:00
|
|
|
|
echo
|
|
|
|
|
|
2015-10-03 20:33:28 +03:00
|
|
|
|
if is_real_device "${SIMULATOR}"; then
|
|
|
|
|
/Users/kzaher/Projects/ios-deploy/ios-deploy --bundle "${APP_PATH}"
|
|
|
|
|
else
|
2015-12-21 05:01:00 +03:00
|
|
|
|
xcrun simctl install ${SIMULATOR_ID} "${APP_PATH}"
|
2015-10-03 20:33:28 +03:00
|
|
|
|
fi
|
2015-08-02 13:00:39 +03:00
|
|
|
|
|
|
|
|
|
pushd $TMPDIR
|
|
|
|
|
rm -rf instrumentscli0.trace || echo
|
|
|
|
|
echo
|
|
|
|
|
printf "${GREEN}Running instruments ${BOLDCYAN}'${APP}'${GREEN}...${RESET}\n"
|
|
|
|
|
echo
|
|
|
|
|
|
|
|
|
|
OUTPUT="${TMPDIR}/output.txt"
|
2015-12-21 05:01:00 +03:00
|
|
|
|
instruments -w "${SIMULATOR_ID}" -t Automation "${APP_PATH}" -e UIASCRIPT "${ROOT}/scripts/automation-tests/main.js" | tee "${OUTPUT}" #| grep "Pass" #|| (open instrumentscli0.trace; exit -1;)
|
2015-08-02 13:00:39 +03:00
|
|
|
|
COUNT=`grep Pass: "$TMPDIR/output.txt" | wc -l`
|
|
|
|
|
|
|
|
|
|
if [ "$COUNT" -lt "$NUM_OF_TESTS" ]; then
|
|
|
|
|
echo
|
|
|
|
|
printf "${RED}${SIMULATOR} - ${CONFIGURATION} tests do not pass${RESET}"
|
|
|
|
|
echo
|
|
|
|
|
cat "${OUTPUT}"
|
|
|
|
|
echo
|
|
|
|
|
printf "${RED}Only ${COUNT} of ${NUM_OF_TESTS} pass ${RESET}"
|
|
|
|
|
echo
|
|
|
|
|
open ./instrumentscli0.trace;
|
|
|
|
|
exit -1;
|
2015-10-03 16:55:57 +03:00
|
|
|
|
else
|
|
|
|
|
printf "${GREEN}Automation says ok on ${BOLDCYAN}${SIMULATOR} - ${CONFIGURATION}${RESET}\n"
|
2015-08-02 13:00:39 +03:00
|
|
|
|
fi
|
|
|
|
|
popd
|
|
|
|
|
}
|
|
|
|
|
|
2015-10-03 16:55:57 +03:00
|
|
|
|
AUTOMATION_SIMULATORS=("Krunoslav Zaher’s iPhone" ${DEFAULT_IOS9_SIMULATOR} ${DEFAULT_IOS8_SIMULATOR})
|
|
|
|
|
|
2015-10-03 20:33:28 +03:00
|
|
|
|
IFS=""
|
2015-10-03 16:55:57 +03:00
|
|
|
|
for simulator in ${AUTOMATION_SIMULATORS[@]}
|
2015-08-02 13:00:39 +03:00
|
|
|
|
do
|
2015-10-04 13:33:05 +03:00
|
|
|
|
for configuration in ${CONFIGURATIONS[@]}
|
2015-08-02 13:00:39 +03:00
|
|
|
|
do
|
2015-08-06 02:35:23 +03:00
|
|
|
|
runAutomation "RxExample-iOS" ${configuration} ${simulator}
|
2015-08-02 13:00:39 +03:00
|
|
|
|
done
|
|
|
|
|
done
|