mirror of
https://github.com/appium/appium.git
synced 2026-01-26 20:28:55 -06:00
100 lines
2.8 KiB
Bash
Executable File
100 lines
2.8 KiB
Bash
Executable File
#!/bin/sh
|
|
set +e
|
|
mocha_args=""
|
|
ios_only=false
|
|
ios7_only=false
|
|
android_only=false
|
|
all_tests=true
|
|
xcode_path="$(xcode-select -print-path | sed s/\\/Contents\\/Developer//g)"
|
|
did_switch_xcode=false
|
|
|
|
function join_testfiles {
|
|
testtype=$1
|
|
shift
|
|
outfile=$1
|
|
rm -rf $outfile
|
|
shift
|
|
indirs=$@
|
|
out=""
|
|
touch $outfile
|
|
echo "\"use strict\";\n\n" >> $outfile
|
|
for indir in $indirs; do
|
|
for infile in ./test/functional/$indir/*.js; do
|
|
basefile=$(basename $infile | sed s/\.js//g)
|
|
pre="describe('$testtype:$indir/$basefile', function() {"
|
|
post="});"
|
|
echo "Collating $infile..."
|
|
echo "$pre\n" >> $outfile
|
|
cat $infile >> $outfile
|
|
echo "\n$post\n" >> $outfile
|
|
done
|
|
done
|
|
}
|
|
|
|
for arg in "$@"; do
|
|
if [[ "$arg" = "--ios" ]]; then
|
|
ios_only=true
|
|
all_tests=false
|
|
elif [[ "$arg" = "--android" ]]; then
|
|
android_only=true
|
|
all_tests=false
|
|
elif [[ "$arg" = "--ios7" ]]; then
|
|
ios7_only=true
|
|
all_tests=false
|
|
elif [[ "$arg" =~ " " ]]; then
|
|
mocha_args="$mocha_args \"$arg\""
|
|
else
|
|
mocha_args="$mocha_args $arg"
|
|
fi
|
|
done
|
|
|
|
appium_mocha="mocha -t 60000 -R spec $mocha_args"
|
|
|
|
mkdir -p ./test/functional/_joined
|
|
|
|
if $ios_only || $all_tests; then
|
|
echo "RUNNING IOS 6.1 TESTS"
|
|
echo "---------------------"
|
|
ios_testfile="./test/functional/_joined/ios.js"
|
|
ios_dirs="prefs safari testapp uicatalog webview"
|
|
join_testfiles ios6.1 $ios_testfile $ios_dirs
|
|
if test -d /Applications/Xcode-6.1.app; then
|
|
echo "Found Xcode for iOS 6.1, switching to it"
|
|
sudo xcode-select -switch /Applications/Xcode-6.1.app
|
|
did_switch_xcode=true
|
|
else
|
|
echo "Did not find /Applications/Xcode-6.1.app, using default"
|
|
fi
|
|
$appium_mocha $ios_testfile
|
|
fi
|
|
|
|
if $ios7_only || $all_tests; then
|
|
echo "RUNNING IOS 7.0 TESTS"
|
|
echo "---------------------"
|
|
ios7_testfile="./test/functional/_joined/ios7.js"
|
|
ios7_dirs="testapp uicatalog webview"
|
|
join_testfiles ios7 $ios7_testfile $ios7_dirs
|
|
if test -d /Applications/Xcode-7.0.app; then
|
|
echo "Found Xcode for iOS 7.0, switching to it"
|
|
sudo xcode-select -switch /Applications/Xcode-7.0.app
|
|
did_switch_xcode=true
|
|
else
|
|
echo "Did not find /Applications/Xcode-7.0.app, using default"
|
|
fi
|
|
$appium_mocha $ios7_testfile
|
|
fi
|
|
|
|
if $did_switch_xcode; then
|
|
echo "Switching back to default Xcode ($xcode_path)"
|
|
sudo xcode-select -switch $xcode_path
|
|
fi
|
|
|
|
if $android_only || $all_tests; then
|
|
echo "RUNNING ANDROID TESTS"
|
|
echo "---------------------"
|
|
android_testfile="./test/functional/_joined/android.js"
|
|
android_dirs="apidemos selendroid android"
|
|
join_testfiles android $android_testfile $android_dirs
|
|
$appium_mocha $android_testfile
|
|
fi
|