run-puzzle-tests
정보
이 스킬은 WSL R 실행을 통해 jigsawR 테스트 스위트를 실행하며, 전체 테스트, 패턴 필터링 또는 단일 파일 실행을 지원합니다. 통과/실패/건너뛰기 결과를 해석하고 실패 항목을 식별하며, 적절한 renv 활성화를 위해 --vanilla 플래그를 사용하지 않습니다. 개발자는 코드 변경 후, 커밋 전, 또는 특정 테스트 실패를 디버깅할 때 이를 사용해야 합니다.
빠른 설치
Claude Code
추천npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/run-puzzle-testsClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
Run Puzzle Tests
Run jigsawR test suite. Read results.
When Use
- After modifying R source in package
- After adding new puzzle type or feature
- Before commit to verify nothing broken
- Debugging specific test failure
Inputs
- Required: Test scope (
full,filtered,single) - Optional: Filter pattern (filtered mode, e.g.
"snic","rectangular") - Optional: Specific test file path (single mode)
Steps
Step 1: Choose Test Scope
| Scope | Use when | Duration |
|---|---|---|
| Full | Before commits, after major changes | ~2-5 min |
| Filtered | Working on one puzzle type | ~30s |
| Single | Debugging a specific test file | ~10s |
Got: Scope selected by workflow: full before commits, filtered for one type, single for one debug.
If fail: Unsure? Default to full. Slower but catches cross-type regressions.
Step 2: Create and Execute Test Script
Full suite.
Make script (e.g., /tmp/run_tests.R).
devtools::test()
R_EXE="/mnt/c/Program Files/R/R-4.5.0/bin/Rscript.exe"
cd /mnt/d/dev/p/jigsawR && "$R_EXE" -e "devtools::test()"
Filtered by pattern.
"$R_EXE" -e "devtools::test(filter = 'snic')"
Single file.
"$R_EXE" -e "testthat::test_file('tests/testthat/test-snic-puzzles.R')"
Got: Test output with pass/fail/skip counts.
If fail:
- Do NOT use
--vanillaflag; renv needs.Rprofileto activate - renv errors? Run
renv::restore()first - Complex commands fail with Exit 5? Write to script file
Step 3: Interpret Results
Look for summary line.
[ FAIL 0 | WARN 0 | SKIP 7 | PASS 2042 ]
- PASS: Tests succeeded
- FAIL: Tests failed (need investigation)
- SKIP: Tests skipped (usually missing optional packages like
snic) - WARN: Warnings during tests (review but not blocking)
Got: Summary line parsed for PASS, FAIL, SKIP, WARN. FAIL = 0 = clean run.
If fail: Summary not visible? Runner crashed before completing. Check R-level errors above. Output truncated? Redirect to file: "$R_EXE" -e "devtools::test()" > test_results.txt 2>&1.
Step 4: Investigate Failures
If tests fail.
- Read failure msg — includes file, line, expected vs actual
- Check if new failure or pre-existing
- Assertion failures: read test + function being tested
- Error failures: check function signature changed
# Run just the failing test with verbose output
"$R_EXE" -e "testthat::test_file('tests/testthat/test-failing.R', reporter = 'summary')"
Got: Root cause of each failing test identified. Failure = real regression (fix code) or test env issue (missing dep, path).
If fail: Failure msg unclear? Add browser() or print() to test, re-run with testthat::test_file() for interactive debug.
Step 5: Verify Skip Reasons
Skipped tests normal when optional deps missing.
snicpackage tests skip withskip_if_not_installed("snic")- Tests needing specific OS skip with
skip_on_os() - CRAN-only skips with
skip_on_cran()
Confirm skip reasons legitimate, not masking real failures.
Got: All skips accounted for by legitimate reasons (optional dep, platform skip, CRAN-only). No skips masking actual failures.
If fail: Skip suspicious? Temporarily remove skip_if_*() and run test to see pass or hidden failure.
Checks
- All tests pass (FAIL = 0)
- No unexpected warnings
- Skip count matches expected (only optional dep skips)
- Test count not decreased (no tests removed by accident)
Pitfalls
- Use
--vanilla: Breaks renv activation. Never with jigsawR. - Complex
-estrings: Shell escaping = Exit 5. Use script files. - Stale package state: Run
devtools::load_all()ordevtools::document()before testing if NAMESPACE-affecting code changed. - Missing test deps: Some tests need suggested packages. Check
DESCRIPTIONSuggests. - Parallel test issues: Tests interfere? Run sequential with
testthat::test_file().
See Also
generate-puzzle— generate puzzles to verify behavior matches testsadd-puzzle-type— new types need comprehensive test suiteswrite-testthat-tests— general patterns for writing R testsvalidate-piles-notation— test PILES parsing independently
GitHub 저장소
연관 스킬
evaluating-llms-harness
테스팅이 Claude Skill은 MMLU, GSM8K를 포함한 60개 이상의 표준화된 학술 과제에서 LLM 성능을 벤치마크하기 위해 lm-evaluation-harness를 실행합니다. 개발자들이 모델 품질을 비교하고, 학습 진행 상황을 추적하거나 학술 결과를 보고할 수 있도록 설계되었습니다. 이 도구는 HuggingFace와 vLLM 모델을 포함한 다양한 백엔드를 지원합니다.
cloudflare-cron-triggers
테스팅이 스킬은 cron 표현식을 사용하여 Worker를 스케줄링하기 위한 Cloudflare Cron Triggers 구현에 관한 포괄적인 지식을 제공합니다. 주기적 작업, 유지보수 작업, 자동화된 워크플로우 설정 방법을 다루며, 잘못된 cron 표현식이나 시간대 문제 같은 일반적인 이슈들을 해결하는 방법을 포함합니다. 개발자들은 이를 통해 스케줄된 핸들러 구성, cron 트리거 테스트, Workflows 및 Green Compute와의 연동 작업을 수행할 수 있습니다.
webapp-testing
테스팅이 Claude Skill은 Python 스크립트를 통해 로컬 웹 애플리케이션을 테스트하기 위한 Playwright 기반 툴킷을 제공합니다. 프론트엔드 검증, UI 디버깅, 스크린샷 캡처, 로그 확인 기능을 지원하며 서버 라이프사이클을 관리합니다. 브라우저 자동화 작업에 사용하되 컨텍스트 오염을 방지하기 위해 소스 코드를 읽지 않고 스크립트를 직접 실행하세요.
finishing-a-development-branch
테스팅이 스킬은 테스트 통과를 확인한 후 체계적인 통합 옵션을 제시하여 개발자가 완성된 작업을 마무리하도록 돕습니다. 구현이 완료된 후 머지, PR 생성, 브랜치 정리와 같은 워크플로우를 안내합니다. 코드가 준비되고 테스트가 완료되었을 때 개발 프로세스를 체계적으로 마무리하기 위해 사용하세요.
