【问题标题】:implementing a BOOST_TEST test_runner for running multiple tests from different shared libraries实现一个 BOOST_TEST test_runner 来运行来自不同共享库的多个测试
【发布时间】:2020-06-02 05:53:09
【问题描述】:

我正在尝试为 BOOST_TEST 实现一个 test_runner,它插入到一组包含测试的 shared_libs 中。

我从官方 boost src 获得了初始示例 libs/test/tools/console_test_runner。但是很遗憾,这段代码没有编译通过,是unmaintained

我已经设法建立了一个工作 test_runner,它适用于加载共享库并执行其测试用例的第一次迭代。 但是,如果我在第二次迭代中加载任何其他共享库,则 test_runner 的行为未定义并崩溃。

我已经分享了示例代码作为要点。我想,问题在于共享代码中增强测试框架的去初始化,但我似乎无法弄清楚原因。 load_library 打开/关闭对我来说看起来不错。

gist

【问题讨论】:

  • 注意:此脚本现在是 CI 构建的一部分,实际上已得到维护。但是,我仍然不清楚为什么需要这个。

标签: boost boost-test


【解决方案1】:

正如今天所写,Boost.Test 期望只执行一个唯一的初始化。

基本上从您的 Gist 来看,在 bool load_test_lib() 调用结束时,Boost.Test 继续使用在拉取共享库符号时应该定义的测试树进行初始化。 我相信您可以从那里加载其他共享库,但在从 load_test_lib 函数返回之前。

【讨论】:

    猜你喜欢
    • 2014-01-26
    • 2021-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-07
    • 1970-01-01
    • 2021-12-26
    相关资源
    最近更新 更多