【问题标题】:How do I pass parameters to tests in an Automake input file?如何将参数传递给 Automake 输入文件中的测试?
【发布时间】: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?

【问题讨论】:

    标签: automake


    【解决方案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 标志将在您希望它显示额外信息以进行调试时传递给您的测试程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-08
      • 2020-10-26
      • 1970-01-01
      • 1970-01-01
      • 2015-12-07
      • 2016-07-03
      • 2022-01-23
      • 2021-05-25
      相关资源
      最近更新 更多