검증과 게이트Review gates

ci-gate-forgery-test

CI 게이트가 정말로 실패할 수 있는지, 잘못된 입력·빈 입력·없는 입력을 먹여 증명하는 도구입니다.

GitHub에서 보기View on GitHub

어떤 문제를 푸나The problem

한 번도 실패하는 모습을 본 적 없는 게이트는 장식입니다. 변이 테스트가 코드를 망가뜨려 테스트를 시험한다면, 이 도구는 입력을 망가뜨려 게이트를 시험합니다.

게이트마다 명령, 나쁜 예시, 좋은 예시를 JSON 명세로 적어 두면 위조한 나쁜 입력에서 실패하는지, 좋은 입력에서 통과하는지, 빈 입력과 없는 입력에서 통과해 버리지 않는지를 자동으로 확인합니다.

이런 분께 맞습니다Who it is for

린트·검사 스크립트를 CI 게이트로 쓰는 개발자, 초록 불이 켜졌다고 믿어도 되는지 확인하고 싶은 사람.

무엇을 하나What it does

  • 나쁜 예시는 실패해야 하고 좋은 예시는 통과해야 합니다.
  • 빈 입력은 '아무것도 재지 못했다'로 처리해야 하며 통과하면 눈먼 게이트로 보고합니다.
  • 명령 해석기와 게이트 스크립트가 실제로 있는지 배선도 확인합니다.
  • 예외 항목마다 사유가 있어야 하고 사유 없는 예외는 보고합니다.
  • 종료 코드 0은 모든 사례가 정상, 1은 눈먼 게이트나 시끄러운 게이트가 있음, 2는 명세 오류입니다.

직접 돌려 본 출력Real output

저장소의 examples 폴더를 실행한 결과입니다.

$ bash examples/demo.sh
# A gate that really detects TODOs: every forged case behaves
$ python3 scripts/forge_test.py examples/spec.json
[ok         ] no-todo (correct)  wiring          python3 resolves
[ok         ] no-todo (correct)  wiring          no_todo_good.py exists
[ok         ] no-todo (correct)  forgery         bad fixture fixtures/bad: exit 1
[ok         ] no-todo (correct)  false-positive  good fixture fixtures/good: exit 0
[ok         ] no-todo (correct)  vacuity         empty input: exit 3 (0 would mean 'nothing measured = clean')
[ok         ] no-todo (correct)  vacuity         missing input: exit 2
[ok         ] no-todo (correct)  exemption       legacy/: reason given

all gates behaved
[exit 0]

알아둘 한계Limits

  • 현실적인 나쁜 예시는 직접 제공해야 합니다. 도구가 만들어 주지는 않습니다.
  • 명세에 적힌 명령은 그대로 실행되므로(셸 없이) 신뢰하는 명세만 돌리십시오.

받아서 쓰기Get it

# 저장소를 받습니다
git clone https://github.com/Kein-chronicle/ci-gate-forgery-test.git

# Claude Code 스킬로 쓰려면 이 폴더 이름으로 받습니다
git clone https://github.com/Kein-chronicle/ci-gate-forgery-test.git ~/.claude/skills/gate-forgery-test

정보Info

분류Category
검증과 게이트Review gates
형태Type
명령줄 도구Command-line tool
라이선스License
MIT
필요한 것Requires
Python 3.10 이상, bash
저장소Repository
ci-gate-forgery-test
토픽Topics
testing quality-gates ci claude-code claude-skills agent-skills mutation-testing test-quality

2026-10-18 기준: 저장소의 테스트를 로컬에서 실행해 통과했고, 예제 출력은 저장소의 examples 폴더를 실제로 실행한 결과입니다.

공유하기Share

문자Message 네이버 블로그Naver Blog X Facebook