我已经在gtest单元案例中使用了许多c ++项目。这些年来,尽管所有这些都运行良好,但是现在在更新了openssl版本1.1.1a之后,看到了一些奇怪的问题。 VS2017中的Bilt
测试项目exe没有执行或根本没有启动。我尝试从命令提示符处执行exe。它只是立即退出执行而没有任何执行或消息。它并没有考虑或考虑--shuffle-tests之类的任何参数。
我尝试在主要功能中添加跟踪线索日志,但仍然无效。
我得到的错误是
6: Test command: plugin-tests.exe "--gtest_shuffle" "--gtest_output=xml:TESTS-plugin.xml"
6: Test timeout computed to be: 10000000
6/8 Test #6: plugin-tests ...........***Failed 0.01 sec
在gtest exe中调试时我很无助,因为对此也没有适当的文档。
请问有人能对此有所了解吗?
它具有标准的GTest函数来初始化和运行所有测试。这些年来一直有效。
我在代码中所做的更改是
已修改 EVP_CIPHER_CTX m_context_encrypt 至 EVP_CIPHER_CTX * m_context_encrypt 并且做了 m_context_encrypt = EVP_CIPHER_CTX_new()
根据openssl1.1以后的结构更改。
而且,openssl静态链接到项目exe,该项目exe需要将两个Windows库链接到
crypt32 ws2_32
因此添加了cmake之类的依赖项,
if( WIN32 )
target_link_libraries(${PROJECT_NAME} crypt32 ws2_32)
endif()
gtest单元测试用例在linux构建中成功执行。 问题出在Windows执行上。
但是,在8个测试项目中,有一个测试项目可以在Windows中正常执行,而我发现cmake文件没有什么区别。
有点奇怪
注意:该exe的退出代码似乎为255