4.6. 테스트 스위트에 대해

대부분의 패키지들은 테스트 스위트를 제공한다. 모든 것이 정확하게 컴파일됐는지 알 수 있는 안전성 검사를 하려면 새로 빌드된 패키지의 테스트 스위트를 실행하는 것이 좋다. 테스트 스위트가 일련의 검사들을 통과하면 보통은 패키지가 개발자가 의도한 대로 작동하고 있다는 의미이다. 그러나 그렇다고 해서 버그가 아예 없다는 보장은 없다.

어떤 테스트 스위트는 다른 것보다 더 중요하다. 예를 들어 핵심 툴체인 패키지들—GCC, Binutils와 Glibc—을 위한 테스트 스위트들은 시스템에서 중요한 역할을 하기 때문에 가장 중요하다. GCC와 Glibc의 테스트 스위트는 특히 느린 하드웨어에서 완료하는 데 매우 오랜 시간이 걸릴 수 있지만 강력하게 권장한다.

[참고]

참고

경험에 따르면 5장에서 테스트 스위트를 돌리는 것은 별로 얻을만한 것이 없었다. 호스트 시스템이 해당 장의 테스트에 항상 영향을 미쳐 계속해서 설명할 수 없는 오류가 발생한다는 사실을 부정할 수 없다. 5장에서 빌드한 도구들은 일시적이고 결국 폐기할 것이기 때문에 일반 독자들에게는 5장의 테스트 스위트를 행하는 것을 권장하지 않는다. 이 테스트 스위트들을 실행하는 절차들은 테스터와 개발자들을 위해 제시하지만 엄밀히 말해 선택 사항일 뿐이다.

Binutils 및 GCC에 대한 테스트 스위트 실행에 관한 흔한 문제는 가상 터미널(PYTs)의 부족이다. 이로 인해 많은 테스트 실패를 겪을 수 있다. 이런 현상은 여러 이유로 발생할 수 있지만, 가장 가능성이 높은 원인은 호스트 시스템에 devpts 파일 시스템이 올바르게 설정되어 있지 않기 때문이다. 이 문제는 http://www.linuxfromscratch.org/lfs/faq.html#no-ptys에서 자세히 설명한다.

이따금씩 패키지 테스트 스위트가 실패하겠지만 그것은 개발자들이 그다지 치명적이지 않다고 여기기 때문이다. http://www.linuxfromscratch.org/lfs/build-logs/9.1/에서 로그들을 참고해서 그런 테스트 실패가 예상된 케이스인지 확인하라. 이 사이트는 이 책의 모든 테스트에 대해 유효하다.