Nie startują testy jednostkowe Google w programie

0

Witajcie,

Usiłuję dodać testy jednostkowe Google zamiast UnitTest++. Zmieniłem CMake na takie jak poniżej. W przypadku konfiguracji Debug ma dodawać żródła testów do binarki. W CLion kompiluję w konfiguracji Debug. CLion wywołuje komendę /home/patryk/programy/clion-2016.1.1/bin/cmake/bin/cmake --build /home/patryk/.CLion2016.1/system/cmake/generated/BennuEngine-b1f6df11/b1f6df11/Debug --target all -- -j 4. Co dziwne nie pojawia się ten mesedż, który dodałem w CMake. To plik testu: https://github.com/patrykbajos/ZinotEngine/blob/master/src/tests/core/MapResMgrTest.cpp. Jest zgodny z tym co jest w docu w źródłach na GitHubie. Wszystkie źródła i CMake są w https://github.com/patrykbajos/ZinotEngine. Dodam, że flagi ustawione dla Debug działają, więc oznacza, że konfiguracja Debug jest uruchamiana. RUN_ALL_TESTS() też jest wywoływane, a jest w #ifdef tylko dla Debug. Wygląda, na to, że źródła z testami nie są dodawane, a i CLion mi nie koloruje tych plików z testami jak by nie było ich w CMake.

 # Sources
file(GLOB_RECURSE ZINOTENGINE_SRC "src/zinot/core/*.c" "src/zinot/core/*.cpp")
file(GLOB_RECURSE ZINOTENGINETESTS_SRC "src/tests/*.cpp")

if (CMAKE_BUILD_TYPE EQUAL "Debug")
    message("Debug << dodawanie testów.")
    set(ZINOTENGINE_SRC "${ZINOTENGINE_SRC} ${ZINOTENGINETESTS_SRC}")
endif ()

# Binary
add_executable(ZinotEngine ${ZINOTENGINE_SRC})

Wynik uruchomienia programu to:

/home/patryk/ClionProjects/BennuEngine/bin/Debug/ZinotEngine
[==========] Running 0 tests from 0 test cases.
[==========] 0 tests from 0 test cases ran. (0 ms total)
[  PASSED  ] 0 tests.
Hello world!!!

Process finished with exit code 0 
0

Czy podczas budowania widzisz w logach, że MapResMgrTest.cpp jest kompilowany?

0

@MarekR22, problem już rozwiązałem. W tym CMake powinno być:

if (CMAKE_BUILD_TYPE MATCHES Debug)
    #message("Debug << dodawanie testów.")
    set(ZINOTENGINE_SRC "${ZINOTENGINE_SRC};${ZINOTENGINETESTS_SRC}")
endif ()

Separatorem w liście plików jest ;, a nie jak myślałem , a myślałem tak ponieważ jak CLion dodawał mi pliki do targeta to widziałem, że robił to po spacji, to mnie zmyliło. I zmieniłem tego if-a bo na necie w przykładzie jak sprawdzić czy jest Debug było tak pokazane.

1 użytkowników online, w tym zalogowanych: 0, gości: 1