在我的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?
答案 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
标志就会传递给您的测试程序。