test(z): add Qt smoke test for ngltools DTG functions; tidy CMake IF/ENDIF mismatches in nglwidgets and NGLLogger

This commit is contained in:
Copilot authored and Torsten Wierschin committed 2026-07-21 13:58:12 +02:00
1 parent dd85b9f5a8
commit dd2dbd3503
4 files changed
+44 -2

No files matched your search

+2 -1
View File
@@ -47,6 +47,7 @@ IF(BUILD_TESTING AND TARGET NGLLogger AND Log4Qt_FOUND)
ADD_TEST(NAME test_ngllogger COMMAND $<TARGET_FILE:test_ngllogger>)
ELSE()
MESSAGE(STATUS "Log4Qt not found; skipping test_ngllogger")
ENDIF(BUILD_TESTING AND TARGET NGLLogger)
ENDIF()
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/log4cxx.props ${CMAKE_BINARY_DIR}/log4cxx.props COPYONLY)
+17
View File
@@ -23,6 +23,23 @@ NGL_TARGET_LINK_LIBRARIES(ngltools
PUBLIC
Qt5::Core
)
# Smoke test for ngltools DTG conversion utilities
IF(BUILD_TESTING AND TARGET ngltools)
find_package(Qt6 COMPONENTS Test Core QUIET)
if (Qt6_FOUND)
set(_QTTEST_TARGET Qt6::Test)
set(_QTCORE_TARGET Qt6::Core)
else()
find_package(Qt5 COMPONENTS Test Core REQUIRED)
set(_QTTEST_TARGET Qt5::Test)
set(_QTCORE_TARGET Qt5::Core)
endif()
add_executable(ngltools_qt_smoke tests/NGLToolsQtSmokeTest.cpp)
target_link_libraries(ngltools_qt_smoke PRIVATE ngltools ${_QTTEST_TARGET} ${_QTCORE_TARGET})
add_test(NAME NGLToolsQtSmoke COMMAND ngltools_qt_smoke)
ENDIF()
NGL_TARGET_COMPILE_DEFINITIONS(ngltools PUBLIC BUILD_BASE_PATH="${CMAKE_BINARY_DIR}")
NGL_TARGET_COMPILE_DEFINITIONS(ngltools PUBLIC INSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}")
@@ -0,0 +1,24 @@
#include <QObject>
#include <QtTest>
#include <QDateTime>
#include "ngltools_dtg.h"
class NGLToolsQtSmokeTest : public QObject
{
Q_OBJECT
private slots:
void testDTG()
{
QDateTime now = QDateTime::currentDateTimeUtc();
QString s = NGL::toString(now);
QVERIFY(!s.isEmpty());
bool ok = false;
QDateTime parsed = NGL::fromDTGString(s, &ok);
QVERIFY(ok);
QVERIFY(parsed.isValid());
}
};
QTEST_MAIN(NGLToolsQtSmokeTest)
#include "NGLToolsQtSmokeTest.moc"
+1 -1
View File
@@ -66,4 +66,4 @@ IF(BUILD_TESTING AND TARGET nglwidgets)
ADD_EXECUTABLE(test_nglpdfwidget test_nglpdfwidget.cpp)
TARGET_LINK_LIBRARIES(test_nglpdfwidget PRIVATE nglwidgets Qt6::Test Qt6::Widgets)
ADD_TEST(NAME test_nglpdfwidget COMMAND $<TARGET_FILE:test_nglpdfwidget>)
ENDIF(BUILD_TESTING)
ENDIF()