Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Common/CodeGen
berrux-dev 09b6df8bc3 Add per-module unit-test dirs for the Release 2 scope
One unit-test/ directory per module/target, mirroring the existing
TetraIF/unit-test/ layout (one QtTest executable per module, guarded by
BUILD_TESTING and the module target, each registered with ctest):

  Lts/Common/CodeGen      codegen_unit_test
  Lts/Common/LtsCoordinate ltscoordinate_unit_test
  Lts/Common/LtsSession   ltssession_unit_test
  Lts/DDS/Core            ddscore_unit_test
  Lts/DDS/QosProfile      ddsqos_unit_test
  Lts/Tools/LogViewer     logviewer_unit_test
  Lts/Tools/SqlBrowser    sqlbrowser_unit_test
  Z/src/NGLLogger         ngllogger_unit_test
  Z/src/WMS_Interface     wms_json_ds_unit_test
  Z/src/nglapplication    nglcoreapplication_unit_test
  Z/src/nglcompression    nglcompression_unit_test
  Z/src/nglsettings       nglsettings_unit_test
  Z/src/ngltranslator     ngltranslator_unit_test

Where a module is built with hidden visibility and has no export macro
(LogViewer, SqlBrowser, ngltranslator, NGLLogger, nglcompression,
nglsettings), its sources are compiled directly into the test
executable, the same pattern as prtcnv_unit_test.

ctest baseline in the container (QT_QPA_PLATFORM=offscreen): 20/23
passed (13 new + 7 pre-existing in-scope tests), 3 Not Run as before
(nglcomp_test, GrantleeParserSmoke, utils_test).

README: ctest baseline table extended to the 23 registered tests and
section 2.4 now documents the per-module test layout. ddsview has no
unit test (GUI tool, XmlHelper needs the DDS dynamic-xtypes runtime).
2026-11-15 01:08:17 +01:00
..
2026-10-03 09:20:13 +02:00
2026-10-03 09:20:13 +02:00
2026-10-03 09:20:13 +02:00

#
# Hinweise für den CodeGen
#
# $Id$
# $HeadURL$
# $Author$
#

Erstellt: Mai 2022, Norbert Thoden

Der Aufruf des CodeGen kann z.B. so aussehen:

codegen -s /tmp/ppm_serviceORG.xml -i /shd/CTC/TOOLS/TDS/TDS-build/service_idl_files.txt  -a dds_topics  -o /tmp /shd/CTC/TOOLS/TDS/TDS-source/Lts/Common/CodeGen/svc_record_replay_plugin.cpp.grantlee
Edit Juni 2023, Niklas Schmidt

Ebenso ist es nicht möglich einen Struct aus einem anderen Service(Service B) zu verwenden,
der in sich widerum einen anderen Struct aus dem anderen Service (Service B) beinhaltet.

Bsp:

Service A = Struct1{ int id,
                     Struct2 test
                   }

Service B = Struct2{
                     int id2,
                     Struct3 test
                   }

Service B = Struct3{
                   std::string test
                   }

Mögliche Diagnose:

Wenn Struct3 aus Service A aufgerufen wird, ist wahrscheinlich nicht mehr gekennzeichnet dass der Struct3 aus Service B kommt. Dieser kann somit nicht
aufgelöst werden