相关疑难解决方法(0)

如何在基于CMake的项目中使用Boost.Test?

我的项目使用CMake作为其构建系统,我希望它能够执行我的Boost.Test测试用例.

我怎样才能做到这一点?在Boost.Build中,我可以这样做:

import testing ;

use-project /my_lib : ../src ;

unit-test my_test
          : my_test.cpp
            /my_lib
          boost_unit_test_framework
        ;

lib boost_unit_test_framework ;
Run Code Online (Sandbox Code Playgroud)

c++ boost cmake boost-test

15
推荐指数
2
解决办法
8283
查看次数

Boost 单元测试可以是多线程的吗?

我的单元测试需要运行大量 BOOST_CHECK_CLOSE 调用,这需要很长时间(据我所知,在一个线程上)。我希望能够按照以下方式做一些事情:

#pragma omp parallel for num_threads(8)
for (int i=0; i<ARRAY_SIZE; i++) {
    BOOST_CHECK_CLOSE(array1[i], array2[i], tolerance);
}
Run Code Online (Sandbox Code Playgroud)

然而,当我尝试这个时,似乎发生了一些我无法控制的非常讨厌的内存损坏。段错误最常见,但有时会改为:

*** stack smashing detected ***
Run Code Online (Sandbox Code Playgroud)

有没有人有一些经验可以分享他们可以分享的实现我预期结果的好方法?我相信每个人都会喜欢他们的测试快速运行!

c++ multithreading boost unit-testing

5
推荐指数
1
解决办法
3079
查看次数

标签 统计

boost ×2

c++ ×2

boost-test ×1

cmake ×1

multithreading ×1

unit-testing ×1