CMake Test показывает вывод printf

У меня есть тестовый пример Boost, который выглядит следующим образом:

#define BOOST_TEST_MODULE my_test

#include <cstdio>
#include <boost/test/unit_test.hpp>

BOOST_AUTO_TEST_CASE(my_test_case)
{
printf("123");
}

Я пытался построить этот тестовый пример, используя cmake,

cmake_minimum_required(VERSION 3.5)
project(my_test)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall")

enable_testing()

file(GLOB TEST_SRCS main.cpp)

foreach(TEST_SRC ${TEST_SRCS})
get_filename_component(TEST_NAME ${TEST_SRC} NAME_WE)

add_executable(${TEST_NAME} ${TEST_SRC})

# Boost
ADD_DEFINITIONS(-DBOOST_TEST_DYN_LINK)
find_package(Boost COMPONENTS unit_test_framework REQUIRED)
target_link_libraries(${TEST_NAME} PUBLIC ${Boost_LIBRARIES})

add_test(NAME ${TEST_NAME} COMMAND ${TEST_NAME})
endforeach(TEST_SRC)

Когда я просто использую команду make test, вывод идет следующим образом:

Running tests...
Test project xxx
Start 1: main
1/1 Test #1: main .............................   Passed    0.00 sec

100% tests passed, 0 tests failed out of 1

Total Test time (real) =   0.00 sec

Ничего не отображается (используя CTEST_OUTPUT_ON_FAILURE не помогает, потому что я хочу увидеть вывод, даже если все тесты пройдены). Я тоже пробовал ctest -V но это должно быть более многословным, что я ожидаю

UpdateCTestConfiguration  from :xxx
UpdateCTestConfiguration  from :xxx
Test project xxx
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 1
Start 1: main

1: Test command: xxx
1: Test timeout computed to be: 10000000
1: Running 1 test case...
1: 123
1: *** No errors detected
1/1 Test #1: main .............................   Passed    0.00 sec

100% tests passed, 0 tests failed out of 1

Total Test time (real) =   0.00 sec

Что я действительно хочу, так это что-то более многословное, чем make test, но чище по сравнению с ctest -V, как вывод ниже (который я получил путем непосредственного запуска двоичного ./main):

Running 1 test case...
123
*** No errors detected

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector