我遇到了 autotools 的问题。
我需要对测试和自定义构建目录的支持(主源目录除外)。 Autotools 似乎在提示:
src/lib/Libattr/test/attr_atomic/Makefile.am:18: 错误:在 TESTS 中使用“$(top_srcdir)”目前已损坏:“$(top_srcdir)/src/test/coverage_run.sh '
显然 $(srcdir)
也是如此。单元测试需要手动设置包含和源路径,因为它需要来自源树中不同位置的 header 和文件。
如果我不能使用 $(srcdir)
和 $(top_srcdir)
,我该如何引用源代码树的根目录?
最佳答案
我怀疑问题是您的自动测试工具由 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
关于c++ - 测试和自定义构建目录的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28961678/