testtrim: 자체 테스트할 수 없었던 테스트 도구(이제까지)
2025-01-25
Mathieu Fenniak은 소프트웨어 테스트 실행을 최적화하는 실험적 프로젝트인 testtrim에 시스템 콜 추적 기능을 추가한 과정을 설명합니다. 처음에 testtrim은 테스트 간의 종속성을 파악하기 위해 strace를 사용했지만, strace는 이미 추적 중인 프로세스를 추적할 수 없기 때문에 자체 테스트를 할 수 없었습니다. 중첩 추적의 두 가지 시도는 실패했습니다. 첫 번째는 성능이 매우 저하되었기 때문이고, 두 번째는 공유 상태와 strace 출력의 비원자성 때문이었습니다. 해결책은 부모 프로세스와 자식 프로세스 간에 실시간으로 데이터 스트림을 전송하기 위해 FIFO 파이프와 공유 메모리를 사용하는 것이었으며, 이를 통해 자체 테스트를 가능하게 하고 테스트 대상 감소에서 testtrim의 가치를 검증했습니다.
더 보기
개발
시스템 콜 추적