test(desktop): add e2e smoke and wire swift tests into just test - #8
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces a new desktop end-to-end (e2e) smoke test script (scripts/desktop-e2e.sh) and integrates it into the project's justfile under the just e2e command. It also updates the just test command to run Swift unit tests alongside Python tests, and updates the documentation in README.md and AGENTS.md to reflect these changes. The review feedback highlights a potential issue in the shell script where pipeline execution (specifically using grep -q with tee) could mask execution failures or trigger SIGPIPE errors. It is recommended to capture the command output in a variable first to ensure robust error handling.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| mkdir -p "$FIXTURE/data" | ||
|
|
||
| echo "== smoke: empty fixture ==" | ||
| "$BIN/SkimDesktopSmoke" | tee /dev/stderr | grep -q "recent_posts=0" |
There was a problem hiding this comment.
현재 파이프라인("$BIN/SkimDesktopSmoke" | tee /dev/stderr | grep -q "recent_posts=0")은 set -o pipefail이 설정되어 있지 않아, SkimDesktopSmoke가 실행 중 에러(non-zero exit code)를 내며 크래시가 발생하더라도 grep이 성공하면 전체 파이프라인이 성공한 것으로 간주됩니다. 또한 grep -q는 매칭되는 즉시 파이프를 닫으므로 tee나 SkimDesktopSmoke가 SIGPIPE로 인해 비정상 종료될 위험이 있습니다.
이를 방지하기 위해 출력을 변수에 담아 실행 성공 여부를 set -e로 보장받은 뒤, grep으로 검증하는 방식이 더 안전합니다.
| "$BIN/SkimDesktopSmoke" | tee /dev/stderr | grep -q "recent_posts=0" | |
| SMOKE_OUT=$("$BIN/SkimDesktopSmoke") | |
| echo "$SMOKE_OUT" | |
| echo "$SMOKE_OUT" | grep -q "recent_posts=0" |
| VALUES ('hackernews', 'e2e-1', 'e2e', 'E2E fixture post', 'body', '# E2E fixture post', 'https://example.com', datetime('now'));" | ||
|
|
||
| echo "== smoke: seeded fixture ==" | ||
| "$BIN/SkimDesktopSmoke" | tee /dev/stderr | grep -q "recent_posts=1" |
There was a problem hiding this comment.
TL;DR
데스크톱 앱에 e2e 스모크를 추가하고, 방치돼 있던 Swift 유닛 테스트를 루트 품질 게이트(
just test)와 CI에 연결합니다.배경
SkimDesktopCoreTests(14개)는 존재했지만just test가 pytest만 돌려서 게이트에 안 물려 있었음변경
scripts/desktop-e2e.sh신규 — 3단계 e2e 스모크SKIM_WORKSPACE_ROOT)에서SkimDesktopSmoke로 스키마 생성·0건 읽기 검증SkimDesktop앱을 fixture로 부팅, 5초 생존 확인 후 종료just test에swift test추가,just e2e태스크 신규Desktop e2e스텝 추가검증
just e2e전 단계 통과,just test로 pytest 214개 + Swift 14개 통과한계