fix: 하네스 측정 버그 수정 + 코드 리뷰 지적 11건 반영 - #51
Merged
Merged
Conversation
post-pr-coverage.sh 훅이 이번에 처음으로 실제 동작하기 시작했고(문법 에러 수정 후 PR #48/#49/#50 에 코멘트를 남겼다), 그 출력을 처음 읽어보니 두 곳이 틀려 있었다. - vitest.config.ts: 커버리지 집계에서 __bench__ 를 제외한다. 벤치 파일이 0% 로 잡혀 전체 수치를 왜곡했다. 40.49% → 43.17% 로, 이제 실제 값이다. 측정값이 틀리면 커버리지 규칙 자체가 의미를 잃는다 - post-pr-coverage.sh: 벤치 출력에서 ANSI 색상 코드를 제거하고 중복 라인을 걷어낸다. PR 코멘트에 ^[[32m 같은 문자열이 그대로 찍혀 읽을 수 없었고, vitest 가 진행 상황을 다시 그리며 같은 줄을 여러 번 출력해 같은 항목이 두 번 나왔다. NO_COLOR 로 막고, 그래도 남는 코드는 sed 로 걷어낸다 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Owner
Author
🧪 Test Coverage📦 Bundle Size
⚡ Benchmark🤖 Generated by jump-section AI Pipeline |
직전 커밋이 "측정 버그를 고쳤다"고 했지만 세 가지가 틀렸다. 코드 리뷰가 실측으로
잡아냈다.
## 벤치 섹션에 측정값이 하나도 없었다
grep -E "(bench|ops/sec|✓|×)" 가 vitest 4 의 실측 행(`· getActiveId
50,897,820.27 ...`)과 비교 요약(`2.62x faster than ...`)을 전부 버렸다. 남은 건
pnpm 배너와 스위트 이름뿐이었다. ANSI 코드가 사라진 것만 확인하고 데이터가
빠진 것을 놓쳤다.
패턴으로 고르지 않고 tail -24 로 바꿨다. 표는 항상 출력 끝에 오므로, 리포터
형식이 바뀌어도 조용히 비어버리지 않는다. 파이프 단계가 줄어 pipefail + SIGPIPE
로 죽을 고리도 함께 사라졌다.
## 조용한 중단 경로를 새로 만들었다
fallback 을 명령 치환 밖으로 빼면서, 원래 `||` 가 주던 보호가 없어졌다.
`set -euo pipefail` 에서는 대입 자체가 파이프라인의 비-0 상태를 물려받아
스크립트를 죽이므로 fallback 은 도달 불가였고, gh pr comment 전에 아무 흔적 없이
종료됐다. 조용한 실패를 고치려던 스크립트에 조용한 실패를 넣은 셈이다
(CLAUDE.md「공통 규칙」위반).
ERR trap 을 추가해 중단이 stderr 에 드러나게 했다.
## 커버리지 수치가 여전히 틀렸다
coverage.include 가 `*.ts` 라서 `.tsx` 를 놓쳤다. 테스트가 없어 로드되지 않는
Section.tsx 가 리포트에 아예 나타나지 않아 수치가 실제보다 높게 보였다.
로드되는 .tsx(ScrollSectionContext.tsx)는 표시되기 때문에 눈에 띄지 않았다.
- 직전 커밋 주장: 43.17% 가 실제 값
- 실제: 42.24% (Section.tsx 0% 포함)
벤치 제외도 디렉터리 이름(`__bench__`)이 아니라 vitest 자신의 벤치 파일
패턴(`**/*.{bench,benchmark}.?(c|m)[jt]s?(x)`)을 기준으로 바꿨다. 그러지 않으면
__bench__ 밖에 둔 *.bench.ts 가 다시 0% 로 들어온다.
## 중복 출력의 원인도 틀리게 적었다
"vitest 가 진행 상황을 다시 그린다"고 썼지만 실제 원인은 `--reporter=verbose` 다.
vitest 는 benchmark reporters(기본 ['default'])와 --reporter 를 합집합으로 쓰므로
두 리포터가 같은 표를 각각 출력했다. 플래그를 빼면 헤더가 한 번만 나오고,
데이터를 훼손하던 awk 중복 제거도 필요 없어진다. sed ANSI 제거도 NO_COLOR 를
스크립트 전체에 export 하면 불필요해서 함께 걷어냈다.
## 회귀 테스트 추가
post-pr-coverage.test.sh 8케이스. 실제로 깨졌던 두 가지를 겨냥한다 — 추출이
실측값을 살려두는지(옛 grep 패턴이 버렸다는 것도 함께 못박음), 조용한 중단 방지
장치가 남아 있는지. flywheel 원장에 3행 append.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Owner
Author
코드 리뷰 반영 (11건 전부)첫 커밋이 "측정 버그를 고쳤다"고 했지만 세 가지가 틀렸습니다. 리뷰가 실측으로 잡아냈습니다.
검증ANSI 포함 줄 0개, 실측값 통과. 커버리지
🤖 Generated with Claude Code |
Owner
Author
🧪 Test Coverage📦 Bundle Size
⚡ Benchmark🤖 Generated by jump-section AI Pipeline |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
post-pr-coverage.sh훅이 이번 세션에 처음으로 실제 동작하기 시작했습니다(문법 에러 수정 후 PR #48/#49/#50에 코멘트를 남겼습니다). 그 출력을 처음 읽어보니 두 곳이 틀려 있었습니다.1. 커버리지 수치가 틀렸다
vitest.config.ts의include: ['packages/*/src/**/*.ts']가__bench__/*.bench.ts까지 집계에 넣어서, 실행되지 않는 벤치 파일이 0%로 잡혀 전체 수치를 끌어내렸습니다.All files 40.49%All files 43.17%측정값이 틀리면 커버리지 규칙 자체가 의미를 잃습니다.
2. 벤치마크 출력을 읽을 수 없었다
PR 코멘트에 ANSI 색상 코드가 그대로 찍혔고, vitest가 진행 상황을 다시 그리면서 같은 줄이 두 번 나왔습니다.
NO_COLOR=1로 막고, 그래도 남는 코드는sed로 걷어내고,awk '!seen[$0]++'로 중복을 제거했습니다.검증: 두 변경 모두 실제로 실행해 확인했습니다. 이 PR 자체의 훅 코멘트로도 결과를 볼 수 있습니다.
🤖 Generated with Claude Code