4.6. 关于测试套件

大多数软件包都提供测试套件。为新构建的软件包运行测试套件是个好主意,因为它可以提供“健全性检查”,表明一切编译正确。通过其检查集的测试套件通常证明该软件包按开发人员的预期运行。然而,这并不能保证该软件包完全没有错误。

有些测试套件比其他测试套件更重要。例如,核心工具链软件包——GCC、Binutils 和 Glibc——的测试套件由于它们在正常运行的系统中起着核心作用,因此至关重要。GCC 和 Glibc 的测试套件可能需要很长时间才能完成,尤其是在较慢的硬件上,但强烈建议运行。

[Note]

注意

经验表明,从运行第 5 章中的测试套件中几乎没有什么收获。不可避免的是,主机系统总是会对该章节中的测试施加一些影响,经常导致莫名其妙的失败。由于在第 5 章中构建的工具是临时的,最终会被丢弃,因此我们不建议普通读者运行第 5 章中的测试套件。提供运行这些测试套件的说明是为了测试人员和开发人员的利益,但它们是严格可选的。

运行 Binutils 和 GCC 的测试套件时,一个常见问题是伪终端 (PTY) 耗尽。这可能会导致大量测试失败。这可能是由多种原因引起的,但最可能的原因是主机系统没有devpts文件系统设置正确。这个问题在第 5 章中进行了更详细的讨论。

有时软件包测试套件会失败,但原因是开发人员知道的并且认为是非关键的。请查阅位于 http://www.linuxfromscratch.org/lfs/build-logs/6.1.1/ 的日志,以验证这些失败是否是预期的。本网站对本书中的所有测试均有效。