Skip to content

test: macOS CI 흔들림 고치기 (revive-up·start-brief) - #177

Merged
fwkyle merged 3 commits into
mainfrom
kyle/fix/macos-flaky-tests
Oct 16, 2026
Merged

fwkyle merged 3 commits into
mainfrom
kyle/fix/macos-flaky-tests

Conversation

@fwkyle

@fwkyle fwkyle commented Oct 16, 2026

Copy link
Copy Markdown
Owner

Why

kyle이 macOS CI 실패 메일을 반복해서 받는다. 최근 80회 중 6회 실패, 전부 시간 의존 시험이다.

원인과 수정

  • revive-up 상한 알림 0건: 시스템 알림(osascript) 대기 상한 3초 안에 부하 속 가짜 osascript가 못 끝남 → KADAN_SYSTEM_NOTIFY_TIMEOUT_MS(기본 3000 그대로)를 시험이 30초로 설정.
  • start-brief '끝내 안정되지 않음': 굶은 프로세스가 같은 화면을 두 번 그려 안정으로 읽힘 → 읽을 때마다 화면이 달라지는 tmux 래퍼. 단언은 그대로.
  • start-brief 세대 교체: '시작됨' 출력 대기 3초 → 30초 + 실패 출력.

단언 완화·skip·재시도 없음. 제품 동작은 기본값에서 바뀌지 않는다.

확인

수정 전 부하(동시 10개 + yes 16개): start-brief 8/30, revive-up 3/30 실패. 수정 후 start-brief 100/100, revive-up 50/50 통과. 격리 npm test 1909 통과, check:public 0.

🤖 Generated with Claude Code

fwkyle and others added 3 commits October 16, 2026 21:33
- 시스템 알림 대기 상한을 KADAN_SYSTEM_NOTIFY_TIMEOUT_MS로 늘릴 수 있게 하고(기본 3초 그대로) revive-up이 쓴다. 부하 속에서 가짜 osascript가 3초 안에 못 끝나 상한 알림 0건이 됐다.
- start-brief '끝내 안정되지 않음' 시험은 읽을 때마다 화면이 달라지게 tmux 래퍼를 둔다. 굶은 프로세스가 같은 화면을 두 번 그려 안정으로 읽혔다.
- 세대 교체 시험이 start의 '시작됨' 출력을 3초만 기다리던 것을 30초로 늘리고 실패 시 출력을 보인다.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- KADAN_SYSTEM_NOTIFY_TIMEOUT_MS → KADAN_TEST_SYSTEM_NOTIFY_TIMEOUT_MS. 정수 1000~120000만 받고 나머지는 기본 3000이라 spawnSync가 던지지 않는다.
- start-brief 첫 안내 시험이 화면을 한 번 읽고 단언하던 것을 기대 문구가 나타날 때까지 최대 30초 기다린 뒤 단언한다.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@fwkyle
fwkyle merged commit b2904c8 into main Oct 16, 2026
4 checks passed
@fwkyle
fwkyle deleted the kyle/fix/macos-flaky-tests branch October 16, 2026 13:46
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