我正在打包一个组件,该组件还将与它一起打包测试可执行文件(最好是与运行时包分开的包中)。理想情况下,我不想将它们打包在 /usr/bin 中,因为测试可执行文件的名称可能与其他组件测试(例如test_main
等)冲突。我还想打包一个 CTestfile.cmake 文件,以便用户可以使用ctest
.
我正在考虑将测试放在 share/test//bin 下,并将 CTestfile.cmake 放在 share/test/ 下,以便用户可以运行ctest /usr/share/test/<component>
该组件的所有测试。
这是一个合适的位置吗?或者还有另一种用于 Linux 发行版打包测试的常见做法吗?
答案1
我不知道各个发行版系列之间是否有共同的做法,但在 Debian 及其衍生版本中,/usr/libexec/installed-tests
许多软件包都使用了这种做法(例如,参见libgcab-tests
)。每个包都使用那里的一个子目录。
由于您的CTestfile.cmake
目录可能特定于您的项目,因此它应该安装在项目的子目录中,而不是潜在共享的更高级别目录(/usr/share/test
或/usr/libexec/installed-tests
)中。