【问题标题】:Combination of tests and custom build directory测试和自定义构建目录的组合
【发布时间】:2015-03-10 10:46:54
【问题描述】:

我遇到了自动工具的问题。

我需要对测试和自定义构建目录(除主源目录之外)的支持。 Autotools 似乎在抱怨:

src/lib/Libattr/test/attr_atomic/Makefile.am:18: error: using '$(top_srcdir)' in TESTS is currently broken: '$(top_srcdir)/src/test/coverage_run.sh'

$(srcdir) 显然也是如此。单元测试需要手动设置包含和源路径,因为它需要来自源树中不同位置的头文件和文件。

如果不能使用$(srcdir)$(top_srcdir),如何引用源代码树的根?

【问题讨论】:

    标签: c++ c compilation autotools


    【解决方案1】:

    我怀疑问题在于您的自动工具测试工具 Older (and discouraged) serial test harness的规则 并且解决方案是按照新的和相应的规则进行游戏 鼓励Parallel Test Harness

    在后者中,正如您将从链接中的示例代码中收集到的那样,您不会在 TESTS 中提及 $(top_srcdir)et al。你 在AM_TESTS_ENVIRONMENT 中提及他们:

    这是一个说明性的 Makefile.am 片段,对我来说效果很好:

    ...
    CORE_TESTS = coan_case_tester.py coan_bulk_tester.py coan_spin_tester.py \
    coan_symbol_rewind_tester.py coan_softlink_tester.py
    if MAKE_CHECK_TIMING
    TESTS = $(CORE_TESTS) coan_test_metrics.py
    else
    TESTS = $(CORE_TESTS)
    endif
    
    AM_TESTS_ENVIRONMENT = COAN_PKGDIR=$(top_srcdir); \
        COAN_BUILDDIR=$(top_builddir); TIMING_METRICS=$(TIMING_METRICS_ENABLED); \
        rm -f coan.test_timer.time.txt; \
        export COAN_PKGDIR; export COAN_BUILDDIR; export TIMING_METRICS;
    LOG_COMPILER = python
    

    【讨论】:

    • 你能给我更多的信息吗?问题是,如果我理解正确,我会将AM_TESTS_ENVIRONMENT 定义放在我已经无权访问$(top_srcdir) 的同一个文件中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多