使用“make check”为使用程序二进制文件的测试启动bash脚本

时间:2013-01-08 20:11:19

标签: autotools

我正在使用Autotools作为我的C ++包。我的包有一个二进制文件,例如名为“myprog”。我写了一个bash脚本,“test.bash”,其中包含一个功能测试。该脚本有4个步骤:(1)创建输入文件,(2)生成预期输出文件,(3)在输入文件上启动“myprog”,(4)将“prog”的输出与预期输出进行比较。

在第3步中,“test.bash”需要知道“myprog”的路径。如果我自己在独立版本上启动“test.bash”,我可以在命令行中将“myprog”的路径作为选项。但是,在使用make checkmake distcheck

时,我该怎么办?

我正在阅读manual of Autotools/Automake。我想有一种方法可以使用由configure设置的变量,但我不知道如何使用它们,所以任何解决方案都受到欢迎!

1 个答案:

答案 0 :(得分:5)

您可以使用TESTS中的Makefile.am变量并设置AM_TESTS_ENVIRONMENT变量来传递选项或为bash脚本设置环境变量。它在this页面上进行了描述,采用了autotools手册中常见的随意风格。

由于myprog可以在源树之外构建,因此可以将变量设置为$(top_builddir)/relative/path以便在脚本中使用,或者对{1}}命令使用脚本所在的目录正在执行。