4.6. 关于软件包测试套件

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

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

[Note]

注意

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

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

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