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

时间:2012-03-25 02:16:39

标签: automake

在我的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?

2 个答案:

答案 0 :(得分:13)

您无法将参数传递给测试。

而不是

TESTS += tests/test1

DO

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

其中tests/test1.test是一个可执行的shell脚本,它将使用您希望的任何参数运行您的程序:

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

答案 1 :(得分:0)

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

假设您tests/test1.test包含以下内容:

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

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

$ TEST_FLAGS=--verbose make check

只要您希望它显示用于调试目的的额外信息,--verbose标志就会传递给您的测试程序。