我正在为我的 C++ 包使用 Autotools。我的包有一个二进制文件,例如称为“myprog”。我编写了一个 bash 脚本“test.bash”,其中包含一个功能测试。该脚本有 4 个步骤:(1) 创建输入文件,(2) 生成预期的输出文件,(3) 在输入文件上启动“myprog”,(4) 将“prog”的输出与预期输出进行比较。
在第 3 步中,“test.bash”需要知道“myprog”的路径。如果我自己单独启动“test.bash”,我可以在命令行上提供“myprog”的路径作为选项。但是我在使用 make check
的时候能做什么?或 make distcheck
?
我正在阅读 manual of Autotools/Automake .我想有一种方法可以使用由 configure
设置的变量,但我不知道如何使用它们,因此非常欢迎任何解决方案!
最佳答案
您可以使用 TESTS
Makefile.am
中的变量并设置 AM_TESTS_ENVIRONMENT
变量传递选项或为 bash 脚本设置环境变量。它在 this 上有描述页面,以 autotools 手册的通常随意风格。
自 myprog
可能在源代码树之外构建,您可以将变量设置为 $(top_builddir)/relative/path
用于脚本中,或使用 pwd
执行脚本的目录的命令。
关于autotools - 使用 "make check"为使用程序二进制文件的测试启动 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14223208/