Scripts/test-macos-ui.sh (1496B)
1
2set -euo pipefail
3
4REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
5SECRETS="$REPO_ROOT/.asc/secrets.sh"
6
7if [[ ! -f "$SECRETS" ]]; then
8 echo "Error: $SECRETS not found. See Scripts/secrets.sh.example for the required format."
9 exit 1
10fi
11
12source "$SECRETS"
13
14DEV_P12="$REPO_ROOT/.asc/dev.p12"
15TMP_KEYCHAIN="$REPO_ROOT/.asc/build.keychain-db"
16
17echo "==> Setting up temporary keychain..."
18security delete-keychain "$TMP_KEYCHAIN" 2>/dev/null || true
19security create-keychain -p "$TMP_KEYCHAIN_PASS" "$TMP_KEYCHAIN"
20security unlock-keychain -p "$TMP_KEYCHAIN_PASS" "$TMP_KEYCHAIN"
21security set-keychain-settings -lut 21600 "$TMP_KEYCHAIN"
22security import "$DEV_P12" -k "$TMP_KEYCHAIN" -P "$DEV_P12_PASS" \
23 -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild
24security set-key-partition-list -S apple-tool:,apple:,codesign:,productbuild: \
25 -s -k "$TMP_KEYCHAIN_PASS" "$TMP_KEYCHAIN"
26security list-keychains -d user -s "$TMP_KEYCHAIN" ~/Library/Keychains/login.keychain-db
27
28cleanup_keychain() {
29 echo "==> Restoring keychain search list..."
30 security list-keychains -d user -s ~/Library/Keychains/login.keychain-db
31 security default-keychain -d user -s ~/Library/Keychains/login.keychain-db
32 security delete-keychain "$TMP_KEYCHAIN" 2>/dev/null || true
33}
34trap cleanup_keychain EXIT
35
36echo "==> Running macOS UI tests..."
37xcodebuild test \
38 -scheme "Listless macOS" \
39 -destination 'platform=macOS' \
40 -only-testing:"Listless macOS UI Tests" \
41 2>&1