Skip to content

fix(tests): Fix test timeouts and add early failure detection#21

Merged
abueide merged 1 commit intomainfrom
fix/test-timeouts-ci
Apr 21, 2026
Merged

fix(tests): Fix test timeouts and add early failure detection#21
abueide merged 1 commit intomainfrom
fix/test-timeouts-ci

Conversation

@abueide
Copy link
Copy Markdown
Contributor

@abueide abueide commented Apr 21, 2026

Summary

Part of split from #17. Prevents CI from timing out after 30 minutes when emulator fails to start.

Size: 335 lines (28 files, mostly one-line shebang changes)

Changes

  • Change all script shebangs from sh to bash for reproducibility
  • Add early failure detection in test suites (30s timeout for emulator process)
  • Add timeout wrapper to cleanup processes (10s max)
  • Prevent cleanup from hanging on adb/xcrun when devices don't exist
  • Make deploy-app fail fast when emulator boot fails

Impact

Before: CI hangs for 30 minutes waiting for non-existent emulator
After: Fails fast in ~35 seconds with clear error messages

Related PRs

Part of 6-PR split of #17:

All PRs are independent.

Prevents CI from timing out after 30 minutes when emulator fails to start.

Changes:
- Change all script shebangs from sh to bash for reproducibility
- Add early failure detection in test suites (30s timeout)
- Add timeout wrapper to cleanup processes (10s max)
- Prevent cleanup from hanging on adb/xcrun when devices don't exist
- Make deploy-app fail fast when emulator boot fails

Timeline before fix:
- verify-emulator-ready: waits 30 minutes
- cleanup-app: hangs indefinitely on adb
- Total: 30+ minute timeout

Timeline after fix:
- verify-emulator-ready: detects failure in 30s
- deploy-app: fails immediately
- cleanup-app: skips adb, exits in <1s
- Total: ~35 seconds

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant