Я использовал несколько проектов на c ++ для случаев с gtest.Хотя все эти годы все работало нормально, теперь, после обновления openssl версии 1.1.1a, возникла странная проблема.Bilt in VS2017
. Испытательный проект 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_CIP * * * * X9):В соответствии с изменениями структуры в openssl1.1 и далее.
И, openssl статически связан с 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