6

有没有办法编译 autoconf 项目的“检查”目标而不运行它?

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

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

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)中寻找一种通用的方法。

4

2 回答 2

12
make check TESTS=

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

于 2013-04-28T13:17:26.063 回答
4

给你的 root 添加一条新规则怎么Makefile.am样?

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

如果应该全部从make myUnitTests构建,只需在中添加这样的规则:$(check_PROGRAMS)src/test/Makefile.amsrc/test/Makefile.am

.PHONY: myUnitTests
myUnitTests: $(check_PROGRAMS)
于 2013-04-27T06:46:10.483 回答