实现一个BOOST_TEST test_runner,用于从不同的共享库中运行多个测试。

我试图为BOOST_TEST实现一个测试运行器,它可以插入一组包含测试的共享库。

我从官方的boost src中得到了最初的示例libstesttoolsconsole_test_runner。但不幸的是,这段代码无法编译,而且是一个很好的例子。荒废.

我已经设法建立了一个工作的test_runner,在第一次迭代时工作正常,加载了共享库,并执行了它的testcases.但如果我在第二次迭代时加载了任何其他共享库,test_runner的行为是未定义的,并崩溃。

我已将示例代码作为要点分享给大家。我想,问题出在共享代码中的boost测试框架的去初始化上,但我似乎不明白为什么。

gist

解决方案:

就像今天写的那样,Boost.Test希望只执行一次且唯一的初始化。

基本上从你的Gist中,在最后的 bool load_test_lib() 调用,Boost.Test继续用测试树进行初始化,这个测试树应该是在拉取你的共享库符号时定义的。我相信从那里你可以加载其他的共享库,但是在返回之前,你可以从 load_test_lib 职能。

给TA打赏
共{{data.count}}人
人已打赏
解决方案

如何在php中接收AJAX数据[重复]。

2022-4-22 0:00:21

解决方案

varlibpostgresdata存在但不是空的。

2022-4-22 0:00:23

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索