如何将参数传递给 Automake 输入文件中的测试?

Posted

技术标签:

【中文标题】如何将参数传递给 Automake 输入文件中的测试?【英文标题】:How do I pass parameters to tests in an Automake input file? 【发布时间】:2012-03-25 02:16:38 【问题描述】:

在我的Makefile.am 中,我进行了以下测试:

TESTS += tests/test1
check_PROGRAMS += tests/test1
tests_test1_SOURCES = tests/test1.c
tests_test1_CPPFLAGS = ...
tests_test1_LDADD = ...

test1 在调用make check 时编译并运行。应该如何修改Makefile.am 以将命令行参数传递给 test1?

【问题讨论】:

【参考方案1】:

您不能将参数传递给测试。

代替

TESTS += tests/test1

TESTS += tests/test1.test
EXTRA_DIST += tests/test1.test

tests/test1.test 是一个可执行的 shell 脚本,它可以使用任何你想要的参数来运行你的程序:

#!/bin/sh
tests/test1 args... < $srcdir/tests/distributed-input-file

【讨论】:

+1 用于回答我的相当不同的问题,即是否有办法在测试脚本中使用 $srcdir - 结果就是这么简单:)【参考方案2】:

您也可以通过环境传递参数。当您想在 make check 的不同运行中传递不同的参数时,这很方便。

假设你有 tests/test1.test 和以下内容:

#!/bin/bash
tests/test1 $TEST_FLAGS < $srcdir/tests/distributed-input-file

现在,您可以运行以下命令:

$ TEST_FLAGS=--verbose make check

--verbose 标志将在您希望它显示额外信息以进行调试时传递给您的测试程序。

【讨论】:

以上是关于如何将参数传递给 Automake 输入文件中的测试?的主要内容,如果未能解决你的问题,请参考以下文章

如何将参数传递给 Play 中的 Jobs!框架 1.2.x?

如何将 UDF 的输入参数传递给 sapply

如何将 Shiny 应用程序中的表格和绘图作为参数传递给 R Markdown?

如何将条件日期参数传递给表输入步骤?

如何将文件路径作为 bash 脚本中的参数传递给函数? [复制]

如何将参数传递给 Python 模块中的主函数?