Выход из проекта Cmake Gtest завершен с кодом ошибки 255 - PullRequest
0 голосов
/ 02 марта 2019

Я использовал несколько проектов на 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

...