我正在打包一个 rpm 文件,该文件有一个 %postinstall 部分,用于检测某些条件并运行一套单元、功能和系统测试。当我使用代码本身用于诊断的一些相同环境变量时,我得到了一些回击,它暴露了一些内部结构。想法?
更新:我不打算自动运行测试,也不打算将它们的存在暴露给最终用户。我建议该测试包仅适用于该套件所在的任何机器。它使包的最终大小增加了大约 3%,并且需要大量的内部知识才能正确执行。
程序本身是一个库,其他人可以使用并在 API 中公开。事物如何运作的内部知识不是问题。我的主要动机是缺乏合适的测试资源和目标环境的巨大可变性。一些测试非常简单(类似于 configure 可能会确定编译器提供的所有正确功能)。其他测试涉及更多,它们证明了库应该提供的基本功能。