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

标签 autotools

我正在为我的 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/

相关文章:

c - 如何在我的项目中使用 Linux like CONFIG_* 配置?

c++ - 在单独的 'build' 目录中使用 autotools build system/Building

internationalization - 如何使用 Automake 将 gettext mo 文件安装到/usr/share/locale?

在 arch linux 中使用 autotools 在 c 中编译各种头文件

makefile - 你如何 "echo"源目录中的最后一个 configure/make build --options?

build - X-I。 : command not found, 构建某种软件失败,怎么回事?

c - 使用 GNU Autotools 获取 GCC 包含路径

c++ - Qt Automake 单独的include、ui、资源文件夹

c++ - 如何告诉 Libtool 使用 C++ 而不是 C?

autotools - Autoconf——包括一个静态库(新手)