是否有用于测试内部线程框架的自动化单元测试框架?

Bri*_*nan 6 c++ multithreading frameworks unit-testing

我们已经创建了一个通用的线程框架来管理我们在应用程序中使用线程的方式.有没有像gtest或cppunit这样的框架,只关注单元测试线程,线程池,线程队列等?

现在我只是手动执行一些我知道应该覆盖的步骤并在代码中进行检查以确保满足某些条件(如值未损坏)b/ca共享资源由两个或更多个同时访问线程一次)如果我无法创建明确的检查,那么我逐步调试,但这似乎是在1990年代进行测试.

我想更系统地测试线程框架的功能,因为它的内部功能可能与所有线程框架不同,但我也想测试所有线程框架应该具有的常用功能(比如没有死锁,不会破坏数据)又算数是他们应该是什么,等等......).

任何建议将不胜感激.

met*_*tal 1

如果您的线程是基于 OpenMP 构建的,则可以使用VivaMP进行静态检查。

但您需要通过单元测试进行动态检查。我不知道有任何用于此目的的现有框架。您可以使用众多单元测试框架之一来推出自己的框架,但很难使其健壮。英特尔有一套并行开发工具,我可能会感兴趣,但我从未使用过它们。他们说他们可以帮助在 Visual Studio 中进行单元测试。