我一直在使用一些C++项目来进行GTUT单元的案例。虽然这些年来所有这些都运行良好,但现在在更新openssl版本1.1.1a后,发现了一些奇怪的问题。2017年《图片报》
测试项目exe未执行或根本未启动。我试图从命令提示符下执行exe。它只是立即从执行中出来,没有任何执行或消息。它不需要或考虑任何像洗牌测试这样的争论。
我尝试在主函数中添加跟踪日志,但仍然没有效果。
我得到的错误是
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静态链接到project exe,后者需要链接两个windows库
crypt32 ws2_32
所以添加了cmake之类的依赖项,
if( WIN32 )
target_link_libraries(${PROJECT_NAME} crypt32 ws2_32)
endif()
gtest单元测试用例正在linux build中成功执行。
问题在于windows的执行。
然而,在8个测试项目中,有一个测试项目能够在windows中正确执行,我在cmake文件中没有发现任何差异。
这有点奇怪
注意:exe的退出代码似乎是255