使autoconf“检查”目标而不运行它

时间:2013-04-26 15:25:20

标签: eclipse unit-testing autotools autoconf automake

有没有办法在不运行的情况下编译autoconf项目的“check”目标?

我有Eclipse Juno和“C / C ++单元测试”插件。我希望能够制作检查目标,然后在插件的上下文中运行它,以便我可以利用它的便利。

目前我已经设置了项目配置来构建“make check”,然后运行它创建的“test”二进制文件。这有两个问题。

1)它是多余的并且减慢了过程(测试运行两次)

2)测试失败导致构建失败。 Eclipse不知道区别。我必须注意输出,然后在单元测试插件中运行,以获得我想要的东西。

如果无法编译检查目标,是否有其他方法可以设置autoconf / automake以允许我构建测试目标而无需创建特殊配置来构建测试作为“make all”的一部分?基本上,我想在一个配置中拥有所有3个选项:

make unitTest (for development)
make check    (for automated testing)
make all      (for release)
编辑:为了澄清一点,我知道我可以从目标目录运行“make targetName”来编译该目标(project / src / test> make myUnitTests)。我正在寻找从项目的基本目录(项目> make check_PROGRAMS)执行此操作的通用方法。

2 个答案:

答案 0 :(得分:6)

make check TESTS=

将运行check目标,但不会调用任何测试。

答案 1 :(得分:4)

如何根据您的根Makefile.am添加新规则?

.PHONY: unitTest
unitTest:
        cd src/test && $(MAKE) $(AM_MAKEFLAGS) myUnitTests

如果make myUnitTests应该从$(check_PROGRAMS)构建所有src/test/Makefile.am,只需在src/test/Makefile.am中添加此类规则:

.PHONY: myUnitTests
myUnitTests: $(check_PROGRAMS)