ITEEDU

4.6. 关于软件包测试套件

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

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

[Note]

注意

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

Binutils 和 GCC 的测试程序一个常见的问题就是在伪终端(PTY)外运行, 这样可能会出现大 量的测试失败。 可能的原因有几个, 但最可能的原因是宿主系统没有正确的设置 devpts 文件系统, 关于这个问题更详细的讨论请参考 http://www.linuxfromscratch.org//lfs/faq.php#no-ptys.

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