use*_*717 6 multithreading googletest
我有一套由googletest管理的单元测试.默认情况下,这些测试在多个线程中运行,即使我使用--gtest_filter=foo.test它只运行单个测试.这引起了我正试图敲诈的错误原因的模糊性.
如何在googletest中关闭多线程测试?
单/多线程没有命令行开关.libgtest构建单线程或多线程.
要使其成为单线程,请构建gtest ./configure --with-pthreads=no,然后在不使用的情况下链接您的单元测试应用程序-pthread
如果你有时只需要单线程,那么建立一个no-pthreads构建libgtest,将其称为其他东西,并在需要时链接它.
如果您使用 cmake 构建 googletest,您可以使用 cmake 选项gtest_disable_pthreads来控制对线程的支持。例如:
$ mkdir build && cd build
$ cmake .. -Dgtest_disable_pthreads=ON
Run Code Online (Sandbox Code Playgroud)
输出的结果应该没有显示:
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
Run Code Online (Sandbox Code Playgroud)
然后你就可以make像往常一样跑了。