# --------------------------------------------------------------------------- # Integrationstests der Bibliothek (P1204R0 Regel 7.2). # # Unterschied zu den Unit-Tests neben den Modulen: diese benutzen # ausschliesslich die OEFFENTLICHE API -- und sonst nichts. Kein # doctest, kein Unity, kein Blick in details/. # # Der Grund fuer das eigene Verzeichnis steht in P1204R0: solche Tests sollen # auch gegen eine INSTALLIERTE Bibliothek laufen koennen. Was hier gruen ist, # ist gruen fuer einen Benutzer. # --------------------------------------------------------------------------- function(libpda_add_integration_test name) set(target "integration_${name}") if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${name}/driver.c") add_executable(${target} "${name}/driver.c") elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${name}/driver.cpp") add_executable(${target} "${name}/driver.cpp") else() message(WARNING "tests/${name}: keine driver.c/.cpp gefunden") return() endif() target_link_libraries(${target} PRIVATE pda::pda pda_warnings) add_test(NAME "integration.${name}" COMMAND ${target}) endfunction() libpda_add_integration_test(basics)