위키득계정 ↗
기술

Cargo Tarpaulin

Cargo Tarpaulin기술
분야
Rust 커버리지 측정
실행 연결
Cargo 하위 명령
수집 방식
Ptrace 또는 LLVM
보고 형식
HTML과 XML 및 Lcov 등
Cargo Tarpaulin은 Rust의 Cargo 프로젝트에서 검사 실행 범위를 측정하고 보고하는 도구다. 줄 커버리지를 중심으로 미실행 코드를 찾아 검사 보완에 활용할 수 있다.

프로젝트를 실행해 범위 수집하기

라이브러리 검사와 통합 검사 외에도 선택한 문서 검사나 예제 등에서 실행 범위를 수집할 수 있다. 실제 선택한 대상과 기능 플래그에 따라 결과가 달라지므로 보고서의 기준을 함께 확인한다. 줄이 실행되었다는 사실만으로 모든 조건이나 오류 처리 결과가 검증되었다고 해석하지 않는다.

백엔드별 환경 차이

Linux의 기본 Ptrace 방식은 x86_64에서 동작하며 LLVM 계측 방식을 선택할 수 있다. macOS와 Windows에서는 LLVM 방식이 기본이다. 운영체제뿐 아니라 신호 처리와 프로세스 동작 등에 따라 수집 결과가 달라질 수 있다. 백엔드를 바꾼 뒤 수치만 비교하기보다 실제 누락된 경로를 함께 조사한다.

집계 범위와 품질 기준

파일과 패키지의 포함 및 제외 범위를 정하고 최소 커버리지 기준을 자동 빌드에 연결할 수 있다. 제외가 넓어지면 필요한 코드가 분모에서 사라질 수 있으므로 집계 규칙을 검토한다. 공식 안내는 줄 커버리지와 분기 커버리지를 구분하며 분기 옵션을 구현된 기능으로 소개하지 않는다. 실행 설정과 지원 기능을 확인해 결과를 읽는다.

관련 문서

Cargo-llvm-cov / Kcov / Nextest / Rstest