4.6. 关于软件包测试程序

大多数软件包提供测试程序集。新编译了一个软件包之后就运行一下它提供的测试程序是个好主意,因为测试程序将进行一次“健全检查”来确认所有的代码是否都正确编译了。通过了测试程序集的一系列检查的话,通常意味着软件包在开发者的预期中工作,然而,这并不保证这个软件包就完全没有 bug 了。

某些软件的测试程序集是极为重要的,例如核心工具链软件包 GCC、Binutils、Glibc 的测试程序,是因为这些软件包在一个良好工作的系统里的所处的中心角色。GCC 和 Glibc 的测试程序需要运行很长时间,尤其在速度慢的硬件上,但我们仍然强烈建议您运行这些测试程序。

[Note]

注意

经验显示,运行 Chapter 5中的测试程序的时候会有点小问题。不可否认的是,宿主系统总是对这一章的测试程序施加了某些影响,常常导致无法解释的测试失败。因为 Chapter 5 中编译的工具是临时的,而且在最后会被丢弃,我们不推荐中等水平的读者运行 Chapter 5 中的测试程序,这些测试程序的指令是为开发和测试人员准备的,而不是必需的。

Binutils 和 GCC 的测试程序一个常见的问题就是在伪终端(PTY)外运行,这样可能会出现大量的测试失败。可能的原因有几个,但最可能的因素就是宿主系统没有正确的设置 devpts 文件系统,这个问题在 Chapter 5 有详细的讨论。

某些软件包测试程序可能会给出错误的失败信息,请参考 LFS Wiki http://www.linuxfromscratch.org/lfs/build-logs/6.1/以确认您所遇到的测试失败是否是预期会出现的。这个站点的内容对于本书所有的测试都是正确的。