有没有办法在不运行的情况下编译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)执行此操作的通用方法。
答案 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)