我遇到了autotools的问题。
我需要支持测试和自定义构建目录(除了主源目录之外)。 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)
,如何引用源树的根?
答案 0 :(得分:0)
我怀疑问题是你的自动比例测试工具是由 Older (and discouraged) serial test harness的规则 并且解决方案是按照新规则和相应的规则来发挥作用 鼓励Parallel Test Harness
在后者中,您将从链接中的示例代码中收集,但未在$(top_srcdir)
中提及TESTS
等。您
在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