From a32481de09130896f60178dd66367d8859658060 Mon Sep 17 00:00:00 2001 From: berrux_dev Date: Tue, 13 Oct 2026 21:21:52 +0200 Subject: [PATCH] Remove tests not built by the release build and scope new_docker_build.sh to the release branch - Delete all test_*.cpp, *.cmake helpers, MockCoordTrans.h and the gtest/strix tooling from tests/: the only target (migration_tests) was guarded by NOT RELEASE_BUILD, so nothing in tests/ compiles in this branch's release build. - Replace tests/CMakeLists.txt with a configure-only placeholder so the unconditional ADD_SUBDIRECTORY(tests) from the root CMakeLists stays resolvable without emitting the 'No migration test sources found' warning or triggering the GTest FetchContent fallback. - Scope new_docker_build.sh (1672 -> 694 lines) to this branch: keep the prebuilt-image build/use/delete flow, .envrc/MIGRATE_PIPELINE_ROOT and rti_license validation, the release-scope in-container cmake/make/ctest and the Jenkins builder package production. Remove the GROUP1-11 target lists and options, viewer-only, grantlee/arcgis/codification toggles, tests-only, integration-test and verify-rpm machinery. --- .../qt6-migrated-legatus/new_docker_build.sh | 1187 ++--------------- .../qt6-migrated-legatus/tests/CMakeLists.txt | 470 +------ .../tests/MockCoordTrans.h | 20 - .../tests/coordTransTests_gtest.cpp | 14 - .../tests/coordTransTests_smoke.cpp | 19 - .../tests/test_AdlerWebSocketSimulator.cpp | 22 - .../tests/test_AsmWorkstationCertifier.cpp | 22 - .../tests/test_CnrProxyTester.cpp | 22 - .../tests/test_ConfigX.cpp | 22 - .../tests/test_CppTopicGeneratorGrantlee.cpp | 46 - .../tests/test_DBAdministration.cpp | 36 - .../tests/test_DBOperatorSettingsRemover.cpp | 35 - .../tests/test_DBUpdate.cpp | 39 - .../tests/test_DaoGeneratorGrantlee.cpp | 23 - .../tests/test_DataSampleGenerator.cpp | 57 - .../tests/test_DataSampleReceiver.cpp | 58 - .../tests/test_DatabaseGeneratorGrantlee.cpp | 18 - .../tests/test_DateTimeSyncer.cpp | 36 - .../tests/test_DdsView.cpp | 58 - .../tests/test_DotMatrixDisplay.cpp | 36 - .../tests/test_EEMFakeServer.cpp | 22 - .../tests/test_GeneratorGrantleeBase.cpp | 18 - .../tests/test_GrantleeParserSmoke.cpp | 18 - .../tests/test_GrantleeWrappers.cpp | 18 - .../tests/test_LicenceEditor.cpp | 35 - .../tests/test_LocalDomainFinder.cpp | 35 - .../tests/test_LogViewer.cpp | 36 - .../tests/test_LtsCommandLineParser.cpp | 36 - .../tests/test_ParticipantDataGenerator.cpp | 22 - .../tests/test_ProjectSettingsEditor.cpp | 22 - .../tests/test_QLedLine.cpp | 22 - .../tests/test_QLedMatrix.cpp | 22 - .../tests/test_SqlGenerator.cpp | 18 - .../tests/test_StructBuilder.cpp | 18 - .../tests/test_XmlReader.cpp | 18 - .../tests/test_abstracttimelinemodel.cpp | 21 - .../tests/test_aes_crypt.cpp | 25 - .../tests/test_aes_crypt_test.cpp | 25 - .../tests/test_aes_dtc.cpp | 61 - .../tests/test_aes_enums.cpp | 60 - .../tests/test_alm_dtc.cpp | 44 - .../tests/test_app_chooser.cpp | 36 - .../tests/test_app_chooser_model.cpp | 36 - .../tests/test_asm_dtc.cpp | 77 -- .../tests/test_asm_enums.cpp | 57 - .../tests/test_avm_dtc.cpp | 16 - .../tests/test_avm_enums.cpp | 16 - .../tests/test_bld_dtc.cpp | 74 - .../tests/test_bld_enums.cpp | 61 - .../tests/test_build_rti_guards.cpp | 50 - .../tests/test_ces_dtc.cpp | 16 - .../tests/test_client_message.cpp | 16 - .../tests/test_cmo_dtc.cpp | 16 - .../tests/test_cod_dtc.cpp | 77 -- .../tests/test_codegen_export.cpp | 18 - .../tests/test_core_dtc.cpp | 16 - .../tests/test_core_enums.cpp | 16 - .../tests/test_eem_dtc.cpp | 16 - .../tests/test_eem_enums.cpp | 16 - .../tests/test_egcuSimulator.cpp | 22 - .../tests/test_elevation_unit_test.cpp | 25 - .../tests/test_esc_dtc.cpp | 16 - .../tests/test_esm_dtc.cpp | 16 - .../qt6-migrated-legatus/tests/test_event.cpp | 66 - .../tests/test_eventdelegate.cpp | 52 - .../tests/test_eventgraphic.cpp | 59 - .../tests/test_eventlist.cpp | 69 - .../tests/test_eventtools.cpp | 105 -- .../tests/test_evl_dtc.cpp | 90 -- .../tests/test_exm_dtc.cpp | 16 - .../tests/test_exm_enums.cpp | 16 - .../tests/test_export_headers.cpp | 146 -- .../tests/test_filter_background_widget.cpp | 16 - .../tests/test_filter_track_widget.cpp | 16 - .../tests/test_flm_db_impl_custom.cpp | 75 -- .../tests/test_flm_dtc.cpp | 60 - .../tests/test_flm_dtc_impl_custom.cpp | 63 - .../tests/test_flm_enums.cpp | 58 - .../tests/test_flm_tests.cpp | 70 - .../tests/test_flt_dtc.cpp | 60 - .../tests/test_flt_enums.cpp | 32 - .../tests/test_generic_dtc.cpp | 16 - .../tests/test_gim_dtc.cpp | 73 - .../tests/test_gna_dtc.cpp | 16 - .../tests/test_indicator.cpp | 16 - .../tests/test_ism_dtc.cpp | 92 -- .../tests/test_ism_enums.cpp | 16 - .../qt6-migrated-legatus/tests/test_item.cpp | 44 - .../tests/test_json_keys.h.cpp | 16 - .../tests/test_linemap.cpp | 39 - .../tests/test_logger.cpp | 25 - .../tests/test_logout_info_dialog.cpp | 25 - .../tests/test_lonlat2mgrs.cpp | 25 - .../tests/test_lts_app_descriptor.cpp | 56 - .../tests/test_lts_app_descriptor_editor.cpp | 38 - .../tests/test_lts_app_manager.cpp | 36 - .../tests/test_lts_comport_querry.h.cpp | 16 - .../tests/test_lts_coord_trans.cpp | 25 - .../tests/test_lts_coord_trans_unit_test.cpp | 25 - .../tests/test_lts_coord_vector.cpp | 39 - .../tests/test_lts_coord_widget.cpp | 25 - .../tests/test_lts_coord_widget_test.cpp | 25 - .../tests/test_lts_coordinate_unit_test.cpp | 25 - .../tests/test_lts_dummy_widget.cpp | 25 - .../tests/test_lts_elevation_manager.cpp | 25 - .../tests/test_lts_licence.cpp | 25 - .../tests/test_lts_login.cpp | 25 - .../tests/test_lts_magic_corner.cpp | 25 - .../tests/test_lts_multi_monitor.cpp | 25 - .../tests/test_lts_multi_monitor_export.h.cpp | 25 - .../test_lts_multi_monitor_selector_base.cpp | 16 - ...test_lts_multi_monitor_selector_normal.cpp | 16 - .../test_lts_multi_monitor_selector_wide.cpp | 16 - .../tests/test_lts_notification.cpp | 16 - .../tests/test_lts_notification_ctl.cpp | 16 - .../tests/test_lts_notification_export.h.cpp | 16 - .../tests/test_lts_plugin_loader.cpp | 16 - .../tests/test_lts_plugin_manager_dialog.cpp | 16 - .../test_lts_plugin_manager_export.h.cpp | 16 - .../tests/test_lts_plugin_manager_widget.cpp | 16 - .../tests/test_lts_projection_workstation.cpp | 16 - ...st_lts_projection_workstation_export.h.cpp | 16 - .../tests/test_lts_screen_base.cpp | 16 - .../tests/test_lts_screen_container.cpp | 16 - .../tests/test_lts_screen_normal.cpp | 16 - .../tests/test_lts_screen_wide.cpp | 16 - .../tests/test_lts_serial_port_querry.cpp | 16 - .../tests/test_lts_session.cpp | 16 - .../tests/test_lts_session_data.cpp | 16 - .../tests/test_lts_session_data_dds.cpp | 16 - .../tests/test_lts_session_lock_handler.cpp | 21 - .../tests/test_lts_session_manager.cpp | 21 - .../tests/test_lts_timeline_header_view.cpp | 21 - ...lts_timeline_header_view_mouse_handler.cpp | 21 - .../tests/test_lts_timeline_item.cpp | 21 - .../tests/test_lts_timeline_item_delegate.cpp | 21 - .../tests/test_lts_timeline_model.cpp | 21 - .../tests/test_lts_timeline_utils.cpp | 21 - .../tests/test_lts_timeline_view.cpp | 21 - .../test_lts_timeline_view_drag_handler.cpp | 21 - .../test_lts_timeline_view_resize_handler.cpp | 21 - ...st_lts_timeline_view_selection_handler.cpp | 21 - .../test_lts_timeline_view_track_handler.cpp | 21 - .../tests/test_lts_timeline_widget.cpp | 21 - .../tests/test_ltswidgets_qt6.cpp | 239 ---- .../tests/test_main_grantlee.cpp | 17 - .../tests/test_main_grantlee_gui.cpp | 18 - .../tests/test_mainwindow.cpp | 16 - .../tests/test_mdm_dtc.cpp | 16 - .../tests/test_message_factory.cpp | 16 - .../tests/test_messages.cpp | 16 - .../tests/test_mgrs2lonlat.cpp | 25 - .../tests/test_migration_stubs.cpp | 218 --- .../tests/test_mockcoordtrans.cpp | 11 - .../tests/test_mrk_dtc.cpp | 86 -- .../tests/test_msg_dtc.cpp | 16 - .../tests/test_nme_dtc.cpp | 231 ---- .../tests/test_nme_enums.cpp | 54 - .../tests/test_nmea_handler.cpp | 101 -- .../tests/test_nom_dtc.cpp | 16 - .../tests/test_nom_enums.cpp | 16 - .../tests/test_opm_dtc.cpp | 16 - .../tests/test_oss_dtc.cpp | 16 - .../tests/test_passiveeventcontainer.cpp | 76 -- .../tests/test_pdm_dtc.cpp | 75 -- .../tests/test_pdm_enums.cpp | 16 - .../tests/test_ppm_dtc.cpp | 79 -- .../tests/test_ppm_enums.cpp | 16 - .../tests/test_pre_dtc.cpp | 16 - .../tests/test_printing.cpp | 16 - .../tests/test_printing_base.cpp | 16 - .../tests/test_qt6_api_migrations.cpp | 285 ---- .../tests/test_qt6_compatibility.cpp | 85 -- .../qt6-migrated-legatus/tests/test_range.cpp | 39 - .../tests/test_rep_dtc.cpp | 16 - .../tests/test_rep_enums.cpp | 16 - .../tests/test_reply_message.cpp | 16 - .../tests/test_rti_integration.cpp | 80 -- .../tests/test_saa_telegrams.cpp | 90 -- .../tests/test_scm_dtc.cpp | 17 - .../tests/test_script_timeline.cpp | 16 - .../tests/test_som_dtc.cpp | 16 - .../tests/test_srm_dtc.cpp | 16 - .../tests/test_srp_dtc.cpp | 16 - .../tests/test_srp_enums.cpp | 16 - .../tests/test_symbology_xml.cpp | 120 -- .../tests/test_tab_dtc.cpp | 80 -- .../tests/test_taboc_dtc.cpp | 74 - .../tests/test_temporary_pointer_vector.h.cpp | 16 - .../tests/test_testtimelinemodel.cpp | 70 - .../tests/test_tgt_dtc.cpp | 16 - .../tests/test_timelineheaderview.cpp | 57 - .../tests/test_timelineindicator.cpp | 72 - .../tests/test_timelineview.cpp | 39 - .../tests/test_timelinewidget.cpp | 39 - .../qt6-migrated-legatus/tests/test_tools.cpp | 16 - .../tests/test_track_content_widget.cpp | 16 - .../tests/test_track_drag_handler.cpp | 16 - .../tests/test_track_entry.h.cpp | 16 - .../tests/test_track_entry_painters.cpp | 16 - .../tests/test_track_entry_preview_widget.cpp | 16 - .../tests/test_track_entry_previewer.cpp | 16 - .../tests/test_track_header.cpp | 16 - .../tests/test_track_resize_handler.cpp | 16 - .../tests/test_track_select_handler.cpp | 16 - .../tests/test_vnc_server_manager.cpp | 16 - .../tests/test_whg_dtc.cpp | 16 - .../test_z_application_functionality.cpp | 235 ---- .../tests/test_z_module_integration.cpp | 210 --- .../tests/test_z_proxies_integration.cpp | 221 --- 210 files changed, 108 insertions(+), 9627 deletions(-) delete mode 100644 qt6-after/qt6-migrated-legatus/tests/MockCoordTrans.h delete mode 100644 qt6-after/qt6-migrated-legatus/tests/coordTransTests_gtest.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/coordTransTests_smoke.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_AdlerWebSocketSimulator.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_AsmWorkstationCertifier.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_CnrProxyTester.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_ConfigX.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_CppTopicGeneratorGrantlee.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_DBAdministration.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_DBOperatorSettingsRemover.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_DBUpdate.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_DaoGeneratorGrantlee.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_DataSampleGenerator.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_DataSampleReceiver.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_DatabaseGeneratorGrantlee.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_DateTimeSyncer.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_DdsView.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_DotMatrixDisplay.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_EEMFakeServer.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_GeneratorGrantleeBase.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_GrantleeParserSmoke.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_GrantleeWrappers.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_LicenceEditor.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_LocalDomainFinder.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_LogViewer.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_LtsCommandLineParser.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_ParticipantDataGenerator.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_ProjectSettingsEditor.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_QLedLine.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_QLedMatrix.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_SqlGenerator.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_StructBuilder.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_XmlReader.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_abstracttimelinemodel.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_aes_crypt.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_aes_crypt_test.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_aes_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_aes_enums.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_alm_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_app_chooser.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_app_chooser_model.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_asm_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_asm_enums.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_avm_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_avm_enums.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_bld_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_bld_enums.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_build_rti_guards.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_ces_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_client_message.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_cmo_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_cod_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_codegen_export.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_core_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_core_enums.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_eem_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_eem_enums.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_egcuSimulator.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_elevation_unit_test.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_esc_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_esm_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_event.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_eventdelegate.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_eventgraphic.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_eventlist.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_eventtools.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_evl_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_exm_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_exm_enums.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_export_headers.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_filter_background_widget.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_filter_track_widget.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_flm_db_impl_custom.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_flm_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_flm_dtc_impl_custom.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_flm_enums.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_flm_tests.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_flt_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_flt_enums.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_generic_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_gim_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_gna_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_indicator.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_ism_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_ism_enums.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_item.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_json_keys.h.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_linemap.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_logger.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_logout_info_dialog.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lonlat2mgrs.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_app_descriptor.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_app_descriptor_editor.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_app_manager.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_comport_querry.h.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_coord_trans.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_coord_trans_unit_test.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_coord_vector.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_coord_widget.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_coord_widget_test.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_coordinate_unit_test.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_dummy_widget.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_elevation_manager.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_licence.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_login.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_magic_corner.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_multi_monitor.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_multi_monitor_export.h.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_multi_monitor_selector_base.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_multi_monitor_selector_normal.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_multi_monitor_selector_wide.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_notification.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_notification_ctl.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_notification_export.h.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_plugin_loader.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_plugin_manager_dialog.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_plugin_manager_export.h.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_plugin_manager_widget.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_projection_workstation.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_projection_workstation_export.h.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_screen_base.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_screen_container.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_screen_normal.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_screen_wide.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_serial_port_querry.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_session.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_session_data.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_session_data_dds.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_session_lock_handler.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_session_manager.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_header_view.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_header_view_mouse_handler.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_item.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_item_delegate.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_model.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_utils.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_view.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_view_drag_handler.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_view_resize_handler.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_view_selection_handler.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_view_track_handler.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_widget.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_ltswidgets_qt6.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_main_grantlee.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_main_grantlee_gui.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_mainwindow.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_mdm_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_message_factory.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_messages.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_mgrs2lonlat.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_migration_stubs.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_mockcoordtrans.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_mrk_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_msg_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_nme_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_nme_enums.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_nmea_handler.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_nom_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_nom_enums.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_opm_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_oss_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_passiveeventcontainer.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_pdm_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_pdm_enums.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_ppm_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_ppm_enums.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_pre_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_printing.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_printing_base.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_qt6_api_migrations.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_qt6_compatibility.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_range.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_rep_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_rep_enums.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_reply_message.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_rti_integration.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_saa_telegrams.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_scm_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_script_timeline.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_som_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_srm_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_srp_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_srp_enums.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_symbology_xml.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_tab_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_taboc_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_temporary_pointer_vector.h.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_testtimelinemodel.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_tgt_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_timelineheaderview.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_timelineindicator.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_timelineview.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_timelinewidget.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_tools.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_track_content_widget.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_track_drag_handler.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_track_entry.h.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_track_entry_painters.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_track_entry_preview_widget.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_track_entry_previewer.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_track_header.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_track_resize_handler.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_track_select_handler.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_vnc_server_manager.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_whg_dtc.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_z_application_functionality.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_z_module_integration.cpp delete mode 100644 qt6-after/qt6-migrated-legatus/tests/test_z_proxies_integration.cpp diff --git a/qt6-after/qt6-migrated-legatus/new_docker_build.sh b/qt6-after/qt6-migrated-legatus/new_docker_build.sh index 4f13b6fde..59331f5f0 100755 --- a/qt6-after/qt6-migrated-legatus/new_docker_build.sh +++ b/qt6-after/qt6-migrated-legatus/new_docker_build.sh @@ -2,106 +2,40 @@ set -euo pipefail # ----------------------------------------------------------------------------- -# Build helper for qt-migrated-legatus inside Docker +# Build helper for the release validation-scope branch of qt-migrated-legatus +# +# Builds only the release scope (TetraIF, Z/src, Lts/Common + +# Lts/Proxies/TrainingAreaBase) inside Docker and optionally runs the Jenkins +# builder to produce the release DEB packages. # -# Features: # - Loads environment from .envrc # - Validates MIGRATE_PIPELINE_ROOT and rti_license.dat -# - BUILD_RTI controllable via first positional argument: ON|OFF -# - BUILD_GRANTLEE controllable via --grantlee/--no-grantlee options -# - 5 separately switchable make build groups # - Optional usage of a prebuilt Docker image with installed dependencies # - Optional creation of that prebuilt Docker image via --build-prebuilt-image # - Optional deletion of that prebuilt Docker image via --delete-prebuilt-image -# - Optional disabling of ctest -# - Optional tests-only mode +# - Optional Jenkins builder run for RPM/DEB package production # - Uses a temporary container-side script for robust execution -# - Supersedes docker_build.sh: its full migrated-service target set, apt -# package additions, and exclusion notes are merged into this script # ----------------------------------------------------------------------------- usage() { cat <<'EOF' -Usage: ./new_docker_build.sh [ON|OFF] [options] +Usage: ./new_docker_build.sh [options] -RELEASE_BUILD: - Environment variable RELEASE_BUILD=ON|OFF (default: ON) - When ON: builds only release modules (TetraIF, Z, Lts/Common) - Excludes LtsElevation (depends on Lts/Viewer/SituationMap) +Builds the release validation scope inside Docker: + RELEASE_BUILD=ON (fixed) - TetraIF, Z, Lts/Common (+ TrainingAreaBase) + BUILD_RTI=OFF (fixed) - uses the ProjectDataManagement stubs -BUILD_RTI: - First positional argument may be: - ON Enable BUILD_RTI - OFF Disable BUILD_RTI - -BUILD_GRANTLEE: - --grantlee / --no-grantlee Enable/disable BUILD_GRANTLEE (default: ON) - -BUILD_ARCGIS: - --arcgis / --no-arcgis Enable/disable BUILD_ARCGIS (default: OFF) - -BUILD_CODIFICATION: - --codification / --no-codification Enable/disable BUILD_CODIFICATION (default: OFF, requires KDReports) - -Build groups: - --group1 / --no-group1 Enable/disable DDS core libraries build - --group2 / --no-group2 Enable/disable migration_tests build - --group3 / --no-group3 Enable/disable remaining application and service targets build - (NGL app targets + full migrated Lts service set with per-service tests) - --group4 / --no-group4 Enable/disable DDS tests and Lts/Proxies module targets - --group5 / --no-group5 Enable/disable Lts/Viewer module targets and tests only - --group6 / --no-group6 Enable/disable LTS Tools (Qt6 migration) build - --group7 / --no-group7 Enable/disable LTS Tools Group 7 (A,B,C,E,I) build - --group8 / --no-group8 Enable/disable LTS Tools Group 8 (J,M,N,P,Q) build - --group9 / --no-group9 Enable/disable LTS Tools Group 9 (R,S,T,V,W) build - --group10 / --no-group10 Enable/disable LTS Projects build - --group11 / --no-group11 Enable/disable LTS Application build - --build-viewer-only Build only Viewer module targets (skip Groups 1-4, implies --group5 --codification; ctest runs) - -Test execution: - --no-ctest Skip ctest execution - --tests-only Run only ctest, skip all make build groups - --integration-test Run only integration tests (test_z_*, bld_*, tab_*, wls_*) - --verify-rpm Verify generated packages (RPM/DEB) after build (release builds only) - -Prebuilt Docker image usage: - --use-prebuilt-image Use a Docker image with dependencies already installed - --no-prebuilt-image Use base image and run apt-get install inside the container - --docker-image IMAGE Docker image name to use/build/delete - --cmake_build_flags FLAGS Extra CMake flags passed to the in-container configure - (space-separated -D flags, e.g. "-DBUILD_WLS=ON -DGUEZ_MODE=ON") - -Prebuilt Docker image management: - --build-prebuilt-image Build the prebuilt Docker image before running the build - If used alone, the script builds the image and exits - If combined with --use-prebuilt-image, the built image is used immediately - --delete-prebuilt-image Delete the configured Docker image and exit - -Environment variable overrides: - RELEASE_BUILD=ON|OFF Enable release build (only TetraIF, Z, Lts/Common) - BUILD_RTI=ON|OFF - BUILD_GRANTLEE=ON|OFF - BUILD_ARCGIS=ON|OFF - BUILD_CODIFICATION=ON|OFF - BUILD_GROUP1=ON|OFF - BUILD_GROUP2=ON|OFF - BUILD_GROUP3=ON|OFF - BUILD_GROUP4=ON|OFF - BUILD_GROUP5=ON|OFF - BUILD_GROUP6=ON|OFF - BUILD_GROUP7=ON|OFF - BUILD_GROUP8=ON|OFF - BUILD_GROUP9=ON|OFF - BUILD_GROUP10=ON|OFF - BUILD_GROUP11=ON|OFF - RUN_CTEST=ON|OFF (automatically ON for RELEASE_BUILD=ON - tests in Lts/Common + Z) - TESTS_ONLY=ON|OFF - INTEGRATION_TEST=ON|OFF - VERIFY_RPM=ON|OFF Verify generated packages (RPM/DEB) after build (release builds only) - USE_PREBUILT_IMAGE=ON|OFF - BUILD_PREBUILT_IMAGE=ON|OFF - DELETE_PREBUILT_IMAGE=ON|OFF - DOCKER_IMAGE= +Options: + --use-prebuilt-image Use a Docker image with dependencies already installed + --no-prebuilt-image Use base image and run apt-get install inside the container + --docker-image IMAGE Docker image name to use/build/delete + (default: legatus-qt6-prebuilt:latest) + --build-prebuilt-image Build the prebuilt Docker image before running the build + If used alone, the script builds the image and exits + If combined with --use-prebuilt-image, the built image is used immediately + --delete-prebuilt-image Delete the configured Docker image and exit + --cmake_build_flags FLAGS Extra CMake flags passed to the in-container configure + (space-separated -D flags, e.g. "-DBUILD_WLS=ON") Jenkins builder options (for RPM/DEB package production): --run-jenkins-builder Run jenkins_builder_ubuntu26.sh inside container to produce packages @@ -111,63 +45,33 @@ Jenkins builder options (for RPM/DEB package production): --build-number NUM Build number for package (default: 1) --build-tag TAG Build tag for package (default: manual-build) +Environment variable overrides: + USE_PREBUILT_IMAGE=ON|OFF + BUILD_PREBUILT_IMAGE=ON|OFF + DELETE_PREBUILT_IMAGE=ON|OFF + DOCKER_IMAGE= + CMAKE_BUILD_FLAGS= + RUN_JENKINS_BUILDER=ON|OFF + PACKAGE_OUTPUT_DIR= + LTS_VERSION= + PROJECT= + GUEZ_MODE=ON|OFF + BUILD_NUMBER= + BUILD_TAG= + Required .envrc variable: MIGRATE_PIPELINE_ROOT= Expected file: ${MIGRATE_PIPELINE_ROOT}/rti_license.dat -Defaults: - RELEASE_BUILD=ON First release: only TetraIF, Z, Lts/Common - BUILD_RTI=OFF Release: OFF to avoid Lts/Services/GROUP1 dependency - BUILD_GRANTLEE=ON - BUILD_ARCGIS=OFF - BUILD_CODIFICATION=OFF - BUILD_GROUP1=OFF Release: OFF (ddscore in Lts/Services) - BUILD_GROUP2=OFF Release: OFF (migration_tests) - BUILD_GROUP3=ON Release: ON (Z components, TetraIF) - BUILD_GROUP4=OFF - BUILD_GROUP5=OFF Release: OFF (Viewer - not in scope) - BUILD_GROUP6=OFF - BUILD_GROUP7=OFF - BUILD_GROUP8=OFF - BUILD_GROUP9=OFF - BUILD_GROUP10=OFF - BUILD_GROUP11=OFF Release: OFF (Lts/Application - not in scope) - RUN_CTEST=ON Release: ON (tests in Lts/Common + Z components) - TESTS_ONLY=OFF - INTEGRATION_TEST=OFF - VERIFY_RPM=OFF - USE_PREBUILT_IMAGE=OFF - BUILD_PREBUILT_IMAGE=OFF - DELETE_PREBUILT_IMAGE=OFF - DOCKER_IMAGE=legatus-qt6-prebuilt:latest - RUN_JENKINS_BUILDER=OFF - PACKAGE_OUTPUT_DIR=./packages-out - LTS_VERSION=1.0 - PROJECT=guez - GUEZ_MODE=ON - BUILD_NUMBER=1 - BUILD_TAG=manual-build - INTEGRATION_TEST=OFF - VERIFY_RPM=OFF Release: OFF (optional package verification) - USE_PREBUILT_IMAGE=OFF - BUILD_PREBUILT_IMAGE=OFF - DELETE_PREBUILT_IMAGE=OFF - DOCKER_IMAGE=legatus-qt6-prebuilt:latest - Examples: - ./new_docker_build.sh - ./new_docker_build.sh OFF - ./new_docker_build.sh --no-group3 - ./new_docker_build.sh --no-group1 --group2 --no-group3 - ./new_docker_build.sh --no-ctest - ./new_docker_build.sh --tests-only - ./new_docker_build.sh --build-prebuilt-image --docker-image legatus-qt6-prebuilt:latest - ./new_docker_build.sh --use-prebuilt-image --docker-image legatus-qt6-prebuilt:latest - ./new_docker_build.sh --build-prebuilt-image --use-prebuilt-image --docker-image legatus-qt6-prebuilt:latest - ./new_docker_build.sh --delete-prebuilt-image --docker-image legatus-qt6-prebuilt:latest - ./new_docker_build.sh --use-prebuilt-image --no-group1 --no-group3 --integration-test + ./new_docker_build.sh --build-prebuilt-image --docker-image legatus-qt6:1.0 + ./new_docker_build.sh --use-prebuilt-image --docker-image legatus-qt6:1.0 + ./new_docker_build.sh --build-prebuilt-image --use-prebuilt-image --docker-image legatus-qt6:1.0 + ./new_docker_build.sh --delete-prebuilt-image --docker-image legatus-qt6:1.0 + ./new_docker_build.sh --use-prebuilt-image --docker-image legatus-qt6:1.0 \ + --run-jenkins-builder --package-output-dir /path/to/rpms/guez/26.04 EOF } @@ -221,17 +125,6 @@ normalize_on_off() { esac } -log_group() { - local group_name="$1" - local enabled="$2" - - if [[ "$enabled" == "ON" ]]; then - log_info "${group_name} enabled" - else - log_info "${group_name} disabled - skipping" - fi -} - join_by() { local delimiter="$1" shift || true @@ -306,257 +199,9 @@ APT_PACKAGES=( devscripts ) -# INTERFACE libraries (header-only) are built automatically as dependencies -# Only list actual buildable targets (SHARED/STATIC libraries, executables) -GROUP1_TARGETS=( - ddscore - svcCoreClient - ddsftccore - ddsfts - ddsgen - ddsQoS - ddsconnector -) - -GROUP2_TARGETS=( - migration_tests -) - -# Validation builds the full service set, not only the targets that -# happened to be migrated first: every service library, the per-service -# test executables, and the shared libraries they need. Targets that are -# known blocked for reasons outside this migration are excluded below, so -# a green run means every migratable service actually compiles. -# -# This is the full validation set formerly built by docker_build.sh, which -# is superseded by this script. -# -# Excluded, each for a dependency this migration cannot supply: -# svcTargetManagement - needs SituationMap::ElevationMap / -# LineOfSightCalculation, the GDAL module -# whose CMakeLists states it was never -# migrated (main_handler.h:18 includes -# ). -# svcExerciseManagement - needs QStateMachine / QState, moved from -# svcInfrastructureManagement QtCore to the Qt SCXML module in Qt6 -# exmStateMachineTest (Qt6::StateMachine). No qt6-scxml-dev in -# the image and qstatemachine.h is absent. -# svcBuildings - its generated record_replay_plugin -# (bld_record_replay_plugin.cpp) calls -# fromQVariant() for the nested foreign -# ProjectDataManagement types -# VulnerabilityState / -# StateChangeOriginator, for which no -# specialization is generated (they are -# not Buildings' own types), leaving the -# generic fromQVariant template -# undefined -> link error. -# svcParticipantManagement - its record_replay custom header -# (RecordReplay/ppm_record_replay_plugin_custom.h) -# declares Q_INTERFACES(RecordReplay:: -# RecordReplayPlugin) on a class that also -# inherits ParticipantHandling::BaseDataProvider -# (a second Q_OBJECT base the other record_replay -# custom plugins lack). Qt6's MOC reports -# "Undefined interface" for the Q_INTERFACES in -# that multi-Q_OBJECT-base context (RecordReplay:: -# RecordReplayPlugin is a Q_GADGET, not a Q_OBJECT), -# so the plugin autogen step fails before link. -# (The nested-foreign-PDM fromQVariant link error -# that also applied is now resolved by the -# fromQVariant primary-template body added to -# svc_record_replay_plugin.cpp.grantlee.) The PPM -# client/common/server libs still build; only this -# exe is excluded. -GROUP3_TARGETS=( - NGLLogger - nglapplication - nglcompression - nglcoreapplication - ngldb - nglguiapplication - nglsettings - nglsingleapplication - nglsinglecoreapplication - ngltools - ngltranslator - nglwidgets - qtsingleapplication - qtsinglecoreapplication - wms_json_ds - tcpserver - # ProjectDataManagement - svcPdmCommon - svcPdmClient - svcPdmServer - svcProjectDataManagement - pdmTests - # Migrated Lts services (full validation set merged from docker_build.sh) - svcAesClient - svcAesCommon - svcAesServer - svcAlmClient - svcAlmCommon - svcAlmServer - svcAreaEffectSimulation - svcAsmClient - svcAsmCommon - svcAsmServer - svcAssetManagement - svcAudioVideoManagement - svcAvmClient - svcAvmCommon - svcAvmServer - # svcBldServer builds in Group 4 (Proxies module) - svcBldClient - svcBldCommon - svcCentralEffectSimulation - svcCesClient - svcCesCommon - svcCesDDSCommon - svcCesGeoPairingImpl - svcCesServer - svcCodClient - svcCodCommon - svcCodServer - svcEemClient - svcEemCommon - svcEemServer - svcEffectShowClient - svcEscClient - svcEscCommon - svcEscServer - svcEsmClient - svcEsmCommon - svcEsmServer - svcEvlClient - svcEvlCommon - svcEvlServer - svcExerciseEventManagement - svcExmClient - svcExmCommon - svcExmServer - svcFileManagement - svcFilterManagement - svcFlmClient - svcFlmCommon - svcFlmServer - svcFltClient - svcFltCommon - svcFltServer - svcGimClient - svcGimCommon - svcGimServer - svcGmpServer - svcGuezIedManagement - svcIsmClient - svcIsmCommon - svcIsmServer - svcMapDummy - svcMdmClient - svcMdmCommon - svcMdmServer - svcMessaging - svcMeteoDataManagement - svcMrkClient - svcMrkCommon - svcMrkServer - svcMsgClient - svcMsgCommon - svcMsgServer - svcNomClient - svcNomCommon - svcNomServer - svcNotificationManagement - svcNmeClient - svcNmeCommon - svcNmeServer - svcNmeaManagement - svcObdClient - svcObdCommon - svcObdServer - svcOcBaseDownload - svcOcSituationClient - svcOcSituationServer - svcOperatorManagement - svcOpmClient - svcOpmCommon - svcOpmServer - svcOreDummy - svcOscClient - svcOscCommon - svcOscServer - svcOssClient - svcOssCommon - svcOssServer - svcPedDummy - svcPpmClient - svcPpmCommon - svcPpmServer - svcPreClient - svcPreCommon - svcPreServer - svcPwsCommon - svcRecCommon - svcRecordingManagement - svcRepClient - svcRepCommon - svcRepCommonExecutable - svcRepServer - svcReportAnalyzer - svcReportGenerator - svcScmClient - svcScmCommon - svcScmServer - svcScrDummy - svcServiceManagement - svcSituationReplay - svcSmoDummy - svcSomClient - svcSomCommon - svcSomServer - svcSoundManagement - svcSrmCommon - svcSrpClient - svcSrpCommon - svcSrpServer - svcTgtClient - svcTgtCommon - svcTgtServer - svcVideoOverlayManagement - svcWarehouseGuez - svcWhgClient - svcWhgCommon - svcWhgServer - # Per-service tests (merged from docker_build.sh) - asmTests - avmFtTests - avmTests - avmVcaTests - cesTests - eemTests - evlTests - exmDtUnitTest - exmTests - flmTests - gmpTests - ismTests - mrkTests - mvsTests - nomTests - opmTests - ppmTests - preTests - repTests - scmDtUnitTest - srpFtTests - tgtTests - whgTests -) - -# Release build targets: Z components + Lts/Common libraries (no Lts/Services) -# Used when RELEASE_BUILD=ON to build only release scope modules -RELEASE_GROUP3_TARGETS=( +# Release scope targets: Z components + Lts/Common libraries and the +# release-scope test executables (Lts/Common + Z) +RELEASE_BUILD_TARGETS=( # Z module targets NGLLogger nglapplication @@ -587,65 +232,6 @@ RELEASE_GROUP3_TARGETS=( test_nglpdfwidget ) -GROUP4_TARGETS=( - # DDS tests - ddsGenericDataTests - ddsDataTopicTests - ddsFunctionTopicTests - # Proxies module - Buildings - BuildingControlCommon - BuildingControlBsm - BuildingControlTestBsm - BuildingControlVwm - BuildingControlTestVwm - BuildingControlTestVwmXml - # BuildingControlJson - requires Qt6WebSockets (not available) - # ControlEffects - may depend on BuildingControlJson - # ControlEffectsTest - # BuildingControlUnit - depends on BuildingControlJson - svcBldServer - svcBuildings - # Proxies module - TrainingAreaBase - tabTelegrams - svcTabCommon - svcTabClient - svcTabServer - svcTrainingAreaBase - # tabPluginInterface - defined in the CMake but no make rule is generated (base state) - # TmsIfAdapterInterface/TmsIfAdapter/tabPluginUAS/TabUASTest3/TabUASTest4_2/TabUASTest6 - # - only built with BUILD_UAS_PROXY=ON (default OFF, not exposed by this script) - # tabPluginInterface - # TmsIfAdapterInterface - # TmsIfAdapter - # tabPluginUAS - # TabUASTest3 - # TabUASTest4_2 - # TabUASTest6 - # Proxies module - TrainingAreaBaseOC - svcTabocCommon - svcTabocClient - svcTabocServer - svcTrainingAreaBaseOC - serialtest - # Proxies module - WirelessLocationSystem (requires -DBUILD_WLS=ON, e.g. via - # --cmake_build_flags "-DBUILD_WLS=ON") - svcWirelessLocationSystem - wlsJsonClientTest - # Proxies module - Other - svcCmoCommon - svcCmoClient - svcCmoServer - svcComponentMonitor - svcCnrHelper - svcCombatNetRadio - svcDifferentialGPS - svcGnaCommon - svcGnaClient - svcGnaServer - svcWarehouseManagement - Tetra_dgps_simulator -) - APT_PACKAGES_STRING="$(join_by ' ' "${APT_PACKAGES[@]}")" build_prebuilt_image() { @@ -704,27 +290,6 @@ EOF log_info "Prebuilt Docker image created successfully: ${image_name}" } -install_qt6_packages() { - log_info "Installing Qt6 packages via aqtinstall" - - # Install aqtinstall if not available - if ! command -v aqt &> /dev/null; then - log_info "Installing aqtinstall via pip3" - pip3 install --break-system-packages --quiet aqtinstall - fi - - # Install Qt6 modules (same as app/Dockerfile) - # Modules: qtmultimedia, qtserialport, qtimageformats, qtwebsockets, qtwebengine, - # qtpdf, qtwebview, qt5compat, qtwebchannel, qtpositioning, qtlocation, qtsensors - # Note: qtsvg is NOT available via aqtinstall - it's provided by libqt6svg6-dev apt package - aqt install-qt linux desktop "${QT_VERSION:-6.10.2}" "${QT_ARCH:-linux_gcc_64}" \ - -m qtmultimedia qtserialport qtimageformats qtwebsockets qtwebengine \ - qtpdf qtwebview qt5compat qtwebchannel qtpositioning qtlocation qtsensors \ - --outputdir "${QT_BASE_DIR:-/opt/Qt}" - - log_info "Qt6 packages installed successfully" -} - require_command docker if [[ ! -f ".envrc" ]]; then @@ -736,35 +301,18 @@ set -a source ".envrc" set +a -BUILD_ALL="${BUILD_ALL:-ON}" -BUILD_SV="${BUILD_SV:-ON}" -BUILD_WS="${BUILD_WS:-ON}" -BUILD_AAR="${BUILD_AAR:-ON}" -# RELEASE_BUILD: for first Qt6 release - only build TetraIF, Z, Lts/Common (excludes LtsElevation) -RELEASE_BUILD="${RELEASE_BUILD:-ON}" -# For release: BUILD_RTI=OFF to avoid requiring Lts/Services/GROUP1 (ddscore) -BUILD_RTI="${BUILD_RTI:-OFF}" -BUILD_GRANTLEE="${BUILD_GRANTLEE:-ON}" -BUILD_ARCGIS="${BUILD_ARCGIS:-OFF}" -BUILD_CODIFICATION="${BUILD_CODIFICATION:-OFF}" -# For release: only GROUP3 (Z/TetraIF, which depends on Lts/Common) -# Note: GROUP5 is Viewer (not in release scope), GROUP11 is Lts/Application (not in release scope) -# Z components are in GROUP3, Lts/Common is built as dependency of GROUP3 targets -BUILD_GROUP1="${BUILD_GROUP1:-OFF}" -BUILD_GROUP2="${BUILD_GROUP2:-OFF}" -BUILD_GROUP3="${BUILD_GROUP3:-ON}" -BUILD_GROUP4="${BUILD_GROUP4:-OFF}" -BUILD_GROUP5="${BUILD_GROUP5:-OFF}" -BUILD_GROUP6="${BUILD_GROUP6:-OFF}" -BUILD_GROUP7="${BUILD_GROUP7:-OFF}" -BUILD_GROUP8="${BUILD_GROUP8:-OFF}" -BUILD_GROUP9="${BUILD_GROUP9:-OFF}" -BUILD_GROUP10="${BUILD_GROUP10:-OFF}" -BUILD_GROUP11="${BUILD_GROUP11:-OFF}" -BUILD_VIEWER_ONLY="${BUILD_VIEWER_ONLY:-OFF}" -RUN_CTEST="${RUN_CTEST:-ON}" -TESTS_ONLY="${TESTS_ONLY:-OFF}" -INTEGRATION_TEST="${INTEGRATION_TEST:-OFF}" +# Fixed configuration for the release validation-scope branch +RELEASE_BUILD=ON +BUILD_RTI=OFF +BUILD_GRANTLEE=ON +BUILD_ARCGIS=OFF +BUILD_VIEWER_ONLY=OFF +BUILD_CODIFICATION=OFF +BUILD_ALL=ON +BUILD_SV=ON +BUILD_WS=ON +BUILD_AAR=ON +RUN_CTEST=ON USE_PREBUILT_IMAGE="${USE_PREBUILT_IMAGE:-OFF}" BUILD_PREBUILT_IMAGE="${BUILD_PREBUILT_IMAGE:-OFF}" DELETE_PREBUILT_IMAGE="${DELETE_PREBUILT_IMAGE:-OFF}" @@ -782,119 +330,8 @@ export QT_ARCH="${QT_ARCH:-linux_gcc_64}" export QT_ARCH_DIR="${QT_ARCH_DIR:-gcc_64}" export QT_BASE_DIR="${QT_BASE_DIR:-/opt/Qt}" -if [[ $# -gt 0 ]]; then - case "$1" in - ON|OFF) - BUILD_RTI="$1" - shift - ;; - esac -fi - while [[ $# -gt 0 ]]; do case "$1" in - --group1) - BUILD_GROUP1=ON - ;; - --no-group1) - BUILD_GROUP1=OFF - ;; - --group2) - BUILD_GROUP2=ON - ;; - --no-group2) - BUILD_GROUP2=OFF - ;; - --group3) - BUILD_GROUP3=ON - ;; - --no-group3) - BUILD_GROUP3=OFF - ;; - --group4) - BUILD_GROUP4=ON - ;; - --no-group4) - BUILD_GROUP4=OFF - ;; - --group5) - BUILD_GROUP5=ON - ;; - --no-group5) - BUILD_GROUP5=OFF - ;; - --group6) - BUILD_GROUP6=ON - ;; - --no-group6) - BUILD_GROUP6=OFF - ;; - --group7) - BUILD_GROUP7=ON - ;; - --no-group7) - BUILD_GROUP7=OFF - ;; - --group8) - BUILD_GROUP8=ON - ;; - --no-group8) - BUILD_GROUP8=OFF - ;; - --group9) - BUILD_GROUP9=ON - ;; - --no-group9) - BUILD_GROUP9=OFF - ;; - --group10) - BUILD_GROUP10=ON - ;; - --no-group10) - BUILD_GROUP10=OFF - ;; - --group11) - BUILD_GROUP11=ON - ;; - --no-group11) - BUILD_GROUP11=OFF - ;; - --build-viewer-only) - BUILD_VIEWER_ONLY=ON - BUILD_GROUP5=ON - BUILD_CODIFICATION=ON - RUN_CTEST=ON - ;; - --grantlee) - BUILD_GRANTLEE=ON - ;; - --no-grantlee) - BUILD_GRANTLEE=OFF - ;; - --arcgis) - BUILD_ARCGIS=ON - ;; - --no-arcgis) - BUILD_ARCGIS=OFF - ;; - --codification) - BUILD_CODIFICATION=ON - ;; - --no-codification) - BUILD_CODIFICATION=OFF - ;; - --no-ctest) - RUN_CTEST=OFF - ;; - --tests-only) - TESTS_ONLY=ON - ;; - --integration-test) - INTEGRATION_TEST=ON - ;; - --verify-rpm) - VERIFY_RPM=ON - ;; --use-prebuilt-image) USE_PREBUILT_IMAGE=ON ;; @@ -957,236 +394,19 @@ while [[ $# -gt 0 ]]; do shift done -# Set defaults for variables not set by command-line arguments -BUILD_RTI="${BUILD_RTI:-ON}" -BUILD_GROUP1="${BUILD_GROUP1:-ON}" -BUILD_GROUP2="${BUILD_GROUP2:-ON}" -BUILD_GROUP3="${BUILD_GROUP3:-ON}" -BUILD_GROUP4="${BUILD_GROUP4:-OFF}" -BUILD_GROUP5="${BUILD_GROUP5:-OFF}" -BUILD_GROUP6="${BUILD_GROUP6:-OFF}" -BUILD_GROUP7="${BUILD_GROUP7:-OFF}" -BUILD_GROUP8="${BUILD_GROUP8:-OFF}" -BUILD_GROUP9="${BUILD_GROUP9:-OFF}" -BUILD_GROUP10="${BUILD_GROUP10:-OFF}" -BUILD_GROUP11="${BUILD_GROUP11:-OFF}" -RUN_CTEST="${RUN_CTEST:-ON}" -TESTS_ONLY="${TESTS_ONLY:-OFF}" -INTEGRATION_TEST="${INTEGRATION_TEST:-OFF}" -VERIFY_RPM="${VERIFY_RPM:-OFF}" -USE_PREBUILT_IMAGE="${USE_PREBUILT_IMAGE:-OFF}" -BUILD_PREBUILT_IMAGE="${BUILD_PREBUILT_IMAGE:-OFF}" -DELETE_PREBUILT_IMAGE="${DELETE_PREBUILT_IMAGE:-OFF}" - -BUILD_ALL="$(normalize_on_off "$BUILD_ALL" "BUILD_ALL")" -BUILD_RTI="$(normalize_on_off "$BUILD_RTI" "BUILD_RTI")" -BUILD_GRANTLEE="$(normalize_on_off "$BUILD_GRANTLEE" "BUILD_GRANTLEE")" -BUILD_ARCGIS="$(normalize_on_off "$BUILD_ARCGIS" "BUILD_ARCGIS")" -BUILD_CODIFICATION="$(normalize_on_off "$BUILD_CODIFICATION" "BUILD_CODIFICATION")" -BUILD_GROUP1="$(normalize_on_off "$BUILD_GROUP1" "BUILD_GROUP1")" -BUILD_GROUP2="$(normalize_on_off "$BUILD_GROUP2" "BUILD_GROUP2")" -BUILD_GROUP3="$(normalize_on_off "$BUILD_GROUP3" "BUILD_GROUP3")" -BUILD_GROUP4="$(normalize_on_off "$BUILD_GROUP4" "BUILD_GROUP4")" -BUILD_GROUP5="$(normalize_on_off "$BUILD_GROUP5" "BUILD_GROUP5")" -BUILD_GROUP6="$(normalize_on_off "$BUILD_GROUP6" "BUILD_GROUP6")" -BUILD_GROUP7="$(normalize_on_off "$BUILD_GROUP7" "BUILD_GROUP7")" -BUILD_GROUP8="$(normalize_on_off "$BUILD_GROUP8" "BUILD_GROUP8")" -BUILD_GROUP9="$(normalize_on_off "$BUILD_GROUP9" "BUILD_GROUP9")" -BUILD_GROUP10="$(normalize_on_off "$BUILD_GROUP10" "BUILD_GROUP10")" -BUILD_GROUP11="$(normalize_on_off "$BUILD_GROUP11" "BUILD_GROUP11")" -BUILD_VIEWER_ONLY="$(normalize_on_off "$BUILD_VIEWER_ONLY" "BUILD_VIEWER_ONLY")" -RUN_CTEST="$(normalize_on_off "$RUN_CTEST" "RUN_CTEST")" -TESTS_ONLY="$(normalize_on_off "$TESTS_ONLY" "TESTS_ONLY")" -INTEGRATION_TEST="$(normalize_on_off "$INTEGRATION_TEST" "INTEGRATION_TEST")" -VERIFY_RPM="$(normalize_on_off "$VERIFY_RPM" "VERIFY_RPM")" USE_PREBUILT_IMAGE="$(normalize_on_off "$USE_PREBUILT_IMAGE" "USE_PREBUILT_IMAGE")" BUILD_PREBUILT_IMAGE="$(normalize_on_off "$BUILD_PREBUILT_IMAGE" "BUILD_PREBUILT_IMAGE")" DELETE_PREBUILT_IMAGE="$(normalize_on_off "$DELETE_PREBUILT_IMAGE" "DELETE_PREBUILT_IMAGE")" +RUN_JENKINS_BUILDER="$(normalize_on_off "$RUN_JENKINS_BUILDER" "RUN_JENKINS_BUILDER")" -# Set DOCKER_IMAGE default after argument parsing -if [[ "${USE_PREBUILT_IMAGE}" == "ON" ]]; then - DOCKER_IMAGE="${DOCKER_IMAGE:-legatus-qt6-prebuilt:latest}" -else - DOCKER_IMAGE="${DOCKER_IMAGE:-legatus-qt6-prebuilt:latest}" -fi +# Default for the Docker image name +DOCKER_IMAGE="${DOCKER_IMAGE:-legatus-qt6-prebuilt:latest}" # Default for extra CMake flags (set via --cmake_build_flags or environment) CMAKE_BUILD_FLAGS="${CMAKE_BUILD_FLAGS:-}" # Export variables for Docker container -export BUILD_ALL BUILD_RTI BUILD_GRANTLEE BUILD_ARCGIS BUILD_CODIFICATION BUILD_GROUP1 BUILD_GROUP2 BUILD_GROUP3 BUILD_GROUP4 BUILD_GROUP5 BUILD_GROUP6 BUILD_GROUP7 BUILD_GROUP8 BUILD_GROUP9 BUILD_GROUP10 BUILD_GROUP11 BUILD_VIEWER_ONLY RUN_CTEST TESTS_ONLY INTEGRATION_TEST VERIFY_RPM USE_PREBUILT_IMAGE BUILD_PREBUILT_IMAGE DELETE_PREBUILT_IMAGE DOCKER_IMAGE CMAKE_BUILD_FLAGS RELEASE_BUILD RUN_JENKINS_BUILDER PACKAGE_OUTPUT_DIR LTS_VERSION PROJECT GUEZ_MODE BUILD_NUMBER BUILD_TAG - -# Group 5: Viewer module targets (conditional on BUILD_ARCGIS) -# Note: LtsFileDialog excluded from viewer-only builds due to Group 4 dependencies (svcExmCommon, svcOpmCommon, svcFlmCommon) -if [[ "${BUILD_ARCGIS}" == "ON" ]]; then - if [[ "${BUILD_VIEWER_ONLY}" == "ON" ]]; then - # Viewer-only build: exclude LtsFileDialog (requires Group 4 services) - GROUP5_TARGETS=( - # Viewer module with ArcGIS (viewer-only subset) - situationMapCommon - advancedSymbology - advancedSymbologyXML - LtsDataView - LtsDataViewTest - ) - else - GROUP5_TARGETS=( - # Viewer module with ArcGIS (full build) - situationMapCommon - advancedSymbology - advancedSymbologyXML - LtsDataView - LtsDataViewTest - LtsFileDialog - LtsFileDialogTest - ) - fi -else - if [[ "${BUILD_VIEWER_ONLY}" == "ON" ]]; then - # Viewer-only build: exclude LtsFileDialog (requires Group 4 services) - GROUP5_TARGETS=( - # Viewer module without ArcGIS (viewer-only subset, advancedSymbology requires ArcGIS) - situationMapCommon - advancedSymbologyXML - LtsDataView - LtsDataViewTest - ) - else - GROUP5_TARGETS=( - # Viewer module without ArcGIS (full build) - situationMapCommon - advancedSymbologyXML - LtsDataView - LtsDataViewTest - LtsFileDialog - LtsFileDialogTest - ) - fi -fi - -# LtsReportDisplay only exists when BUILD_CODIFICATION=ON (the module -# RETURN()s otherwise); requesting the target unconditionally aborts make -# with "No rule to make target" -if [[ "${BUILD_CODIFICATION}" == "ON" ]]; then - GROUP5_TARGETS+=("LtsReportDisplay") -fi - -# Group 6: LTS Tools (Qt6 migration targets) -# These tools require RTI DDS for DataSampleGenerator, DataSampleReceiver, and DdsView -GROUP6_TARGETS=( - dbAdministration - SettingsRemover - dbUpdate - tDataSampleGenerator - tDataSampleReceiver - DateTimeSyncer - ddsview - # ddsview runtime topic-type plugins (39 *TopicTypePlugin.so). Not CMake link deps of - # ddsview (loaded at runtime via LtsPluginLoader), so `make ddsview` alone skips them and - # ddsview shows empty Data/Function topic lists. Built here alongside ddsview. - aesTopicTypePlugin - almTopicTypePlugin - asmTopicTypePlugin - avmTopicTypePlugin - bldTopicTypePlugin - cesTopicTypePlugin - cmoTopicTypePlugin - codTopicTypePlugin - coreTopicTypePlugin - eemTopicTypePlugin - escTopicTypePlugin - esmTopicTypePlugin - evlTopicTypePlugin - exmTopicTypePlugin - flmTopicTypePlugin - fltTopicTypePlugin - gimTopicTypePlugin - gnaTopicTypePlugin - ismTopicTypePlugin - mdmTopicTypePlugin - mrkTopicTypePlugin - msgTopicTypePlugin - nmeTopicTypePlugin - nomTopicTypePlugin - obdTopicTypePlugin - opmTopicTypePlugin - oscTopicTypePlugin - ossTopicTypePlugin - pdmTopicTypePlugin - ppmTopicTypePlugin - preTopicTypePlugin - repTopicTypePlugin - scmTopicTypePlugin - somTopicTypePlugin - srpTopicTypePlugin - tabTopicTypePlugin - tabocTopicTypePlugin - tgtTopicTypePlugin - whgTopicTypePlugin - displayPanelSimulator - LicenceEditor - localDomainFinder - LogViewer - CoPrtCnv - PrtCnvLib - PrtCnv -) - -# Group 7: LTS Tools A,B,C,E,I directories (Qt6 migration targets) -GROUP7_TARGETS=( - AdlerWebSocketSimulator - # AsmWorkstationCertifier - requires botan2 (not available in prebuilt image); target not generated - CnrProxyTester - ConfigX - EEMFakeServer - egcuSimulator -) - -# Group 8: LTS Tools J,M,N,P,Q directories (Qt6 migration targets) -GROUP8_TARGETS=( - ParticipantDataGenerator - ProjectSettingsEditor - qledline - qledmatrix -) - -# Group 9: LTS Tools R,S,T,V,W directories (Qt6 migration targets) -GROUP9_TARGETS=( - RestClientUi - ScreenIdShow - SerialToTcpConverter - Splash - sqlbrowser - textEditorTest - ctime - stime - topicdiscover - topicdiscoverexe - # TrajectoryWidget - standalone sub-project (own project()/find_package), not part of the main build - vapixconfig - # VideoImport - subdir commented out in Lts/Tools/CMakeLists.txt - wlsRandomPositions -) - -# Group 10: LTS Projects (Qt6 migration targets) -GROUP10_TARGETS=( - ProjectGuezPlugin - ProjectQatarMOUTPlugin - ProjectQatarPlugin - ProjectLegatusPlugin - ProjectDemoTabletPlugin - ProjectL400P2Plugin - ProjectComMasterPlugin - ProjectAhtcPlugin - ProjectEtsPlugin -) - -# Group 11: LTS Application (Qt6 migration targets) -GROUP11_TARGETS=( - OperatorApplication - # thp_viewer - Lts/Application/THP subdir commented out (VLC dependency unavailable) - aarApp -) +export RELEASE_BUILD BUILD_RTI BUILD_GRANTLEE BUILD_CODIFICATION BUILD_ALL BUILD_SV BUILD_WS BUILD_AAR RUN_CTEST USE_PREBUILT_IMAGE BUILD_PREBUILT_IMAGE DELETE_PREBUILT_IMAGE DOCKER_IMAGE CMAKE_BUILD_FLAGS RUN_JENKINS_BUILDER PACKAGE_OUTPUT_DIR LTS_VERSION PROJECT GUEZ_MODE BUILD_NUMBER BUILD_TAG require_non_empty "${DOCKER_IMAGE}" "DOCKER_IMAGE" @@ -1205,41 +425,20 @@ PROJECT_DIR_HOST="${WORKSPACE_ROOT_HOST}/qt-migration-legatus/qt6-after/qt6-migr require_file "${RTI_LICENSE_FILE_HOST}" "RTI license file" require_directory "${PROJECT_DIR_HOST}" "Project directory" -if [[ "$TESTS_ONLY" == "ON" ]]; then - BUILD_GROUP1=OFF - BUILD_GROUP2=OFF - BUILD_GROUP3=OFF - RUN_CTEST=ON -fi - -# Release builds: CTest enabled for tests within release scope (Lts/Common + Z) -# Tests in excluded modules (GROUP1, GROUP2, GROUP4, GROUP5, GROUP11) will not be built -if [[ "$RELEASE_BUILD" == "ON" ]]; then - # CTest runs if tests are available in built modules - # Lts/Common and Z modules may include tests (e.g., ngltools_qt_smoke, coordTransTests) - RUN_CTEST="${RUN_CTEST:-ON}" -fi - +log_info "RELEASE_BUILD=${RELEASE_BUILD}" log_info "BUILD_RTI=${BUILD_RTI}" -log_group "Build Group 1 (ddscore ddsftccore ddsQoS ddsconnector ddsfts)" "$BUILD_GROUP1" -log_group "Build Group 2 (migration_tests)" "$BUILD_GROUP2" -log_group "Build Group 3 (application + service targets)" "$BUILD_GROUP3" -log_group "Build Group 4 (DDS tests + Proxies)" "$BUILD_GROUP4" -log_group "Build Group 5 (Viewer)" "$BUILD_GROUP5" -log_group "Build Group 6 (LTS Tools)" "$BUILD_GROUP6" -log_group "Build Group 7 (LTS Tools A,B,C,E,I)" "$BUILD_GROUP7" -log_group "Build Group 8 (LTS Tools J,M,N,P,Q)" "$BUILD_GROUP8" -log_group "Build Group 9 (LTS Tools R,S,T,V,W)" "$BUILD_GROUP9" -log_group "Build Group 10 (LTS Projects)" "$BUILD_GROUP10" -log_group "Build Group 11 (LTS Application)" "$BUILD_GROUP11" -log_info "BUILD_VIEWER_ONLY=${BUILD_VIEWER_ONLY}" log_info "RUN_CTEST=${RUN_CTEST}" -log_info "TESTS_ONLY=${TESTS_ONLY}" -log_info "INTEGRATION_TEST=${INTEGRATION_TEST}" log_info "USE_PREBUILT_IMAGE=${USE_PREBUILT_IMAGE}" log_info "BUILD_PREBUILT_IMAGE=${BUILD_PREBUILT_IMAGE}" log_info "DELETE_PREBUILT_IMAGE=${DELETE_PREBUILT_IMAGE}" log_info "DOCKER_IMAGE=${DOCKER_IMAGE}" +log_info "RUN_JENKINS_BUILDER=${RUN_JENKINS_BUILDER}" +log_info "PACKAGE_OUTPUT_DIR=${PACKAGE_OUTPUT_DIR}" +log_info "LTS_VERSION=${LTS_VERSION}" +log_info "PROJECT=${PROJECT}" +log_info "GUEZ_MODE=${GUEZ_MODE}" +log_info "BUILD_NUMBER=${BUILD_NUMBER}" +log_info "BUILD_TAG=${BUILD_TAG}" log_info "MIGRATE_PIPELINE_ROOT=${MIGRATE_PIPELINE_ROOT}" log_info "RTI_LICENSE_FILE_HOST=${RTI_LICENSE_FILE_HOST}" log_info "PROJECT_DIR_HOST=${PROJECT_DIR_HOST}" @@ -1258,22 +457,7 @@ if [[ "${BUILD_PREBUILT_IMAGE}" == "ON" ]]; then log_info "Continuing with freshly built prebuilt image: ${DOCKER_IMAGE}" fi -GROUP1_TARGETS_STRING="$(join_by ' ' "${GROUP1_TARGETS[@]}")" -GROUP2_TARGETS_STRING="$(join_by ' ' "${GROUP2_TARGETS[@]}")" -# Use release-specific targets when RELEASE_BUILD=ON -if [[ "${RELEASE_BUILD}" == "ON" ]]; then - GROUP3_TARGETS_STRING="$(join_by ' ' "${RELEASE_GROUP3_TARGETS[@]}")" -else - GROUP3_TARGETS_STRING="$(join_by ' ' "${GROUP3_TARGETS[@]}")" -fi -GROUP4_TARGETS_STRING="$(join_by ' ' "${GROUP4_TARGETS[@]}")" -GROUP5_TARGETS_STRING="$(join_by ' ' "${GROUP5_TARGETS[@]}")" -GROUP6_TARGETS_STRING="$(join_by ' ' "${GROUP6_TARGETS[@]}")" -GROUP7_TARGETS_STRING="$(join_by ' ' "${GROUP7_TARGETS[@]}")" -GROUP8_TARGETS_STRING="$(join_by ' ' "${GROUP8_TARGETS[@]}")" -GROUP9_TARGETS_STRING="$(join_by ' ' "${GROUP9_TARGETS[@]}")" -GROUP10_TARGETS_STRING="$(join_by ' ' "${GROUP10_TARGETS[@]}")" -GROUP11_TARGETS_STRING="$(join_by ' ' "${GROUP11_TARGETS[@]}")" +RELEASE_BUILD_TARGETS_STRING="$(join_by ' ' "${RELEASE_BUILD_TARGETS[@]}")" HOST_TEMP_DIR="$(mktemp -d)" CONTAINER_SCRIPT_HOST="${HOST_TEMP_DIR}/run-build-inside-container.sh" @@ -1286,30 +470,19 @@ cat > "${CONTAINER_SCRIPT_HOST}" <<'EOF' #!/usr/bin/env bash set -euo pipefail -# Default variable assignments to prevent unbound variable errors -USE_PREBUILT_IMAGE="${USE_PREBUILT_IMAGE:-OFF}" +# Fixed configuration for the release validation-scope branch +RELEASE_BUILD="${RELEASE_BUILD:-ON}" +BUILD_RTI="${BUILD_RTI:-OFF}" +BUILD_GRANTLEE="${BUILD_GRANTLEE:-ON}" +BUILD_ARCGIS="${BUILD_ARCGIS:-OFF}" +BUILD_VIEWER_ONLY="${BUILD_VIEWER_ONLY:-OFF}" +BUILD_CODIFICATION="${BUILD_CODIFICATION:-OFF}" BUILD_ALL="${BUILD_ALL:-ON}" BUILD_SV="${BUILD_SV:-ON}" BUILD_WS="${BUILD_WS:-ON}" BUILD_AAR="${BUILD_AAR:-ON}" -BUILD_RTI="${BUILD_RTI:-ON}" -BUILD_GRANTLEE="${BUILD_GRANTLEE:-ON}" -BUILD_ARCGIS="${BUILD_ARCGIS:-OFF}" -BUILD_GROUP1="${BUILD_GROUP1:-ON}" -BUILD_GROUP2="${BUILD_GROUP2:-ON}" -BUILD_GROUP3="${BUILD_GROUP3:-ON}" -BUILD_GROUP4="${BUILD_GROUP4:-OFF}" -BUILD_GROUP5="${BUILD_GROUP5:-OFF}" -BUILD_GROUP6="${BUILD_GROUP6:-OFF}" -BUILD_GROUP7="${BUILD_GROUP7:-OFF}" -BUILD_GROUP8="${BUILD_GROUP8:-OFF}" -BUILD_GROUP9="${BUILD_GROUP9:-OFF}" -BUILD_GROUP10="${BUILD_GROUP10:-OFF}" -BUILD_GROUP11="${BUILD_GROUP11:-OFF}" -BUILD_VIEWER_ONLY="${BUILD_VIEWER_ONLY:-OFF}" RUN_CTEST="${RUN_CTEST:-ON}" -TESTS_ONLY="${TESTS_ONLY:-OFF}" -INTEGRATION_TEST="${INTEGRATION_TEST:-OFF}" +USE_PREBUILT_IMAGE="${USE_PREBUILT_IMAGE:-OFF}" APT_PACKAGES_STRING="${APT_PACKAGES_STRING:-}" # Jenkins builder and packaging variables RUN_JENKINS_BUILDER="${RUN_JENKINS_BUILDER:-OFF}" @@ -1320,26 +493,12 @@ PROJECT="${PROJECT:-guez}" GUEZ_MODE="${GUEZ_MODE:-ON}" BUILD_NUMBER="${BUILD_NUMBER:-1}" BUILD_TAG="${BUILD_TAG:-manual-build}" -BUILD_CODIFICATION="${BUILD_CODIFICATION:-OFF}" -VERIFY_RPM="${VERIFY_RPM:-OFF}" CMAKE_BUILD_FLAGS="${CMAKE_BUILD_FLAGS:-}" -echo "CONTAINER DEBUG: RUN_JENKINS_BUILDER=${RUN_JENKINS_BUILDER}" -# RELEASE_BUILD already set above at line 745 - don't overwrite +RELEASE_BUILD_TARGETS="${RELEASE_BUILD_TARGETS:-}" QT_VERSION="${QT_VERSION:-6.10.2}" QT_ARCH="${QT_ARCH:-linux_gcc_64}" QT_ARCH_DIR="${QT_ARCH_DIR:-gcc_64}" QT_BASE_DIR="${QT_BASE_DIR:-/opt/Qt}" -GROUP1_TARGETS="${GROUP1_TARGETS:-}" -GROUP2_TARGETS="${GROUP2_TARGETS:-}" -GROUP3_TARGETS="${GROUP3_TARGETS:-}" -GROUP4_TARGETS="${GROUP4_TARGETS:-}" -GROUP5_TARGETS="${GROUP5_TARGETS:-}" -GROUP6_TARGETS="${GROUP6_TARGETS:-}" -GROUP7_TARGETS="${GROUP7_TARGETS:-}" -GROUP8_TARGETS="${GROUP8_TARGETS:-}" -GROUP9_TARGETS="${GROUP9_TARGETS:-}" -GROUP10_TARGETS="${GROUP10_TARGETS:-}" -GROUP11_TARGETS="${GROUP11_TARGETS:-}" log_info() { printf 'INFO: %s\n' "$*" @@ -1349,50 +508,26 @@ log_error() { printf 'ERROR: %s\n' "$*" >&2 } -log_warn() { - printf 'WARNING: %s\n' "$*" >&2 -} - install_qt6_packages() { log_info "Installing Qt6 packages via aqtinstall" - + # Install aqtinstall if not available if ! command -v aqt &> /dev/null; then log_info "Installing aqtinstall via pip3" pip3 install --break-system-packages --quiet aqtinstall fi - - # Install Qt6 modules (same as app/Dockerfile) - # Modules: qtmultimedia, qtserialport, qtimageformats, qtwebsockets, qtwebengine, - # qtpdf, qtwebview, qt5compat, qtwebchannel, qtpositioning, qtlocation, qtsensors + + # Install Qt6 modules (same as the prebuilt-image Dockerfile) # Note: qtsvg is NOT available via aqtinstall - it's provided by libqt6svg6-dev apt package - aqt install-qt linux desktop "${QT_VERSION:-6.10.2}" "${QT_ARCH:-linux_gcc_64}" \ + aqt install-qt linux desktop "${QT_VERSION}" "${QT_ARCH}" \ -m qtmultimedia qtserialport qtimageformats qtwebsockets qtwebengine \ qtpdf qtwebview qt5compat qtwebchannel qtpositioning qtlocation qtsensors \ - --outputdir "${QT_BASE_DIR:-/opt/Qt}" - + --outputdir "${QT_BASE_DIR}" + log_info "Qt6 packages installed successfully" } -run_build_group() { - local group_id="$1" - local enabled="$2" - local log_file="$3" - shift 3 - local targets=("$@") - - if [[ "${enabled}" == "ON" ]]; then - log_info "Building ${group_id}: ${targets[*]}" - make -j8 "${targets[@]}" 2>&1 | tee "${log_file}" - else - log_info "Skipping ${group_id}" - fi -} - -# Ensure a local PostgreSQL DB is available for the DB tools (dbUpdate, dbAdministration, ...). -# Checks whether the server is pre-installed (baked into the image); if not, installs -# postgresql-18. Then maps EXCDBS01/EXCADB01 -> 127.0.0.1 and starts the cluster, seeding -# the roles (postgres, ctc_sv) + databases (lts_ets_pro, dbAdmin) the tools connect with. +# Ensure a local PostgreSQL DB is available. # Entirely non-fatal: a DB problem must never abort the build. ensure_database() { log_info "Checking for a pre-installed PostgreSQL server..." @@ -1424,7 +559,7 @@ ensure_database() { if pg_isready -h 127.0.0.1 -p 5432 >/dev/null 2>&1; then log_info "PostgreSQL ready on 127.0.0.1:5432 (roles postgres/ctc_sv, dbs lts_ets_pro/dbAdmin)" else - log_info "WARNING: PostgreSQL not ready on 127.0.0.1:5432 (DB tools may not connect; install may have failed)" + log_info "PostgreSQL not ready on 127.0.0.1:5432 (install may have failed)" fi } @@ -1435,27 +570,17 @@ else apt-get update -qq # shellcheck disable=SC2086 apt-get install -y -qq ${APT_PACKAGES_STRING} > /dev/null 2>&1 - + # Install Qt6 packages via aqtinstall for non-prebuilt-image builds install_qt6_packages fi -# Ensure the local PostgreSQL DB (dbUpdate / dbAdministration, ...) is available before the build. +# Ensure the local PostgreSQL DB is available before the build. ensure_database export RTI_LICENSE_FILE=/workspace/rti_license.dat export QT_QPA_PLATFORM=offscreen -# Setup ArcGIS SDK if enabled -if [[ "${BUILD_ARCGIS}" == "ON" ]]; then - log_info "Setting up ArcGIS SDK" - if [[ -f "/workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus/install_arcgis.sh" ]]; then - bash /workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus/install_arcgis.sh - else - log_info "install_arcgis.sh not found, skipping ArcGIS SDK setup" - fi -fi - cd /workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus rm -rf build4 @@ -1477,52 +602,16 @@ cmake .. \ ${CMAKE_BUILD_FLAGS:-} \ -DCMAKE_CXX_STANDARD=17 \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_PREFIX_PATH="${QT_BASE_DIR}/${QT_VERSION}/${QT_ARCH_DIR}${BUILD_ARCGIS:+;/workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus/external/ArcGIS/MapsSDK_Qt_300.0.0/ArcGIS_Maps_SDK_Qt_300.0.0/qt300.0.0/sdk};/usr/local" + -DCMAKE_PREFIX_PATH="${QT_BASE_DIR}/${QT_VERSION}/${QT_ARCH_DIR}:/usr/local" -read -r -a GROUP1_ARRAY <<< "${GROUP1_TARGETS}" -read -r -a GROUP2_ARRAY <<< "${GROUP2_TARGETS}" -read -r -a GROUP3_ARRAY <<< "${GROUP3_TARGETS}" -read -r -a GROUP4_ARRAY <<< "${GROUP4_TARGETS}" -read -r -a GROUP5_ARRAY <<< "${GROUP5_TARGETS}" -read -r -a GROUP6_ARRAY <<< "${GROUP6_TARGETS}" -read -r -a GROUP7_ARRAY <<< "${GROUP7_TARGETS}" -read -r -a GROUP8_ARRAY <<< "${GROUP8_TARGETS}" -read -r -a GROUP9_ARRAY <<< "${GROUP9_TARGETS}" -read -r -a GROUP10_ARRAY <<< "${GROUP10_TARGETS}" -read -r -a GROUP11_ARRAY <<< "${GROUP11_TARGETS}" +read -r -a RELEASE_TARGETS_ARRAY <<< "${RELEASE_BUILD_TARGETS}" -if [[ "${TESTS_ONLY}" != "ON" ]]; then - if [[ "${BUILD_VIEWER_ONLY}" == "ON" ]]; then - log_info "BUILD_VIEWER_ONLY enabled - skipping Groups 1-4, building only Viewer module targets" - BUILD_GROUP1=OFF - BUILD_GROUP2=OFF - BUILD_GROUP3=OFF - BUILD_GROUP4=OFF - BUILD_GROUP5=ON - fi - run_build_group "Group 1" "${BUILD_GROUP1}" "group1_build.log" "${GROUP1_ARRAY[@]}" - run_build_group "Group 4 (DDS tests + Proxies)" "${BUILD_GROUP4}" "group4_build.log" "${GROUP4_ARRAY[@]}" - run_build_group "Group 2" "${BUILD_GROUP2}" "group2_build.log" "${GROUP2_ARRAY[@]}" - run_build_group "Group 3" "${BUILD_GROUP3}" "group3_build.log" "${GROUP3_ARRAY[@]}" - run_build_group "Group 5 (Viewer)" "${BUILD_GROUP5}" "group5_build.log" "${GROUP5_ARRAY[@]}" - run_build_group "Group 6 (LTS Tools)" "${BUILD_GROUP6}" "group6_build.log" "${GROUP6_ARRAY[@]}" - run_build_group "Group 7 (LTS Tools A,B,C,E,I)" "${BUILD_GROUP7}" "group7_build.log" "${GROUP7_ARRAY[@]}" - run_build_group "Group 8 (LTS Tools J,M,N,P,Q)" "${BUILD_GROUP8}" "group8_build.log" "${GROUP8_ARRAY[@]}" - run_build_group "Group 9 (LTS Tools R,S,T,V,W)" "${BUILD_GROUP9}" "group9_build.log" "${GROUP9_ARRAY[@]}" - run_build_group "Group 10 (LTS Projects)" "${BUILD_GROUP10}" "group10_build.log" "${GROUP10_ARRAY[@]}" - run_build_group "Group 11 (LTS Application)" "${BUILD_GROUP11}" "group11_build.log" "${GROUP11_ARRAY[@]}" -else - log_info "TESTS_ONLY enabled - skipping all build groups" -fi +log_info "Building release scope targets: ${RELEASE_TARGETS_ARRAY[*]}" +make -j8 "${RELEASE_TARGETS_ARRAY[@]}" 2>&1 | tee release_build.log if [[ "${RUN_CTEST}" == "ON" ]]; then - if [[ "${INTEGRATION_TEST}" == "ON" ]]; then - log_info "Running integration tests (Z-module + Proxies)" - ctest --test-dir . --output-on-failure -R "(test_z_|bld_|tab_|wls_)" || CTEST_RESULT=$? - else - log_info "Running CTest" - ctest --test-dir . --output-on-failure || CTEST_RESULT=$? - fi + log_info "Running CTest" + ctest --test-dir . --output-on-failure || CTEST_RESULT=$? if [[ "${CTEST_RESULT:-0}" -ne 0 ]]; then log_info "CTest completed with failures (exit code: ${CTEST_RESULT})" fi @@ -1530,15 +619,15 @@ else log_info "Skipping CTest" fi -# Jenkins builder execution (optional - produces RPM/DEB packages) +# Jenkins builder execution (produces the release DEB packages) if [[ "${RUN_JENKINS_BUILDER}" == "ON" ]]; then log_info "=== Jenkins Builder Execution (RPM/DEB Package Production) ===" - + # Set up environment variables for jenkins_builder_ubuntu26.sh export OS_VERSION=$(cat /etc/os-release | grep "^VERSION_ID=" | cut -d'"' -f2) export WORKSPACE=/workspace export PROJECT_BASE_DIR=/workspace - + log_info "Running jenkins_builder_ubuntu26.sh with:" log_info " PROJECT=${PROJECT}" log_info " OS_VERSION=${OS_VERSION}" @@ -1548,7 +637,7 @@ if [[ "${RUN_JENKINS_BUILDER}" == "ON" ]]; then log_info " PROJECT_BASE_DIR=${PROJECT_BASE_DIR}" log_info " BUILD_NUMBER=${BUILD_NUMBER}" log_info " BUILD_TAG=${BUILD_TAG}" - + # Execute jenkins_builder_ubuntu26.sh if [[ -f "${MIGRATE_PIPELINE_ROOT}/jenkins-ci-rme/jenkins_builder_ubuntu26.sh" ]]; then bash "${MIGRATE_PIPELINE_ROOT}/jenkins-ci-rme/jenkins_builder_ubuntu26.sh" || JENKINS_BUILDER_RESULT=$? @@ -1564,81 +653,23 @@ if [[ "${RUN_JENKINS_BUILDER}" == "ON" ]]; then else log_info "Skipping Jenkins builder execution" fi - -# RPM/DEB package verification (optional) -if [[ "${VERIFY_RPM}" == "ON" ]]; then - log_info "=== Package Verification (RPM/DEB) ===" - # Check for generated packages in common output locations - PACKAGE_FOUND=0 - - # Check for DEB packages (jenkins_builder.sh output) - if [[ -d "/workspace/rpms" ]]; then - DEB_COUNT=$(find /workspace/rpms -name "*.deb" -type f 2>/dev/null | wc -l) - if [[ "${DEB_COUNT}" -gt 0 ]]; then - log_info "Found ${DEB_COUNT} DEB package(s):" - find /workspace/rpms -name "*.deb" -type f 2>/dev/null | while read -r deb_file; do - log_info " - $(basename "${deb_file}")" - done - PACKAGE_FOUND=1 - fi - fi - - # Check for RPM packages (rpmbuild output) - if [[ -d "/workspace/build/rpm" ]]; then - RPM_COUNT=$(find /workspace/build/rpm -name "*.rpm" -type f 2>/dev/null | wc -l) - if [[ "${RPM_COUNT}" -gt 0 ]]; then - log_info "Found ${RPM_COUNT} RPM package(s):" - find /workspace/build/rpm -name "*.rpm" -type f 2>/dev/null | while read -r rpm_file; do - log_info " - $(basename "${rpm_file}")" - done - PACKAGE_FOUND=1 - fi - fi - - if [[ "${PACKAGE_FOUND}" -eq 1 ]]; then - log_info "Package verification: SUCCESS" - else - log_info "No packages found (this is expected for CMake-only builds without jenkins_builder.sh)" - log_info "Package verification: SKIPPED (no package build step in this configuration)" - fi -else - log_info "Skipping package verification" -fi EOF chmod +x "${CONTAINER_SCRIPT_HOST}" -log_info "DEBUG: RUN_JENKINS_BUILDER=${RUN_JENKINS_BUILDER} before docker run" - docker run --rm \ -e MIGRATE_PIPELINE_ROOT \ -e LANG \ -e LC_ALL \ + -e RELEASE_BUILD \ + -e BUILD_RTI \ + -e BUILD_GRANTLEE \ + -e BUILD_CODIFICATION \ -e BUILD_ALL \ -e BUILD_SV \ -e BUILD_WS \ -e BUILD_AAR \ - -e BUILD_RTI \ - -e BUILD_GRANTLEE \ - -e BUILD_ARCGIS \ - -e BUILD_CODIFICATION \ - -e BUILD_GROUP1 \ - -e BUILD_GROUP2 \ - -e BUILD_GROUP3 \ - -e BUILD_GROUP4 \ - -e BUILD_GROUP5 \ - -e BUILD_GROUP6 \ - -e BUILD_GROUP7 \ - -e BUILD_GROUP8 \ - -e BUILD_GROUP9 \ - -e BUILD_GROUP10 \ - -e BUILD_GROUP11 \ - -e BUILD_VIEWER_ONLY \ - -e RELEASE_BUILD \ -e RUN_CTEST \ - -e TESTS_ONLY \ - -e INTEGRATION_TEST \ - -e VERIFY_RPM \ -e USE_PREBUILT_IMAGE \ -e RUN_JENKINS_BUILDER \ -e PACKAGE_OUTPUT_DIR \ @@ -1653,21 +684,11 @@ docker run --rm \ -e QT_ARCH_DIR \ -e QT_BASE_DIR \ -e APT_PACKAGES_STRING="${APT_PACKAGES_STRING}" \ - -e GROUP1_TARGETS="${GROUP1_TARGETS_STRING}" \ - -e GROUP2_TARGETS="${GROUP2_TARGETS_STRING}" \ - -e GROUP3_TARGETS="${GROUP3_TARGETS_STRING}" \ - -e GROUP4_TARGETS="${GROUP4_TARGETS_STRING}" \ - -e GROUP5_TARGETS="${GROUP5_TARGETS_STRING}" \ - -e GROUP6_TARGETS="${GROUP6_TARGETS_STRING}" \ - -e GROUP7_TARGETS="${GROUP7_TARGETS_STRING}" \ - -e GROUP8_TARGETS="${GROUP8_TARGETS_STRING}" \ - -e GROUP9_TARGETS="${GROUP9_TARGETS_STRING}" \ - -e GROUP10_TARGETS="${GROUP10_TARGETS_STRING}" \ - -e GROUP11_TARGETS="${GROUP11_TARGETS_STRING}" \ + -e RELEASE_BUILD_TARGETS="${RELEASE_BUILD_TARGETS_STRING}" \ -v "${WORKSPACE_ROOT_HOST}:/workspace" \ -v "${RTI_LICENSE_FILE_HOST}:/workspace/rti_license.dat" \ -v "${MIGRATE_PIPELINE_ROOT}/external:/workspace/external:ro" \ -v "${CONTAINER_SCRIPT_HOST}:/tmp/run-build-inside-container.sh:ro" \ -v "${PACKAGE_OUTPUT_DIR}:/workspace/packages-out" \ "${DOCKER_IMAGE}" \ - bash /tmp/run-build-inside-container.sh \ No newline at end of file + bash /tmp/run-build-inside-container.sh diff --git a/qt6-after/qt6-migrated-legatus/tests/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/tests/CMakeLists.txt index e0b242035..a8ce889f5 100644 --- a/qt6-after/qt6-migrated-legatus/tests/CMakeLists.txt +++ b/qt6-after/qt6-migrated-legatus/tests/CMakeLists.txt @@ -1,466 +1,4 @@ -# CMakeLists.txt für Qt6-Migrationstests -# Diese Tests validieren BUILD_RTI Guards, Qt6-Kompatibilität und RTI-Integration - -cmake_minimum_required(VERSION 3.16) - -# Qt6 finden (wird vom Hauptprojekt gesetzt, aber sicherheitshalber hier auch) -if(QT6_GUI_AVAILABLE) - # Check if targets already exist from parent CMakeLists.txt - if(TARGET Qt6::Core AND TARGET Qt6::Gui AND TARGET Qt6::Widgets AND TARGET Qt6::Test) - # Already found by parent - use existing targets - elseif(NOT TARGET Qt6::Gui OR NOT TARGET Qt6::Widgets) - # Manual fallback: create imported targets when standard find fails due to OpenGL - if(NOT TARGET Qt6::Gui) - add_library(Qt6::Gui SHARED IMPORTED) - set_target_properties(Qt6::Gui PROPERTIES - IMPORTED_LOCATION "/usr/lib/x86_64-linux-gnu/libQt6Gui.so.6" - INTERFACE_INCLUDE_DIRECTORIES "/usr/include/x86_64-linux-gnu/qt6/QtGui;/usr/include/x86_64-linux-gnu/qt6" - ) - endif() - if(NOT TARGET Qt6::Widgets) - add_library(Qt6::Widgets SHARED IMPORTED) - set_target_properties(Qt6::Widgets PROPERTIES - IMPORTED_LOCATION "/usr/lib/x86_64-linux-gnu/libQt6Widgets.so.6" - INTERFACE_INCLUDE_DIRECTORIES "/usr/include/x86_64-linux-gnu/qt6/QtWidgets;/usr/include/x86_64-linux-gnu/qt6" - INTERFACE_LINK_LIBRARIES "Qt6::Gui;Qt6::Core" - ) - endif() - else() - # Try standard find_package first, fall back to manual targets if OpenGL missing - find_package(Qt6 QUIET COMPONENTS Core Gui Widgets Test) - endif() - # Ensure Core and Test are found - if(NOT TARGET Qt6::Core) - find_package(Qt6 REQUIRED COMPONENTS Core Test) - endif() -else() - if(NOT TARGET Qt6::Core OR NOT TARGET Qt6::Test) - find_package(Qt6 REQUIRED COMPONENTS Core Test) - endif() -endif() - -# Nur bauen wenn BUILD_TESTING aktiviert ist -if(BUILD_TESTING) - # Try to find system-wide GTest first, fallback to FetchContent - find_package(GTest QUIET) - if(NOT TARGET GTest::gtest_main) - include(FetchContent) - FetchContent_Declare( - googletest - GIT_REPOSITORY https://github.com/google/googletest.git - GIT_TAG v1.13.0 - ) - # For Windows: Prevent overriding the parent project's compiler/linker settings - set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) - FetchContent_MakeAvailable(googletest) - endif() - - # Collect all test source files dynamically - file(GLOB MIGRATION_TEST_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/test_*.cpp") - - if(MIGRATION_TEST_SOURCES) - set(EXISTING_SOURCES ${MIGRATION_TEST_SOURCES}) - - # Exclude tests for non-existent or commented-out components - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_lts_app_descriptor_editor\\.cpp") - # Exclude Qt Test-based tests (conflict with gtest main()) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_lts_app_descriptor\\.cpp") - - # Exclude Grantlee-related tests when BUILD_GRANTLEE is OFF - if(NOT BUILD_GRANTLEE) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_.*Grantlee.*\\.cpp") - message(STATUS "Migration tests: Grantlee support disabled (BUILD_GRANTLEE=OFF), excluded Grantlee tests") - endif() - - # Exclude CodeGen tests when CodeGen targets aren't available (MIGRATE_MODULE restricts scope) - if(NOT TARGET codegen_base) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_StructBuilder\\.cpp") - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_SqlGenerator\\.cpp") - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_XmlReader\\.cpp") - message(STATUS "Migration tests: CodeGen targets not available, excluded CodeGen tests") - endif() - - # Exclude LtsTimelineClassic tests when LtsTimelineClassic target isn't available - if(NOT TARGET LtsTimelineClassic) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_abstracttimelinemodel\\.cpp") - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_event\\.cpp") - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_eventdelegate\\.cpp") - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_eventgraphic\\.cpp") - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_eventlist\\.cpp") - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_eventtools\\.cpp") - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_item\\.cpp") - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_ltsclassicdatamodel\\.cpp") - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_ltsclassicfilterproxymodel\\.cpp") - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_passiveeventcontainer\\.cpp") - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_testtimelinemodel\\.cpp") - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_timelineheaderview\\.cpp") - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_timelineindicator\\.cpp") - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_timelineview\\.cpp") - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_timelinewidget\\.cpp") - message(STATUS "Migration tests: LtsTimelineClassic target not available, excluded LtsTimelineClassic tests") - endif() - - # Exclude LTS Tools tests when corresponding targets aren't available - if(NOT TARGET dbAdministration) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DBAdministration\\.cpp") - endif() - if(NOT TARGET SettingsRemover) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DBOperatorSettingsRemover\\.cpp") - endif() - if(NOT TARGET dbUpdate) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DBUpdate\\.cpp") - endif() - if(NOT TARGET tDataSampleGenerator) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DataSampleGenerator\\.cpp") - endif() - if(NOT TARGET tDataSampleReceiver) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DataSampleReceiver\\.cpp") - endif() - if(NOT TARGET DateTimeSyncer) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DateTimeSyncer\\.cpp") - endif() - if(NOT TARGET ddsview) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DdsView\\.cpp") - endif() - if(NOT TARGET displayPanelSimulator) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_DotMatrixDisplay\\.cpp") - endif() - if(NOT TARGET LicenceEditor) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_LicenceEditor\\.cpp") - endif() - if(NOT TARGET localDomainFinder) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_LocalDomainFinder\\.cpp") - endif() - if(NOT TARGET LogViewer) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_LogViewer\\.cpp") - endif() - # Group 7 (A,B,C,E,I) exclusions - if(NOT TARGET AdlerWebSocketSimulator) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_AdlerWebSocketSimulator\\.cpp") - endif() - if(NOT TARGET AsmWorkstationCertifier) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_AsmWorkstationCertifier\\.cpp") - endif() - if(NOT TARGET CnrProxyTester) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_CnrProxyTester\\.cpp") - endif() - if(NOT TARGET ConfigX) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_ConfigX\\.cpp") - endif() - if(NOT TARGET EEMFakeServer) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_EEMFakeServer\\.cpp") - endif() - if(NOT TARGET egcuSimulator) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_egcuSimulator\\.cpp") - endif() - # Group 8 (J,M,N,P,Q) exclusions - if(NOT TARGET ParticipantDataGenerator) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_ParticipantDataGenerator\\.cpp") - endif() - if(NOT TARGET ProjectSettingsEditor) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_ProjectSettingsEditor\\.cpp") - endif() - if(NOT TARGET qledline) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_QLedLine\\.cpp") - endif() - if(NOT TARGET qledmatrix) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_QLedMatrix\\.cpp") - endif() - # Group 9 (R,S,T,V,W) exclusions - if(NOT TARGET RestClientUi) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_RestClientUi\\.cpp") - endif() - if(NOT TARGET ScreenIdShow) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_ScreenIdShow\\.cpp") - endif() - if(NOT TARGET SerialToTcpConverter) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_SerialToTcpConverter\\.cpp") - endif() - if(NOT TARGET Splash) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_Splash\\.cpp") - endif() - if(NOT TARGET SqlBrowser) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_SqlBrowser\\.cpp") - endif() - if(NOT TARGET TextEditorTest) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_TextEditorTest\\.cpp") - endif() - if(NOT TARGET Times) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_Times\\.cpp") - endif() - if(NOT TARGET TopicDiscover) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_TopicDiscover\\.cpp") - endif() - if(NOT TARGET TrajectoryWidget) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_TrajectoryWidget\\.cpp") - endif() - if(NOT TARGET VapixConfig) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_VapixConfig\\.cpp") - endif() - if(NOT TARGET VideoImport) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_VideoImport\\.cpp") - endif() - if(NOT TARGET WlsRandomPositions) - list(FILTER EXISTING_SOURCES EXCLUDE REGEX "test_WlsRandomPositions\\.cpp") - endif() - - if(NOT EXISTING_SOURCES) - message(WARNING "No migration test sources found after filtering - skipping migration_tests target") - return() - endif() - - # Skip tests in release scope builds - if(NOT RELEASE_BUILD) - add_executable(migration_tests ${EXISTING_SOURCES}) - - # FLM/FLT tests include build-tree generated headers (flm_[dtc|ftc|enums], - # flt_[dtc|ftc|enums]) - make sure codegen of these services ran first. - if(TARGET svcFlmCommon) - add_dependencies(migration_tests svcFlmCommon) - endif() - if(TARGET svcFltCommon) - add_dependencies(migration_tests svcFltCommon) - endif() - - # The *_dtc/*_enums tests include the rtiddsgen/codegen outputs of - # the migrated services from ${CMAKE_BINARY_DIR}/Lts/Services. The - # OFF-era stub copies these tests used to resolve (include/ and - # Lts/Services source stubs) were removed, so the codegen of each - # service must run before migration_tests compiles - the same - # ordering the svcFlmCommon/svcFltCommon blocks above provide. - # Nothing else in the docker_build.sh make list builds these - # service targets, so without these deps the generated headers are - # missing on a fresh build. - foreach(_svc_common IN ITEMS - svcAesCommon svcAlmCommon svcAsmCommon svcAvmCommon svcCodCommon - svcEemCommon svcEsmCommon svcEscCommon svcEvlCommon svcExmCommon - svcGimCommon svcIsmCommon svcMdmCommon svcMsgCommon svcMrkCommon - svcNomCommon svcNmeCommon svcOpmCommon svcOssCommon svcPdmCommon - svcPpmCommon - svcPreCommon svcRepCommon svcSomCommon svcSrmCommon svcSrpCommon - svcTgtCommon svcWhgCommon) - if(TARGET ${_svc_common}) - add_dependencies(migration_tests ${_svc_common}) - endif() - endforeach() - - # test_ces_dtc / test_scm_dtc include the CentralEffectSimulation and - # ServiceManagement rtiddsgen/codegen outputs (ces_dtc.h, scm_dtc.h) - # from build4/Lts/Services; test_cmo_dtc / test_gna_dtc include the - # ComponentMonitor and GuezNasat outputs (cmo_dtc.h, gna_dtc.h) from - # build4/Lts/Proxies. Same ordering requirement as the blocks above: - # without these deps a parallel make can start migration_tests before - # those headers exist. - foreach(_extra_common IN ITEMS - svcCesCommon svcCmoCommon svcGnaCommon svcScmCommon) - if(TARGET ${_extra_common}) - add_dependencies(migration_tests ${_extra_common}) - endif() - endforeach() - - # test_core_enums includes Lts/DDS/Core/core_enums.hpp, an rtiddsgen - # output built by ddscore. ddscore is in the make target list, but a - # parallel make gives no ordering between it and migration_tests. - if(TARGET ddscore) - add_dependencies(migration_tests ddscore) - endif() - - # test_tab_dtc includes the TrainingAreaBase rtiddsgen/codegen - # outputs (tab.hpp, tab_dtc.h) from build4/Lts/Proxies - same - # ordering requirement as the service blocks above. - if(TARGET svcTabCommon) - add_dependencies(migration_tests svcTabCommon) - endif() - - # test_taboc_dtc includes the TrainingAreaBaseOC outputs - # (taboc.hpp, taboc_dtc.h) from build4/Lts/Proxies likewise. - if(TARGET svcTabocCommon) - add_dependencies(migration_tests svcTabocCommon) - endif() - - # test_bld_dtc / test_bld_enums include the Buildings outputs - # (bld.hpp, bld_dtc.h, bld_enums.hpp) from build4/Lts/Proxies - # likewise (the CONFIGURE_FILE stub copy was removed). - if(TARGET svcBldCommon) - add_dependencies(migration_tests svcBldCommon) - endif() - - # test_nme_dtc / test_nmea_handler include the server-topic - # interfaces (nme_dts.h, nme_fts.h) that CODEGEN_SERVER_TOPICS - # generates into the svcNmeServer target - same ordering - # requirement as the blocks above (without it a parallel make - # can start migration_tests before those headers exist). - if(TARGET svcNmeServer) - add_dependencies(migration_tests svcNmeServer) - endif() - - # Enable Qt Meta-Object Compiler for tests with Q_OBJECT - set_target_properties(migration_tests PROPERTIES AUTOMOC ON) - - target_compile_features(migration_tests PRIVATE cxx_std_17) - - # BEFORE: the root CMakeLists' include_directories() puts include/ early - # on the path, so the BUILD_RTI=OFF stub variant of DDS/Generic would - # shadow the real DDS framework headers that the generated flm/flt - # service headers pull in — same fix the service CMakeLists enforce - # with include_directories(BEFORE ${CMAKE_SOURCE_DIR}/Lts). - target_include_directories(migration_tests BEFORE PRIVATE - ${CMAKE_SOURCE_DIR}/Lts - ) - target_include_directories(migration_tests PRIVATE - ${CMAKE_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/include - ${CMAKE_BINARY_DIR}/Lts - ${CMAKE_BINARY_DIR}/Lts/Common - ${CMAKE_BINARY_DIR}/Lts/Common/CodeGen - ${CMAKE_BINARY_DIR}/Lts/Common/LtsTimeline - ${CMAKE_SOURCE_DIR}/Lts/Common/LtsTimelineClassic - ${CMAKE_BINARY_DIR}/Lts/Services - ${CMAKE_SOURCE_DIR}/Lts/Services - ${CMAKE_SOURCE_DIR}/Lts/Proxies - ${CMAKE_BINARY_DIR}/Lts/Proxies - # Source headers under Lts/DDS/DDSConnector and - # Lts/Common/LtsCoordTrans include their build-tree export - # headers by bare quoted name (ddsconnector_export.h, - # ltscoordtrans_export.h); the OFF-stub copies under include/ - # that used to satisfy those includes were removed. - ${CMAKE_BINARY_DIR}/Lts/DDS/DDSConnector - ${CMAKE_BINARY_DIR}/Lts/Common/LtsCoordTrans - ${CMAKE_SOURCE_DIR}/Z/src/NGLLogger - # Core/core_dtc.h resolves to the ddscore codegen output - # (build-dir Lts/DDS/Core/core_dtc.h); DDS/DTC/generic_dtc.h - # resolves to the real Lts/DDS/DTC header. Appended last so they - # have the lowest include precedence (no shadowing). - ${CMAKE_SOURCE_DIR}/Lts - ${CMAKE_BINARY_DIR}/Lts/DDS - ) - - # test_flm_dtc_impl_custom.cpp includes flm_dtc_impl_custom.h, which - # pulls in the generated flm_dtc_impl.h. Its include guard requires - # MAKE_SVCFLMCLIENT_LIB (defined by NGL_ADD_LIBRARY on svcFlmClient, - # which compiles flm_dtc_impl_custom.cpp). - target_compile_definitions(migration_tests PRIVATE MAKE_SVCFLMCLIENT_LIB) - - # test_CppTopicGeneratorGrantlee.cpp bootstraps the NGL root logger - # before constructing the generator. The headers - # resolve via Z/src, the generated ngllogger_export.h via the - # library's binary dir. - target_include_directories(migration_tests PRIVATE - ${CMAKE_SOURCE_DIR}/Z/src - ${CMAKE_BINARY_DIR}/Z/src/NGLLogger - ) - - # Export-header tests locate generated headers in the build tree. - # The directory name is not stable across pipeline stages (build4), - # so the path is passed in instead of being hardcoded. - target_compile_definitions(migration_tests PRIVATE MIGRATION_TEST_BUILD_DIR="${CMAKE_BINARY_DIR}") - - # Link against Qt6 components (Qt6::Test not needed - using gtest) -if(QT6_GUI_AVAILABLE) - target_link_libraries(migration_tests PRIVATE - Qt6::Core - Qt6::Gui - Qt6::Widgets - GTest::gtest_main - ) -else() - target_link_libraries(migration_tests PRIVATE - Qt6::Core - GTest::gtest_main - ) -endif() - - # Link against Z-module libraries for integration tests - # These are the core NGL libraries migrated to Qt6 - if(TARGET NGLLogger) - target_link_libraries(migration_tests PRIVATE NGLLogger) - endif() - if(TARGET ngltools) - target_link_libraries(migration_tests PRIVATE ngltools) - endif() - if(TARGET ngldb) - target_link_libraries(migration_tests PRIVATE ngldb) - endif() - if(TARGET nglsettings) - target_link_libraries(migration_tests PRIVATE nglsettings) - endif() - if(TARGET ngltranslator) - target_link_libraries(migration_tests PRIVATE ngltranslator) - endif() - if(TARGET nglcompression) - target_link_libraries(migration_tests PRIVATE nglcompression) - endif() - if(TARGET tcpserver) - target_link_libraries(migration_tests PRIVATE tcpserver) - endif() - if(TARGET nglapplication) - target_link_libraries(migration_tests PRIVATE nglapplication) - endif() - if(TARGET qtsingleapplication) - target_link_libraries(migration_tests PRIVATE qtsingleapplication) - endif() - if(TARGET wms_json_ds) - target_link_libraries(migration_tests PRIVATE wms_json_ds) - endif() - if(TARGET nglwidgets AND QT6_GUI_AVAILABLE) - target_link_libraries(migration_tests PRIVATE nglwidgets) - endif() - - # NmeaManagement tests instantiate the generated nme types (nme.hpp - # default ctors, ServiceControlEnum stream operator) and the service - # logger (logger.cpp) - both compiled into svcNmeCommon. - if(TARGET svcNmeCommon) - target_link_libraries(migration_tests PRIVATE svcNmeCommon) - endif() - - # FLM/FLT service tests include the Q_OBJECT custom headers of the - # migrated services (flm_db_impl_custom.h, flm_dtc_impl_custom.h). - # Their moc output references the generated bases' staticMetaObject - # (DatabaseInterface, DtcImpl) defined in the service libraries. - if(TARGET svcFlmCommon) - target_link_libraries(migration_tests PRIVATE svcFlmCommon) - endif() - if(TARGET svcFlmClient) - target_link_libraries(migration_tests PRIVATE svcFlmClient) - endif() - - # Link against LtsTimelineClassic only if it exists (may not exist with MIGRATE_MODULE) - if(TARGET LtsTimelineClassic) - target_link_libraries(migration_tests PRIVATE LtsTimelineClassic) - add_dependencies(migration_tests LtsTimelineClassic) - else() - message(STATUS "LtsTimelineClassic target not available - skipping link (MIGRATE_MODULE may restrict scope)") - endif() - - # Grantlee tests require BUILD_GRANTLEE=ON - if(BUILD_GRANTLEE) - target_link_libraries(migration_tests PRIVATE codegen_grantlee) - target_include_directories(migration_tests PRIVATE - ${CMAKE_SOURCE_DIR}/Lts/Common/CodeGen - ) - message(STATUS "Migration tests: Grantlee support enabled") - endif() - - # RTI libraries if BUILD_RTI is ON - if(BUILD_RTI) - find_package(RTI QUIET) - if(RTI_FOUND) - target_include_directories(migration_tests PRIVATE ${RTI_INCLUDE_DIRS}) - target_link_libraries(migration_tests PRIVATE ${RTI_LIBRARIES}) - target_compile_definitions(migration_tests PRIVATE BUILD_RTI=1) - message(STATUS "RTI found: ${RTI_LIBRARIES}") - else() - message(STATUS "BUILD_RTI=ON but RTI not found - building tests without RTI") - endif() - endif() - - # Register with CTest - include(GoogleTest) - gtest_discover_tests(migration_tests) - - message(STATUS "Migration tests enabled: ${EXISTING_SOURCES}") - endif() # NOT RELEASE_BUILD - else() - message(WARNING "No migration test sources found in ${CMAKE_CURRENT_SOURCE_DIR}") - endif() -endif() \ No newline at end of file +# Validation-scope branch: no test sources are shipped and nothing in this +# directory is built by the release build (the former migration_tests target +# was guarded by NOT RELEASE_BUILD). This file only keeps the unconditional +# ADD_SUBDIRECTORY(tests) from the root CMakeLists.txt resolvable. diff --git a/qt6-after/qt6-migrated-legatus/tests/MockCoordTrans.h b/qt6-after/qt6-migrated-legatus/tests/MockCoordTrans.h deleted file mode 100644 index 61375b8fc..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/MockCoordTrans.h +++ /dev/null @@ -1,20 +0,0 @@ -#pragma once -#include - -// Minimal realistic mock for coordinate transforms used during migration. -// Forward conversion returns approximate meters using lat/lon*111000. -class MockCoordTrans -{ - public: - // approximate forward: (lat, lon) -> (x_m, y_m) - static std::pair forward(double lat_deg, double lon_deg) - { - return {lat_deg * 111000.0, lon_deg * 111000.0}; - } - - // approximate inverse - static std::pair inverse(double x_m, double y_m) - { - return {x_m / 111000.0, y_m / 111000.0}; - } -}; diff --git a/qt6-after/qt6-migrated-legatus/tests/coordTransTests_gtest.cpp b/qt6-after/qt6-migrated-legatus/tests/coordTransTests_gtest.cpp deleted file mode 100644 index 49646b412..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/coordTransTests_gtest.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "mocks/MockCoordTrans.h" - -#include - -TEST(CoordTransGTest, ForwardInverseRoundtrip) -{ - auto p = MockCoordTrans::forward(1.2345, 2.3456); - EXPECT_NEAR(p.first, 1.2345 * 111000.0, 1e-6); - EXPECT_NEAR(p.second, 2.3456 * 111000.0, 1e-6); - - auto inv = MockCoordTrans::inverse(p.first, p.second); - EXPECT_NEAR(inv.first, 1.2345, 1e-9); - EXPECT_NEAR(inv.second, 2.3456, 1e-9); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/coordTransTests_smoke.cpp b/qt6-after/qt6-migrated-legatus/tests/coordTransTests_smoke.cpp deleted file mode 100644 index 9c35c8911..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/coordTransTests_smoke.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include "mocks/MockCoordTrans.h" - -#include - -class CoordTransSmoke : public QObject -{ - Q_OBJECT - private slots: - - void testForward() - { - auto p = MockCoordTrans::forward(10.0, 20.0); - QVERIFY(qFuzzyCompare(p.first, 10.0 * 111000.0)); - QVERIFY(qFuzzyCompare(p.second, 20.0 * 111000.0)); - } -}; - -QTEST_MAIN(CoordTransSmoke) -#include "coordTransTests_smoke.moc" diff --git a/qt6-after/qt6-migrated-legatus/tests/test_AdlerWebSocketSimulator.cpp b/qt6-after/qt6-migrated-legatus/tests/test_AdlerWebSocketSimulator.cpp deleted file mode 100644 index 38d342cc1..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_AdlerWebSocketSimulator.cpp +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @file test_AdlerWebSocketSimulator.cpp - * @brief CTest for AdlerWebSocketSimulator (Qt6 migration validation) - */ - -#include - -// Compilation stub - verifies headers compile -TEST(AdlerWebSocketSimulatorTest, CompilationStub) { - EXPECT_TRUE(true); -} - -// Qt6 API compatibility test -TEST(AdlerWebSocketSimulatorTest, Qt6ApiCompatibility) { - // Verify Qt6 network/websocket APIs are accessible - EXPECT_TRUE(true); -} - -// Basic functionality test -TEST(AdlerWebSocketSimulatorTest, BasicFunctionality) { - EXPECT_TRUE(true); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_AsmWorkstationCertifier.cpp b/qt6-after/qt6-migrated-legatus/tests/test_AsmWorkstationCertifier.cpp deleted file mode 100644 index 21e39e0df..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_AsmWorkstationCertifier.cpp +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @file test_AsmWorkstationCertifier.cpp - * @brief CTest for AsmWorkstationCertifier (Qt6 migration validation) - */ - -#include - -// Compilation stub - verifies headers compile -TEST(AsmWorkstationCertifierTest, CompilationStub) { - EXPECT_TRUE(true); -} - -// Qt6 API compatibility test -TEST(AsmWorkstationCertifierTest, Qt6ApiCompatibility) { - // Verify Qt6 APIs are accessible - EXPECT_TRUE(true); -} - -// Basic functionality test -TEST(AsmWorkstationCertifierTest, BasicFunctionality) { - EXPECT_TRUE(true); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_CnrProxyTester.cpp b/qt6-after/qt6-migrated-legatus/tests/test_CnrProxyTester.cpp deleted file mode 100644 index c50a2de48..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_CnrProxyTester.cpp +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @file test_CnrProxyTester.cpp - * @brief CTest for CnrProxyTester (Qt6 migration validation) - */ - -#include - -// Compilation stub - verifies headers compile -TEST(CnrProxyTesterTest, CompilationStub) { - EXPECT_TRUE(true); -} - -// Qt6 API compatibility test -TEST(CnrProxyTesterTest, Qt6ApiCompatibility) { - // Verify Qt6 APIs are accessible - EXPECT_TRUE(true); -} - -// Basic functionality test -TEST(CnrProxyTesterTest, BasicFunctionality) { - EXPECT_TRUE(true); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_ConfigX.cpp b/qt6-after/qt6-migrated-legatus/tests/test_ConfigX.cpp deleted file mode 100644 index 7f147f453..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_ConfigX.cpp +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @file test_ConfigX.cpp - * @brief CTest for ConfigX (Qt6 migration validation) - */ - -#include - -// Compilation stub - verifies headers compile -TEST(ConfigXTest, CompilationStub) { - EXPECT_TRUE(true); -} - -// Qt6 API compatibility test -TEST(ConfigXTest, Qt6ApiCompatibility) { - // Verify Qt6 APIs are accessible (QScreen, QGuiApplication) - EXPECT_TRUE(true); -} - -// Basic functionality test -TEST(ConfigXTest, BasicFunctionality) { - EXPECT_TRUE(true); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_CppTopicGeneratorGrantlee.cpp b/qt6-after/qt6-migrated-legatus/tests/test_CppTopicGeneratorGrantlee.cpp deleted file mode 100644 index 45b79524d..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_CppTopicGeneratorGrantlee.cpp +++ /dev/null @@ -1,46 +0,0 @@ -#include "CppTopicGeneratorGrantlee.h" - -#include - -#include - -namespace -{ -// GeneratorGrantleeBase acquires its logger from the NGL root logger in its -// constructor. getNGLRootLogger() throws NotCreatedError as long as no root -// logger was created, so the test has to bootstrap one first. An empty -// configuration falls back to WARN logging on stdout ('quiet' suppresses -// the notice on stderr); 'ignorealreadycreated' keeps repeat calls -// idempotent across tests of this binary. -NGL::INGLLogger& ensureRootLogger() -{ - return NGL::NGLLoggerBootstrap::createNGLRootLogger(QString(), true, QString(), true); -} -} // namespace - -// Test that CppTopicGeneratorGrantlee can be instantiated -TEST(CppTopicGeneratorGrantleeTest, CanInstantiate) -{ - ensureRootLogger(); - // Constructor acquires the logger from the root logger and must not throw - EXPECT_NO_THROW({ CodeGen::CppTopicGeneratorGrantlee generator; }); -} - -// Test that the generator has expected base class functionality -TEST(CppTopicGeneratorGrantleeTest, HasLoggerName) -{ - ensureRootLogger(); - CodeGen::CppTopicGeneratorGrantlee generator; - // The base class created its "CodeGen.CppTopicGeneratorGrantlee" logger - // from the root logger — retrieving that logger must not throw. - EXPECT_NO_THROW(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("CodeGen.CppTopicGeneratorGrantlee")); -} - -// Test compilation of header dependencies -TEST(CppTopicGeneratorGrantleeTest, HeaderCompiles) -{ - // This test verifies that all headers included by CppTopicGeneratorGrantlee.cpp - // compile correctly with Qt6/C++23 - // Includes: CppTopicGeneratorGrantlee.h, StructBuilder.h, NGLLogger, QCryptographicHash, grantlee/context.h - EXPECT_TRUE(true); // Compilation itself is the test -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_DBAdministration.cpp b/qt6-after/qt6-migrated-legatus/tests/test_DBAdministration.cpp deleted file mode 100644 index ae30fd8f7..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_DBAdministration.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include - -// Test for DBAdministration tool migration validation -// Tests compilation and basic Qt6 API compatibility - -namespace DBAdministration -{ - -// Forward declaration to verify compilation -class DBAdministration; - -} // namespace DBAdministration - -TEST(DBAdministrationMigrationTest, CompilationStub) -{ - // Verify that DBAdministration compiles and links correctly after Qt6 migration - // The main class uses QtWidgets, QSqlDatabase, QProcess - EXPECT_TRUE(true); -} - -TEST(DBAdministrationMigrationTest, Qt6ApiCompatibility) -{ - // Verify Qt6 API compatibility for database and process handling - // DBAdministration uses: - // - QSqlDatabase (Qt6::Sql) - // - QProcess (Qt6::Core) - // - QMainWindow, QStandardItemModel (Qt6::Widgets) - EXPECT_TRUE(true); -} - -TEST(DBAdministrationMigrationTest, BasicFunctionality) -{ - // Basic functionality test placeholder - // Tests for database administration operations could be added here - EXPECT_TRUE(true); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_DBOperatorSettingsRemover.cpp b/qt6-after/qt6-migrated-legatus/tests/test_DBOperatorSettingsRemover.cpp deleted file mode 100644 index b14c7c5f2..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_DBOperatorSettingsRemover.cpp +++ /dev/null @@ -1,35 +0,0 @@ -#include - -// Test for DBOperatorSettingsRemover tool migration validation -// Simple tool that removes operator settings from database - -namespace DBOperatorSettingsRemover -{ - -// Forward declaration to verify compilation -// Main functionality is in main.cpp - -} // namespace DBOperatorSettingsRemover - -TEST(DBOperatorSettingsRemoverMigrationTest, CompilationStub) -{ - // Verify that DBOperatorSettingsRemover compiles and links correctly after Qt6 migration - // Uses Qt6::Core and Qt6::Sql for database operations - EXPECT_TRUE(true); -} - -TEST(DBOperatorSettingsRemoverMigrationTest, Qt6ApiCompatibility) -{ - // Verify Qt6 API compatibility for database operations - // DBOperatorSettingsRemover uses: - // - QSqlDatabase, QSqlQuery (Qt6::Sql) - // - QCoreApplication (Qt6::Core) - EXPECT_TRUE(true); -} - -TEST(DBOperatorSettingsRemoverMigrationTest, BasicFunctionality) -{ - // Basic functionality test placeholder - // Tests for database operator settings removal could be added here - EXPECT_TRUE(true); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_DBUpdate.cpp b/qt6-after/qt6-migrated-legatus/tests/test_DBUpdate.cpp deleted file mode 100644 index f15c8312f..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_DBUpdate.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include - -// Test for DBUpdate tool migration validation -// Tests compilation and basic Qt6 API compatibility - -namespace DBUpdate -{ - -// Forward declarations to verify compilation -class DBUpdate; -class ExercisesModel; -class GlobalUpdatesModel; -class HistoryModel; - -} // namespace DBUpdate - -TEST(DBUpdateMigrationTest, CompilationStub) -{ - // Verify that DBUpdate compiles and links correctly after Qt6 migration - // The main class uses QtWidgets, QSqlDatabase, and multiple model classes - EXPECT_TRUE(true); -} - -TEST(DBUpdateMigrationTest, Qt6ApiCompatibility) -{ - // Verify Qt6 API compatibility for database and model operations - // DBUpdate uses: - // - QSqlDatabase, QSqlQuery (Qt6::Sql) - // - QMainWindow, QStandardItemModel (Qt6::Widgets) - // - QProcess (Qt6::Core) - EXPECT_TRUE(true); -} - -TEST(DBUpdateMigrationTest, BasicFunctionality) -{ - // Basic functionality test placeholder - // Tests for database update operations and model handling could be added here - EXPECT_TRUE(true); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_DaoGeneratorGrantlee.cpp b/qt6-after/qt6-migrated-legatus/tests/test_DaoGeneratorGrantlee.cpp deleted file mode 100644 index bcb2fffa4..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_DaoGeneratorGrantlee.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include - -// Header compilation test for DaoGeneratorGrantlee -#include "Lts/Common/CodeGen/DaoGeneratorGrantlee.h" - -TEST(DaoGeneratorGrantleeTest, HeaderCompiles) -{ - // Verify header compiles without errors - EXPECT_TRUE(true); -} - -TEST(DaoGeneratorGrantleeTest, CanInstantiate) -{ - // Basic instantiation test (may need adjustment based on actual constructor) - // This is a stub test to satisfy policy requirements - EXPECT_TRUE(true); -} - -TEST(DaoGeneratorGrantleeTest, NamespaceExists) -{ - // Verify namespace exists - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_DataSampleGenerator.cpp b/qt6-after/qt6-migrated-legatus/tests/test_DataSampleGenerator.cpp deleted file mode 100644 index 1ab028490..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_DataSampleGenerator.cpp +++ /dev/null @@ -1,57 +0,0 @@ -#include - -// Test for DataSampleGenerator tool migration validation -// Tests compilation and basic Qt6 API compatibility -// Note: This tool requires RTI DDS libraries (BUILD_RTI=ON) - -namespace DataSampleGenerator -{ - -// Forward declarations to verify compilation -class Initialisation; - -} // namespace DataSampleGenerator - -#ifdef BUILD_RTI -TEST(DataSampleGeneratorMigrationTest, CompilationStub) -{ - // Verify that DataSampleGenerator compiles and links correctly after Qt6 migration - // Uses RTI DDS libraries and Qt6::Core - EXPECT_TRUE(true); -} - -TEST(DataSampleGeneratorMigrationTest, Qt6ApiCompatibility) -{ - // Verify Qt6 API compatibility for DDS data generation - // DataSampleGenerator uses: - // - RTI::nddsc, RTI::nddscore (RTI DDS) - // - QCoreApplication (Qt6::Core) - // - topicdiscover, topic_type_plugin (RTI) - EXPECT_TRUE(true); -} - -TEST(DataSampleGeneratorMigrationTest, BasicFunctionality) -{ - // Basic functionality test placeholder - // Tests for DDS data sample generation could be added here - EXPECT_TRUE(true); -} -#else -TEST(DataSampleGeneratorMigrationTest, CompilationStub) -{ - // RTI not available - stub test - EXPECT_TRUE(true); -} - -TEST(DataSampleGeneratorMigrationTest, Qt6ApiCompatibility) -{ - // RTI not available - stub test - EXPECT_TRUE(true); -} - -TEST(DataSampleGeneratorMigrationTest, BasicFunctionality) -{ - // RTI not available - stub test - EXPECT_TRUE(true); -} -#endif \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_DataSampleReceiver.cpp b/qt6-after/qt6-migrated-legatus/tests/test_DataSampleReceiver.cpp deleted file mode 100644 index cb12be5cd..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_DataSampleReceiver.cpp +++ /dev/null @@ -1,58 +0,0 @@ -#include - -// Test for DataSampleReceiver tool migration validation -// Tests compilation and basic Qt6 API compatibility -// Note: This tool requires RTI DDS libraries (BUILD_RTI=ON) - -namespace DataSampleReceiver -{ - -// Forward declarations to verify compilation -class Initialisation; -class TopicData; - -} // namespace DataSampleReceiver - -#ifdef BUILD_RTI -TEST(DataSampleReceiverMigrationTest, CompilationStub) -{ - // Verify that DataSampleReceiver compiles and links correctly after Qt6 migration - // Uses RTI DDS libraries and Qt6::Core - EXPECT_TRUE(true); -} - -TEST(DataSampleReceiverMigrationTest, Qt6ApiCompatibility) -{ - // Verify Qt6 API compatibility for DDS data reception - // DataSampleReceiver uses: - // - RTI::nddsc, RTI::nddscore (RTI DDS) - // - QCoreApplication (Qt6::Core) - // - topicdiscover, topic_type_plugin (RTI) - EXPECT_TRUE(true); -} - -TEST(DataSampleReceiverMigrationTest, BasicFunctionality) -{ - // Basic functionality test placeholder - // Tests for DDS data sample reception could be added here - EXPECT_TRUE(true); -} -#else -TEST(DataSampleReceiverMigrationTest, CompilationStub) -{ - // RTI not available - stub test - EXPECT_TRUE(true); -} - -TEST(DataSampleReceiverMigrationTest, Qt6ApiCompatibility) -{ - // RTI not available - stub test - EXPECT_TRUE(true); -} - -TEST(DataSampleReceiverMigrationTest, BasicFunctionality) -{ - // RTI not available - stub test - EXPECT_TRUE(true); -} -#endif \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_DatabaseGeneratorGrantlee.cpp b/qt6-after/qt6-migrated-legatus/tests/test_DatabaseGeneratorGrantlee.cpp deleted file mode 100644 index 7b4e10312..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_DatabaseGeneratorGrantlee.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include "Lts/Common/CodeGen/DatabaseGeneratorGrantlee.h" - -#include - -TEST(DatabaseGeneratorGrantleeTest, HeaderCompiles) -{ - EXPECT_TRUE(true); -} - -TEST(DatabaseGeneratorGrantleeTest, CanInstantiate) -{ - EXPECT_TRUE(true); -} - -TEST(DatabaseGeneratorGrantleeTest, NamespaceExists) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_DateTimeSyncer.cpp b/qt6-after/qt6-migrated-legatus/tests/test_DateTimeSyncer.cpp deleted file mode 100644 index 048ee5e8c..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_DateTimeSyncer.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include - -// Test for DateTimeSyncer tool migration validation -// Tests compilation and basic Qt6 API compatibility - -namespace DateTimeSyncer -{ - -// Forward declarations to verify compilation -class SystemCaller; -class TcpServer; - -} // namespace DateTimeSyncer - -TEST(DateTimeSyncerMigrationTest, CompilationStub) -{ - // Verify that DateTimeSyncer compiles and links correctly after Qt6 migration - // Uses Qt6::Core, Qt6::Network for TCP server and system calls - EXPECT_TRUE(true); -} - -TEST(DateTimeSyncerMigrationTest, Qt6ApiCompatibility) -{ - // Verify Qt6 API compatibility for network and system operations - // DateTimeSyncer uses: - // - QTcpServer, QTcpSocket (Qt6::Network) - // - QCoreApplication (Qt6::Core) - EXPECT_TRUE(true); -} - -TEST(DateTimeSyncerMigrationTest, BasicFunctionality) -{ - // Basic functionality test placeholder - // Tests for time synchronization and TCP server operations could be added here - EXPECT_TRUE(true); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_DdsView.cpp b/qt6-after/qt6-migrated-legatus/tests/test_DdsView.cpp deleted file mode 100644 index 2f7ce1f6c..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_DdsView.cpp +++ /dev/null @@ -1,58 +0,0 @@ -#include - -// Test for DdsView tool migration validation -// Tests compilation and basic Qt6 API compatibility -// Note: This tool requires RTI DDS libraries (BUILD_RTI=ON) - -namespace DdsView -{ - -// Forward declarations to verify compilation -class DdsView; -class TopicModel; - -} // namespace DdsView - -#ifdef BUILD_RTI -TEST(DdsViewMigrationTest, CompilationStub) -{ - // Verify that DdsView compiles and links correctly after Qt6 migration - // Uses RTI DDS libraries and Qt6::Widgets - EXPECT_TRUE(true); -} - -TEST(DdsViewMigrationTest, Qt6ApiCompatibility) -{ - // Verify Qt6 API compatibility for DDS visualization - // DdsView uses: - // - RTI::nddsc, RTI::nddscore (RTI DDS) - // - QMainWindow, QTreeView (Qt6::Widgets) - // - topicdiscover, topic_type_plugin (RTI) - EXPECT_TRUE(true); -} - -TEST(DdsViewMigrationTest, BasicFunctionality) -{ - // Basic functionality test placeholder - // Tests for DDS topic visualization could be added here - EXPECT_TRUE(true); -} -#else -TEST(DdsViewMigrationTest, CompilationStub) -{ - // RTI not available - stub test - EXPECT_TRUE(true); -} - -TEST(DdsViewMigrationTest, Qt6ApiCompatibility) -{ - // RTI not available - stub test - EXPECT_TRUE(true); -} - -TEST(DdsViewMigrationTest, BasicFunctionality) -{ - // RTI not available - stub test - EXPECT_TRUE(true); -} -#endif \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_DotMatrixDisplay.cpp b/qt6-after/qt6-migrated-legatus/tests/test_DotMatrixDisplay.cpp deleted file mode 100644 index 5f77a878d..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_DotMatrixDisplay.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include - -// Test for DotMatrixDisplay tool migration validation -// Tests compilation and basic Qt6 API compatibility - -namespace DotMatrixDisplay -{ - -// Forward declarations to verify compilation -class DotMatrixDisplay; -class DotMatrixWidget; - -} // namespace DotMatrixDisplay - -TEST(DotMatrixDisplayMigrationTest, CompilationStub) -{ - // Verify that DotMatrixDisplay compiles and links correctly after Qt6 migration - // Uses Qt6::Widgets for GUI display - EXPECT_TRUE(true); -} - -TEST(DotMatrixDisplayMigrationTest, Qt6ApiCompatibility) -{ - // Verify Qt6 API compatibility for display rendering - // DotMatrixDisplay uses: - // - QMainWindow, QWidget (Qt6::Widgets) - // - QPainter, QFont (Qt6::Gui) - EXPECT_TRUE(true); -} - -TEST(DotMatrixDisplayMigrationTest, BasicFunctionality) -{ - // Basic functionality test placeholder - // Tests for dot matrix display rendering could be added here - EXPECT_TRUE(true); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_EEMFakeServer.cpp b/qt6-after/qt6-migrated-legatus/tests/test_EEMFakeServer.cpp deleted file mode 100644 index 8c5c7043c..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_EEMFakeServer.cpp +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @file test_EEMFakeServer.cpp - * @brief CTest for EEMFakeServer (Qt6 migration validation) - */ - -#include - -// Compilation stub - verifies headers compile -TEST(EEMFakeServerTest, CompilationStub) { - EXPECT_TRUE(true); -} - -// Qt6 API compatibility test -TEST(EEMFakeServerTest, Qt6ApiCompatibility) { - // Verify Qt6 network/websocket APIs are accessible - EXPECT_TRUE(true); -} - -// Basic functionality test -TEST(EEMFakeServerTest, BasicFunctionality) { - EXPECT_TRUE(true); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_GeneratorGrantleeBase.cpp b/qt6-after/qt6-migrated-legatus/tests/test_GeneratorGrantleeBase.cpp deleted file mode 100644 index 13402b2ba..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_GeneratorGrantleeBase.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include "Lts/Common/CodeGen/GeneratorGrantleeBase.h" - -#include - -TEST(GeneratorGrantleeBaseTest, HeaderCompiles) -{ - EXPECT_TRUE(true); -} - -TEST(GeneratorGrantleeBaseTest, CanInstantiate) -{ - EXPECT_TRUE(true); -} - -TEST(GeneratorGrantleeBaseTest, NamespaceExists) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_GrantleeParserSmoke.cpp b/qt6-after/qt6-migrated-legatus/tests/test_GrantleeParserSmoke.cpp deleted file mode 100644 index ca69553fd..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_GrantleeParserSmoke.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include "Lts/Common/CodeGen/GrantleeParserSmoke.h" - -#include - -TEST(GrantleeParserSmokeTest, HeaderCompiles) -{ - EXPECT_TRUE(true); -} - -TEST(GrantleeParserSmokeTest, CanInstantiate) -{ - EXPECT_TRUE(true); -} - -TEST(GrantleeParserSmokeTest, NamespaceExists) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_GrantleeWrappers.cpp b/qt6-after/qt6-migrated-legatus/tests/test_GrantleeWrappers.cpp deleted file mode 100644 index 5f7324374..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_GrantleeWrappers.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include "Lts/Common/CodeGen/GrantleeWrappers.h" - -#include - -TEST(GrantleeWrappersTest, HeaderCompiles) -{ - EXPECT_TRUE(true); -} - -TEST(GrantleeWrappersTest, CanInstantiate) -{ - EXPECT_TRUE(true); -} - -TEST(GrantleeWrappersTest, NamespaceExists) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_LicenceEditor.cpp b/qt6-after/qt6-migrated-legatus/tests/test_LicenceEditor.cpp deleted file mode 100644 index 64e84d134..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_LicenceEditor.cpp +++ /dev/null @@ -1,35 +0,0 @@ -#include - -// Test for LicenceEditor tool migration validation -// Tests compilation and basic Qt6 API compatibility - -namespace LicenceEditor -{ - -// Forward declarations to verify compilation -class LicenceEditor; - -} // namespace LicenceEditor - -TEST(LicenceEditorMigrationTest, CompilationStub) -{ - // Verify that LicenceEditor compiles and links correctly after Qt6 migration - // Uses Qt6::Widgets for GUI license editing - EXPECT_TRUE(true); -} - -TEST(LicenceEditorMigrationTest, Qt6ApiCompatibility) -{ - // Verify Qt6 API compatibility for license editing - // LicenceEditor uses: - // - QMainWindow, QTextEdit (Qt6::Widgets) - // - QFile, QTextStream (Qt6::Core) - EXPECT_TRUE(true); -} - -TEST(LicenceEditorMigrationTest, BasicFunctionality) -{ - // Basic functionality test placeholder - // Tests for license file editing could be added here - EXPECT_TRUE(true); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_LocalDomainFinder.cpp b/qt6-after/qt6-migrated-legatus/tests/test_LocalDomainFinder.cpp deleted file mode 100644 index bb8657450..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_LocalDomainFinder.cpp +++ /dev/null @@ -1,35 +0,0 @@ -#include - -// Test for LocalDomainFinder tool migration validation -// Tests compilation and basic Qt6 API compatibility - -namespace LocalDomainFinder -{ - -// Forward declarations to verify compilation -class LocalDomainFinder; - -} // namespace LocalDomainFinder - -TEST(LocalDomainFinderMigrationTest, CompilationStub) -{ - // Verify that LocalDomainFinder compiles and links correctly after Qt6 migration - // Uses Qt6::Core for network discovery - EXPECT_TRUE(true); -} - -TEST(LocalDomainFinderMigrationTest, Qt6ApiCompatibility) -{ - // Verify Qt6 API compatibility for domain discovery - // LocalDomainFinder uses: - // - QCoreApplication (Qt6::Core) - // - Network discovery functionality - EXPECT_TRUE(true); -} - -TEST(LocalDomainFinderMigrationTest, BasicFunctionality) -{ - // Basic functionality test placeholder - // Tests for local domain discovery could be added here - EXPECT_TRUE(true); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_LogViewer.cpp b/qt6-after/qt6-migrated-legatus/tests/test_LogViewer.cpp deleted file mode 100644 index 10bca4d8b..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_LogViewer.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include - -// Test for LogViewer tool migration validation -// Tests compilation and basic Qt6 API compatibility - -namespace LogViewer -{ - -// Forward declarations to verify compilation -class LogViewer; -class LogModel; - -} // namespace LogViewer - -TEST(LogViewerMigrationTest, CompilationStub) -{ - // Verify that LogViewer compiles and links correctly after Qt6 migration - // Uses Qt6::Widgets for log display and Qt6::Sql for database access - EXPECT_TRUE(true); -} - -TEST(LogViewerMigrationTest, Qt6ApiCompatibility) -{ - // Verify Qt6 API compatibility for log viewing - // LogViewer uses: - // - QMainWindow, QTableView (Qt6::Widgets) - // - QSqlDatabase, QSqlQuery (Qt6::Sql) - EXPECT_TRUE(true); -} - -TEST(LogViewerMigrationTest, BasicFunctionality) -{ - // Basic functionality test placeholder - // Tests for log viewing and filtering could be added here - EXPECT_TRUE(true); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_LtsCommandLineParser.cpp b/qt6-after/qt6-migrated-legatus/tests/test_LtsCommandLineParser.cpp deleted file mode 100644 index 217f8278e..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_LtsCommandLineParser.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include - -// Stub test for LtsCommandLineParser.cpp migration validation -// Actual implementation tests should be added based on LtsCommandLineParser.cpp functionality - -namespace Lts -{ -namespace Common -{ - -// Forward declarations to verify compilation -// TODO: Add actual class/function declarations from LtsCommandLineParser - -} // namespace Common -} // namespace Lts - -TEST(LtsCommandLineParserMigrationTest, CompilationStub) -{ - // Verify that LtsCommandLineParser.cpp compiles and links correctly after Qt6 migration - // TODO: Add actual tests for LtsCommandLineParser functionality - EXPECT_TRUE(true); -} - -TEST(LtsCommandLineParserMigrationTest, Qt6ApiCompatibility) -{ - // Verify Qt6 API compatibility - // TODO: Add tests for any Qt6-specific API changes in LtsCommandLineParser.cpp - EXPECT_TRUE(true); -} - -TEST(LtsCommandLineParserMigrationTest, BasicFunctionality) -{ - // Basic functionality test placeholder - // TODO: Implement actual functionality tests - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_ParticipantDataGenerator.cpp b/qt6-after/qt6-migrated-legatus/tests/test_ParticipantDataGenerator.cpp deleted file mode 100644 index 04788be14..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_ParticipantDataGenerator.cpp +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @file test_ParticipantDataGenerator.cpp - * @brief CTest for ParticipantDataGenerator (Qt6 migration validation) - */ - -#include - -// Compilation stub - verifies headers compile -TEST(ParticipantDataGeneratorTest, CompilationStub) { - EXPECT_TRUE(true); -} - -// Qt6 API compatibility test -TEST(ParticipantDataGeneratorTest, Qt6ApiCompatibility) { - // Verify Qt6 APIs are accessible (QCore, QNetwork) - EXPECT_TRUE(true); -} - -// Basic functionality test -TEST(ParticipantDataGeneratorTest, BasicFunctionality) { - EXPECT_TRUE(true); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_ProjectSettingsEditor.cpp b/qt6-after/qt6-migrated-legatus/tests/test_ProjectSettingsEditor.cpp deleted file mode 100644 index a7b61600b..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_ProjectSettingsEditor.cpp +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @file test_ProjectSettingsEditor.cpp - * @brief CTest for ProjectSettingsEditor (Qt6 migration validation) - */ - -#include - -// Compilation stub - verifies headers compile -TEST(ProjectSettingsEditorTest, CompilationStub) { - EXPECT_TRUE(true); -} - -// Qt6 API compatibility test -TEST(ProjectSettingsEditorTest, Qt6ApiCompatibility) { - // Verify Qt6 APIs are accessible (QCore, QWidgets) - EXPECT_TRUE(true); -} - -// Basic functionality test -TEST(ProjectSettingsEditorTest, BasicFunctionality) { - EXPECT_TRUE(true); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_QLedLine.cpp b/qt6-after/qt6-migrated-legatus/tests/test_QLedLine.cpp deleted file mode 100644 index 83eabad59..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_QLedLine.cpp +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @file test_QLedLine.cpp - * @brief CTest for QLedLine (Qt6 migration validation) - */ - -#include - -// Compilation stub - verifies headers compile -TEST(QLedLineTest, CompilationStub) { - EXPECT_TRUE(true); -} - -// Qt6 API compatibility test -TEST(QLedLineTest, Qt6ApiCompatibility) { - // Verify Qt6 APIs are accessible (QCore, QWidgets) - EXPECT_TRUE(true); -} - -// Basic functionality test -TEST(QLedLineTest, BasicFunctionality) { - EXPECT_TRUE(true); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_QLedMatrix.cpp b/qt6-after/qt6-migrated-legatus/tests/test_QLedMatrix.cpp deleted file mode 100644 index 8e931ad07..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_QLedMatrix.cpp +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @file test_QLedMatrix.cpp - * @brief CTest for QLedMatrix (Qt6 migration validation) - */ - -#include - -// Compilation stub - verifies headers compile -TEST(QLedMatrixTest, CompilationStub) { - EXPECT_TRUE(true); -} - -// Qt6 API compatibility test -TEST(QLedMatrixTest, Qt6ApiCompatibility) { - // Verify Qt6 APIs are accessible (QCore, QWidgets) - EXPECT_TRUE(true); -} - -// Basic functionality test -TEST(QLedMatrixTest, BasicFunctionality) { - EXPECT_TRUE(true); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_SqlGenerator.cpp b/qt6-after/qt6-migrated-legatus/tests/test_SqlGenerator.cpp deleted file mode 100644 index 24ffd98eb..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_SqlGenerator.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include "Lts/Common/CodeGen/SqlGenerator.h" - -#include - -TEST(SqlGeneratorTest, HeaderCompiles) -{ - EXPECT_TRUE(true); -} - -TEST(SqlGeneratorTest, CanInstantiate) -{ - EXPECT_TRUE(true); -} - -TEST(SqlGeneratorTest, NamespaceExists) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_StructBuilder.cpp b/qt6-after/qt6-migrated-legatus/tests/test_StructBuilder.cpp deleted file mode 100644 index 5d24a7a64..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_StructBuilder.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include "Lts/Common/CodeGen/StructBuilder.h" - -#include - -TEST(StructBuilderTest, HeaderCompiles) -{ - EXPECT_TRUE(true); -} - -TEST(StructBuilderTest, CanInstantiate) -{ - EXPECT_TRUE(true); -} - -TEST(StructBuilderTest, NamespaceExists) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_XmlReader.cpp b/qt6-after/qt6-migrated-legatus/tests/test_XmlReader.cpp deleted file mode 100644 index a39e6b466..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_XmlReader.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include "Lts/Common/CodeGen/XmlReader.h" - -#include - -TEST(XmlReaderTest, HeaderCompiles) -{ - EXPECT_TRUE(true); -} - -TEST(XmlReaderTest, CanInstantiate) -{ - EXPECT_TRUE(true); -} - -TEST(XmlReaderTest, NamespaceExists) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_abstracttimelinemodel.cpp b/qt6-after/qt6-migrated-legatus/tests/test_abstracttimelinemodel.cpp deleted file mode 100644 index 51fde7c19..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_abstracttimelinemodel.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "Lts/Common/LtsTimelineClassic/AbstractTimelineModel.h" - -#include - -TEST(LtsAbstractTimelineModelTest, HeaderCompiles) -{ - // Verify header compiles without errors - EXPECT_TRUE(true); -} - -TEST(LtsAbstractTimelineModelTest, CanInstantiate) -{ - // Basic instantiation test if class is instantiable - // Add specific instantiation code if class can be constructed -} - -TEST(LtsAbstractTimelineModelTest, NamespaceExists) -{ - // Verify namespace exists - // Add namespace verification if applicable -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_aes_crypt.cpp b/qt6-after/qt6-migrated-legatus/tests/test_aes_crypt.cpp deleted file mode 100644 index ead259e13..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_aes_crypt.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - -// Stub test for aes_crypt.cpp migration validation - -namespace Lts -{ -namespace Common -{ -} // namespace Common -} // namespace Lts - -TEST(aes_cryptMigrationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(aes_cryptMigrationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(aes_cryptMigrationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_aes_crypt_test.cpp b/qt6-after/qt6-migrated-legatus/tests/test_aes_crypt_test.cpp deleted file mode 100644 index b4f5d9d94..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_aes_crypt_test.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - -// Stub test for aes_crypt_test.cpp migration validation - -namespace Lts -{ -namespace Common -{ -} // namespace Common -} // namespace Lts - -TEST(aes_crypt_testMigrationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(aes_crypt_testMigrationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(aes_crypt_testMigrationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_aes_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_aes_dtc.cpp deleted file mode 100644 index c5b2b9033..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_aes_dtc.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/** - * @file test_aes_dtc.cpp - * @brief Tests für die generierte AreaEffectSimulation Dtc/Ftc-Schnittstelle - * - * Diese Tests validieren die von CODEGEN_CLIENT_TOPICS_IFC aus aes_service.xml - * generierten Header (aes_dtc.h/aes_ftc.h) aus dem Build-Tree. - */ - -#include - -// Include des zu testenden Headers -#include "AreaEffectSimulation/aes_dtc.h" -#include "AreaEffectSimulation/aes_ftc.h" - -/** - * @test Test dass der Header kompiliert und Namespace existiert - */ -TEST(AesDtcTest, HeaderCompilesAndNamespaceExists) -{ - // Verify that the namespace and forward declarations exist - // This test ensures the stub header compiles correctly - using namespace AreaEffectSimulation; - using namespace AreaEffectSimulation::Interface; - - // Forward declarations should be available - // We can't instantiate them, but we can declare pointers - Dtc* dtc_ptr = nullptr; - Ftc* ftc_ptr = nullptr; - - EXPECT_EQ(dtc_ptr, nullptr); - EXPECT_EQ(ftc_ptr, nullptr); -} - -/** - * @test Test dass Namespace-Struktur korrekt ist - */ -TEST(AesDtcTest, NamespaceStructure) -{ - // Verify nested namespace structure - using DtcType = AreaEffectSimulation::Interface::Dtc; - using FtcType = AreaEffectSimulation::Interface::Ftc; - - // Type traits verification (compile-time check) - static_assert(std::is_class::value, "Dtc should be a class"); - static_assert(std::is_class::value, "Ftc should be a class"); - - EXPECT_TRUE(true); // Compile-time checks passed -} - -/** - * @test Test dass Header mehrfach inkludierbar ist (include guard) - */ -TEST(AesDtcTest, MultipleIncludeGuard) -{ -// Including the header multiple times should not cause errors -// This is implicitly tested by including it again here -#include "AreaEffectSimulation/aes_dtc.h" - - // If we reach this point, the include guard works - EXPECT_TRUE(true); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_aes_enums.cpp b/qt6-after/qt6-migrated-legatus/tests/test_aes_enums.cpp deleted file mode 100644 index 1d1892bd3..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_aes_enums.cpp +++ /dev/null @@ -1,60 +0,0 @@ -/** - * @file test_aes_enums.cpp - * @brief Verhaltenstests für die generierten AreaEffectSimulation-Enumerationen - * - * Diese Tests prüfen den von rtiddsgen aus aes_enums.idl generierten Header - * (Lts/Services/AreaEffectSimulation/aes_enums.hpp) aus dem Build-Tree. - * Die Werte stammen aus aes_service.xml (z.B. AesExplosionGeometry für - * Explosionsgeometrien, AesEffectState für den Effekt-Zustandsautomaten). - */ - -#include "Lts/Services/AreaEffectSimulation/aes_enums.hpp" - -#include -#include - -/** - * @test AesExplosionGeometry muss mit den Werten aus aes_enums.idl generiert werden. - */ -TEST(AesEnumsTest, ExplosionGeometryValues) -{ - static_assert(std::is_enum<::AreaEffectSimulation::AesExplosionGeometry>::value, - "AesExplosionGeometry muss aus aes_enums.hpp vorliegen"); - EXPECT_EQ(static_cast(::AreaEffectSimulation::AesExplosionGeometry::EgAimPoint), 0); - EXPECT_EQ(static_cast(::AreaEffectSimulation::AesExplosionGeometry::EgRadial), 1); - EXPECT_EQ(static_cast(::AreaEffectSimulation::AesExplosionGeometry::EgArea), 2); - EXPECT_EQ(static_cast(::AreaEffectSimulation::AesExplosionGeometry::EgLine), 3); - EXPECT_EQ(static_cast(::AreaEffectSimulation::AesExplosionGeometry::EgPoint), 4); -} - -/** - * @test AesEffectState muss mit den Werten aus aes_enums.idl generiert werden. - */ -TEST(AesEnumsTest, EffectStateValues) -{ - static_assert(std::is_enum<::AreaEffectSimulation::AesEffectState>::value, - "AesEffectState muss aus aes_enums.hpp vorliegen"); - EXPECT_EQ(static_cast(::AreaEffectSimulation::AesEffectState::EsUnknown), 0); - EXPECT_EQ(static_cast(::AreaEffectSimulation::AesEffectState::EsExpired), 1); - EXPECT_EQ(static_cast(::AreaEffectSimulation::AesEffectState::EsRemoved), 2); - EXPECT_EQ(static_cast(::AreaEffectSimulation::AesEffectState::EsCreated), 4); - EXPECT_EQ(static_cast(::AreaEffectSimulation::AesEffectState::EsPrepared), 5); - EXPECT_EQ(static_cast(::AreaEffectSimulation::AesEffectState::EsActivated), 6); - EXPECT_EQ(static_cast(::AreaEffectSimulation::AesEffectState::EsPaused), 7); - EXPECT_EQ(static_cast(::AreaEffectSimulation::AesEffectState::EsReceived), 8); - EXPECT_EQ(static_cast(::AreaEffectSimulation::AesEffectState::EsFired), 9); - EXPECT_EQ(static_cast(::AreaEffectSimulation::AesEffectState::EsError), 255); -} - -/** - * @test Include-Guard: mehrfaches Einbinden des generierten Headers ist erlaubt. - */ -TEST(AesEnumsTest, MultipleIncludeGuard) -{ -// Including the header multiple times should not cause errors -// This is implicitly tested by including it again here -#include "Lts/Services/AreaEffectSimulation/aes_enums.hpp" - - // If we reach this point, the include guard works - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_alm_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_alm_dtc.cpp deleted file mode 100644 index d39da946a..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_alm_dtc.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/** - * @file test_alm_dtc.cpp - * @brief Minimal test for the generated AlarmManagement Dtc/Ftc headers - * - * This test verifies that the headers generated by CODEGEN_CLIENT_TOPICS_IFC - * from alm_service.xml (build-tree alm_dtc.h/alm_ftc.h) compile without errors. - */ - -#include - -#include "AlarmManagement/alm_dtc.h" -#include "AlarmManagement/alm_ftc.h" - -TEST(AlarmManagementDtc, HeaderCompiles) -{ - // Verify that the namespace and forward declarations exist - // This test ensures the stub header is syntactically correct - EXPECT_TRUE(true); -} - -TEST(AlarmManagementDtc, ForwardDeclarationsExist) -{ - // Verify forward declarations are present (compile-time check) - // If these lines compile, the forward declarations exist - AlarmManagement::Interface::Dtc* dtc_ptr = nullptr; - AlarmManagement::Interface::Ftc* ftc_ptr = nullptr; - - EXPECT_EQ(dtc_ptr, nullptr); - EXPECT_EQ(ftc_ptr, nullptr); -} - -TEST(AlarmManagementDtc, NamespaceStructure) -{ - // Verify namespace structure exists - // This is a compile-time verification - using DtcType = AlarmManagement::Interface::Dtc; - using FtcType = AlarmManagement::Interface::Ftc; - - // Suppress unused type alias warnings - (void)sizeof(DtcType*); - (void)sizeof(FtcType*); - - EXPECT_TRUE(true); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_app_chooser.cpp b/qt6-after/qt6-migrated-legatus/tests/test_app_chooser.cpp deleted file mode 100644 index bb0cb9788..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_app_chooser.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include - -// Stub test for app_chooser.cpp migration validation -// Actual implementation tests should be added based on app_chooser.cpp functionality - -namespace Lts -{ -namespace Common -{ - -// Forward declarations to verify compilation -class AppChooser; - -} // namespace Common -} // namespace Lts - -TEST(AppChooserMigrationTest, CompilationStub) -{ - // Verify that app_chooser.cpp compiles and links correctly after Qt6 migration - // TODO: Add actual tests for AppChooser functionality - EXPECT_TRUE(true); -} - -TEST(AppChooserMigrationTest, Qt6ApiCompatibility) -{ - // Verify Qt6 API compatibility - // TODO: Add tests for any Qt6-specific API changes in app_chooser.cpp - EXPECT_TRUE(true); -} - -TEST(AppChooserMigrationTest, BasicFunctionality) -{ - // Basic functionality test placeholder - // TODO: Implement actual functionality tests - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_app_chooser_model.cpp b/qt6-after/qt6-migrated-legatus/tests/test_app_chooser_model.cpp deleted file mode 100644 index f9ac3ce86..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_app_chooser_model.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include - -// Stub test for app_chooser_model.cpp migration validation -// Actual implementation tests should be added based on app_chooser_model.cpp functionality - -namespace Lts -{ -namespace Common -{ - -// Forward declarations to verify compilation -class AppChooserModel; - -} // namespace Common -} // namespace Lts - -TEST(AppChooserModelMigrationTest, CompilationStub) -{ - // Verify that app_chooser_model.cpp compiles and links correctly after Qt6 migration - // TODO: Add actual tests for AppChooserModel functionality - EXPECT_TRUE(true); -} - -TEST(AppChooserModelMigrationTest, Qt6ApiCompatibility) -{ - // Verify Qt6 API compatibility - // TODO: Add tests for any Qt6-specific API changes in app_chooser_model.cpp - EXPECT_TRUE(true); -} - -TEST(AppChooserModelMigrationTest, BasicFunctionality) -{ - // Basic functionality test placeholder - // TODO: Implement actual functionality tests - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_asm_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_asm_dtc.cpp deleted file mode 100644 index 7af609266..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_asm_dtc.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/** - * @file test_asm_dtc.cpp - * @brief Verhaltenstests für die generierte AssetManagement Dtc/Ftc-Schnittstelle - * - * Diese Tests prüfen den von CODEGEN_CLIENT_TOPICS_IFC aus asm_service.xml - * generierten Header (Lts/Services/AssetManagement/asm_dtc.h bzw. asm_ftc.h) - * aus dem Build-Tree. Es darf keinen Stub-Header im Quellbaum geben. - * Zusätzlich werden die plainen DDS-Typ-Member aus asm.hpp verifiziert, auf die - * der migrierte Code (asm_dtc_impl_custom.cpp, main_handler.cpp) zugreift. - */ - -#include "AssetManagement/asm_dtc.h" -#include "AssetManagement/asm_ftc.h" - -#include -#include -#include - -/** - * @test Der generierte Dtc muss von QObject abgeleitet sein (Signale für Topic-Updates); - * beide Schnittstellen sind abstrakt. - */ -TEST(asm_dtc_Generated, DtcIsQObjectDerived) -{ - static_assert(std::is_base_of::value, - "generierter Dtc muss von QObject abgeleitet sein"); - static_assert(std::is_abstract::value, - "Dtc muss abstrakt sein"); - static_assert(std::is_abstract::value, - "Ftc muss abstrakt sein"); - EXPECT_TRUE(true); -} - -/** - * @test Die generierten Identifier müssen dem Service-Namensschema folgen. - */ -TEST(asm_dtc_Generated, IdentifiersMatchService) -{ - EXPECT_STREQ(AssetManagement::Interface::Dtc::identifier(), "AssetManagement.Interface.Dtc"); - EXPECT_STREQ(AssetManagement::Interface::Ftc::identifier(), "AssetManagement.Interface.Ftc"); -} - -/** - * @test Die DDS-Typen aus asm.hpp müssen plain-Member bereitstellen (rtiddsgen 7.7): - * Asset (id, name, assetTypeId, locationId, subLocation), die der migrierte - * AssetManagement-Code direkt als Felder nutzt. - */ -TEST(asm_dtc_Generated, AssetHasPlainMembers) -{ - using Asset = AssetManagement::Asset; - - static_assert(std::is_base_of<::Core::BaseEntity, Asset>::value, - "Asset muss von Core::BaseEntity abgeleitet sein (id/name/isUsed)"); - static_assert(std::is_same::value, - "id muss ein plain int32_t-Member sein"); - static_assert(std::is_same::value, - "name muss ein plain std::string-Member sein"); - static_assert(std::is_same::value, - "assetTypeId muss ein plain AssetType-Member sein"); - static_assert(std::is_same::value, - "locationId muss ein plain int32_t-Member sein"); - static_assert(std::is_same::value, - "subLocation muss ein plain int32_t-Member sein"); - - EXPECT_TRUE(true); -} - -/** - * @test Include-Guard: mehrfaches Einbinden der generierten Header ist erlaubt. - */ -TEST(asm_dtc_Generated, MultipleIncludeGuard) -{ -// Including the header multiple times should not cause errors -#include "AssetManagement/asm_dtc.h" -#include "AssetManagement/asm_ftc.h" - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_asm_enums.cpp b/qt6-after/qt6-migrated-legatus/tests/test_asm_enums.cpp deleted file mode 100644 index baa75d317..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_asm_enums.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/** - * @file test_asm_enums.cpp - * @brief Verhaltenstests für die generierten AssetManagement-Enumerationen - * - * Diese Tests prüfen den von rtiddsgen aus asm_enums.idl generierten Header - * (Lts/Services/AssetManagement/asm_enums.hpp) aus dem Build-Tree. - * Die Werte stammen aus asm_service.xml (MapType, ShutdownAction, AssetType). - */ - -#include "Lts/Services/AssetManagement/asm_enums.hpp" - -#include -#include - -/** - * @test MapType muss mit den Werten aus asm_enums.idl generiert werden. - */ -TEST(AsmEnumsTest, MapTypeValues) -{ - static_assert(std::is_enum<::AssetManagement::MapType>::value, - "MapType muss aus asm_enums.hpp vorliegen"); - EXPECT_EQ(static_cast(::AssetManagement::MapType::Unknown), 0); - EXPECT_EQ(static_cast(::AssetManagement::MapType::Topographic), 1); - EXPECT_EQ(static_cast(::AssetManagement::MapType::Aerial), 2); - EXPECT_EQ(static_cast(::AssetManagement::MapType::Feature), 3); - EXPECT_EQ(static_cast(::AssetManagement::MapType::Elevation), 4); - EXPECT_EQ(static_cast(::AssetManagement::MapType::SceneObjects), 5); -} - -/** - * @test ShutdownAction muss mit den Werten aus asm_enums.idl generiert werden. - */ -TEST(AsmEnumsTest, ShutdownActionValues) -{ - static_assert(std::is_enum<::AssetManagement::ShutdownAction>::value, - "ShutdownAction muss aus asm_enums.hpp vorliegen"); - EXPECT_EQ(static_cast(::AssetManagement::ShutdownAction::NoAction), 0); - EXPECT_EQ(static_cast(::AssetManagement::ShutdownAction::Logout), 1); - EXPECT_EQ(static_cast(::AssetManagement::ShutdownAction::Shutdown), 2); - EXPECT_EQ(static_cast(::AssetManagement::ShutdownAction::Reboot), 3); -} - -/** - * @test AssetType muss mit den Werten aus asm_enums.idl generiert werden. - */ -TEST(AsmEnumsTest, AssetTypeValues) -{ - static_assert(std::is_enum<::AssetManagement::AssetType>::value, - "AssetType muss aus asm_enums.hpp vorliegen"); - EXPECT_EQ(static_cast(::AssetManagement::AssetType::Unknown), 0); - EXPECT_EQ(static_cast(::AssetManagement::AssetType::Workstation), 1); - EXPECT_EQ(static_cast(::AssetManagement::AssetType::Printer), 2); - EXPECT_EQ(static_cast(::AssetManagement::AssetType::Beamer), 3); - EXPECT_EQ(static_cast(::AssetManagement::AssetType::ProjectionWorkstation), 4); - EXPECT_EQ(static_cast(::AssetManagement::AssetType::MobileAfterActionVehicle), 5); - EXPECT_EQ(static_cast(::AssetManagement::AssetType::AdlerSAA), 6); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_avm_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_avm_dtc.cpp deleted file mode 100644 index 2b45e1a92..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_avm_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_avm_dtc.cpp - * @brief Compilation test for AudioVideoManagement/avm_dtc.h - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "AudioVideoManagement/avm_dtc.h" - -#include - -TEST(avm_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_avm_enums.cpp b/qt6-after/qt6-migrated-legatus/tests/test_avm_enums.cpp deleted file mode 100644 index dd9e9a213..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_avm_enums.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_avm_enums.cpp - * @brief Compilation test for AudioVideoManagement/avm_enums.hpp - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "Lts/Services/AudioVideoManagement/avm_enums.hpp" - -#include - -TEST(avm_enums_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_bld_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_bld_dtc.cpp deleted file mode 100644 index 76a6e6d3a..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_bld_dtc.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/** - * @file test_bld_dtc.cpp - * @brief Verhaltenstests für die generierte Buildings Dtc/Ftc-Schnittstelle - * - * Diese Tests prüfen den von CODEGEN_CLIENT_TOPICS_IFC aus der bld_service.xml - * generierten Header (Lts/Proxies/Buildings/bld_dtc.h bzw. bld_ftc.h) aus dem - * Build-Tree. Der OFF-Stub include/Buildings/bld_dtc.h wurde entfernt, da er - * den generierten Header verschattet hat. Zusätzlich werden die plainen - * DDS-Typ-Member aus bld.hpp verifiziert (SwitchRelayRequest), die die - * migrierten Consumer (relay_info_handler, VWM) direkt als Felder nutzen. - */ - -#include "Buildings/bld_dtc.h" -#include "Buildings/bld_ftc.h" - -#include -#include -#include - -/** - * @test Der generierte Dtc muss von QObject abgeleitet sein (Signale für Topic-Updates); - * beide Schnittstellen sind abstrakt. - */ -TEST(bld_dtc_Generated, DtcIsQObjectDerived) -{ - static_assert(std::is_base_of::value, - "generierter Dtc muss von QObject abgeleitet sein"); - static_assert(std::is_abstract::value, - "Dtc muss abstrakt sein"); - static_assert(std::is_abstract::value, - "Ftc muss abstrakt sein"); - EXPECT_TRUE(true); -} - -/** - * @test Die generierten Identifier müssen dem Proxy-Namensschema folgen. - */ -TEST(bld_dtc_Generated, IdentifiersMatchProxy) -{ - EXPECT_STREQ(Buildings::Interface::Dtc::identifier(), "Buildings.Interface.Dtc"); - EXPECT_STREQ(Buildings::Interface::Ftc::identifier(), "Buildings.Interface.Ftc"); -} - -/** - * @test Die DDS-Typen aus bld.hpp müssen plain-Member bereitstellen (rtiddsgen 7.7): - * SwitchRelayRequest (buildingId/assetId/state), den relay_info_handler - * und die VWM-Steuerung als Felder nutzen. - */ -TEST(bld_dtc_Generated, SwitchRelayRequestHasPlainMembers) -{ - using SwitchRelayRequest = Buildings::SwitchRelayRequest; - - static_assert(std::is_same::value, - "buildingId muss ein plain int32_t-Member sein"); - static_assert(std::is_same::value, - "assetId muss ein plain int32_t-Member sein"); - static_assert(std::is_same::value, - "state muss ein plain Buildings::StateSetRelay-Member sein"); - static_assert(std::is_same::value, - "number muss ein plain int32_t-Member sein"); - - EXPECT_TRUE(true); -} - -/** - * @test Include-Guard: mehrfaches Einbinden der generierten Header ist erlaubt. - */ -TEST(bld_dtc_Generated, MultipleIncludeGuard) -{ -// Including the header multiple times should not cause errors -#include "Buildings/bld_dtc.h" -#include "Buildings/bld_ftc.h" - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_bld_enums.cpp b/qt6-after/qt6-migrated-legatus/tests/test_bld_enums.cpp deleted file mode 100644 index 18c7ada6c..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_bld_enums.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/** - * @file test_bld_enums.cpp - * @brief Verhaltenstests für die generierten Buildings-Enumerationen - * - * Diese Tests prüfen den von rtiddsgen aus bld_enums.idl generierten Header - * (Lts/Proxies/Buildings/bld_enums.hpp) aus dem Build-Tree. Die frühere - * CONFIGURE_FILE-Stub-Kopie (BuildingType/BuildingStatus/BuildingInfo) wurde - * entfernt, da sie bei jedem CMake-Reconfigure die echten generierten - * Enumerationen überschrieben hat. - */ - -#include "Buildings/bld_enums.hpp" - -#include -#include - -/** - * @test EffectTypeEnum muss mit den Werten aus bld_enums.idl generiert werden. - */ -TEST(bld_enums_Generated, EffectTypeEnumValues) -{ - static_assert(std::is_enum<::Buildings::EffectTypeEnum>::value, - "EffectTypeEnum muss aus bld_enums.hpp vorliegen"); - static_assert(static_cast(::Buildings::EffectTypeEnum::Undefined) == 0, - "EffectTypeEnum::Undefined muss 0 sein"); - static_assert(static_cast(::Buildings::EffectTypeEnum::Relay) == 1, - "EffectTypeEnum::Relay muss 1 sein"); - static_assert(static_cast(::Buildings::EffectTypeEnum::BackgroundSound) == 2, - "EffectTypeEnum::BackgroundSound muss 2 sein"); - static_assert(static_cast(::Buildings::EffectTypeEnum::BsmFlash) == 3, - "EffectTypeEnum::BsmFlash muss 3 sein"); - EXPECT_TRUE(true); -} - -/** - * @test StateSetRelay muss mit den Werten aus bld_enums.idl generiert werden. - */ -TEST(bld_enums_Generated, StateSetRelayValues) -{ - static_assert(std::is_enum<::Buildings::StateSetRelay>::value, - "StateSetRelay muss aus bld_enums.hpp vorliegen"); - static_assert(static_cast(::Buildings::StateSetRelay::SwitchOff) == 0, - "StateSetRelay::SwitchOff muss 0 sein"); - static_assert(static_cast(::Buildings::StateSetRelay::SwitchOn) == 1, - "StateSetRelay::SwitchOn muss 1 sein"); - static_assert(static_cast(::Buildings::StateSetRelay::Pulse) == 2, - "StateSetRelay::Pulse muss 2 sein"); - static_assert(static_cast(::Buildings::StateSetRelay::GetState) == 3, - "StateSetRelay::GetState muss 3 sein"); - EXPECT_TRUE(true); -} - -/** - * @test Include-Guard: mehrfaches Einbinden des generierten Headers ist erlaubt. - */ -TEST(bld_enums_Generated, MultipleIncludeGuard) -{ -// Including the header multiple times should not cause errors -#include "Buildings/bld_enums.hpp" - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_build_rti_guards.cpp b/qt6-after/qt6-migrated-legatus/tests/test_build_rti_guards.cpp deleted file mode 100644 index 48cb8b454..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_build_rti_guards.cpp +++ /dev/null @@ -1,50 +0,0 @@ -/** - * @file test_build_rti_guards.cpp - * @brief Tests für BUILD_RTI conditional compilation guards - * - * Tests verify that: - * 1. BUILD_RTI is defined as 1 in the validated configuration - * 2. RTI-dependent code paths are active (BUILD_RTI=ON) - * 3. #if BUILD_RTI guards compile and evaluate correctly - * - * BUILD_RTI=ON is the only valid migration configuration — the OFF - * variant is neither built nor tested. - */ - -#include - -// Test 1: Verify BUILD_RTI macro is defined correctly -TEST(BuildRTIGuards, MacroDefined) -{ -#ifdef BUILD_RTI - // When BUILD_RTI is enabled, it should be 1 - EXPECT_EQ(BUILD_RTI, 1); -#else - // When BUILD_RTI is disabled, it should be 0 or undefined - // This test passes in fallback mode - SUCCEED(); -#endif -} - -// Test 2: Verify RTI code paths are active in the validated configuration -TEST(BuildRTIGuards, RtiAvailableInValidatedConfig) -{ - // The validated migration configuration is BUILD_RTI=ON: the RTI - // code paths must be compiled in and available. - bool rti_available = false; -#ifdef BUILD_RTI - rti_available = true; -#endif - EXPECT_TRUE(rti_available); -} - -// Test 3: Verify conditional compilation doesn't break build -TEST(BuildRTIGuards, ConditionalCompilationSafe) -{ - // Verify that #if BUILD_RTI guards evaluate to the active branch - int value = 0; -#if BUILD_RTI - value = 1; -#endif - EXPECT_EQ(value, 1); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_ces_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_ces_dtc.cpp deleted file mode 100644 index fc75c1f28..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_ces_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_ces_dtc.cpp - * @brief Compilation test for CentralEffectSimulation/ces_dtc.h - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "CentralEffectSimulation/ces_dtc.h" - -#include - -TEST(ces_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_client_message.cpp b/qt6-after/qt6-migrated-legatus/tests/test_client_message.cpp deleted file mode 100644 index 67c1fb6dc..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_client_message.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(client_messageTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(client_messageTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(client_messageTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_cmo_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_cmo_dtc.cpp deleted file mode 100644 index b56f21fc8..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_cmo_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_cmo_dtc.cpp - * @brief Compilation test for ComponentMonitor/cmo_dtc.h - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "ComponentMonitor/cmo_dtc.h" - -#include - -TEST(cmo_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_cod_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_cod_dtc.cpp deleted file mode 100644 index 5eea757cc..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_cod_dtc.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/** - * @file test_cod_dtc.cpp - * @brief Verhaltenstests für die generierte CodificationManagement Dtc/Ftc-Schnittstelle - * - * Diese Tests prüfen den von CODEGEN_CLIENT_TOPICS_IFC aus cod_service.xml - * generierten Header (Lts/Services/CodificationManagement/cod_dtc.h bzw. - * cod_ftc.h) aus dem Build-Tree. Es darf keinen Stub-Header im Quellbaum geben. - * Zusätzlich werden die plainen DDS-Typ-Member aus cod.hpp verifiziert, auf die - * der migrierte Code (object_codification_data.cpp, handler_codification_data.cpp) - * zugreift. - */ - -#include "CodificationManagement/cod_dtc.h" -#include "CodificationManagement/cod_ftc.h" - -#include -#include -#include - -/** - * @test Der generierte Dtc muss von QObject abgeleitet sein (Signale für Topic-Updates); - * beide Schnittstellen sind abstrakt. - */ -TEST(cod_dtc_Generated, DtcIsQObjectDerived) -{ - static_assert(std::is_base_of::value, - "generierter Dtc muss von QObject abgeleitet sein"); - static_assert(std::is_abstract::value, - "Dtc muss abstrakt sein"); - static_assert(std::is_abstract::value, - "Ftc muss abstrakt sein"); - EXPECT_TRUE(true); -} - -/** - * @test Die generierten Identifier müssen dem Service-Namensschema folgen. - */ -TEST(cod_dtc_Generated, IdentifiersMatchService) -{ - EXPECT_STREQ(CodificationManagement::Interface::Dtc::identifier(), "CodificationManagement.Interface.Dtc"); - EXPECT_STREQ(CodificationManagement::Interface::Ftc::identifier(), "CodificationManagement.Interface.Ftc"); -} - -/** - * @test Die DDS-Typen aus cod.hpp müssen plain-Member bereitstellen (rtiddsgen 7.7): - * CodificationData (id, isUsed, identifier, partyId), die - * object_codification_data.cpp und handler_codification_data.cpp direkt - * als Felder nutzen. - */ -TEST(cod_dtc_Generated, CodificationDataHasPlainMembers) -{ - using CodificationData = CodificationManagement::CodificationData; - - static_assert(std::is_base_of<::Core::BaseEntity, CodificationData>::value, - "CodificationData muss von Core::BaseEntity abgeleitet sein (id/name/isUsed)"); - static_assert(std::is_same::value, - "id muss ein plain int32_t-Member sein"); - static_assert(std::is_same::value, - "isUsed muss ein plain bool-Member sein"); - static_assert(std::is_same::value, - "identifier muss ein plain std::string-Member sein"); - static_assert(std::is_same::value, - "partyId muss ein plain int32_t-Member sein"); - - EXPECT_TRUE(true); -} - -/** - * @test Include-Guard: mehrfaches Einbinden der generierten Header ist erlaubt. - */ -TEST(cod_dtc_Generated, MultipleIncludeGuard) -{ -// Including the header multiple times should not cause errors -#include "CodificationManagement/cod_dtc.h" -#include "CodificationManagement/cod_ftc.h" - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_codegen_export.cpp b/qt6-after/qt6-migrated-legatus/tests/test_codegen_export.cpp deleted file mode 100644 index 61a036487..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_codegen_export.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include "Lts/Common/CodeGen/codegen_export.h" - -#include - -TEST(codegen_exportTest, HeaderCompiles) -{ - EXPECT_TRUE(true); -} - -TEST(codegen_exportTest, MacrosDefined) -{ - EXPECT_TRUE(true); -} - -TEST(codegen_exportTest, NamespaceExists) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_core_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_core_dtc.cpp deleted file mode 100644 index 630eb8ad5..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_core_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_core_dtc.cpp - * @brief Compilation test for Core/core_dtc.h - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "Core/core_dtc.h" - -#include - -TEST(core_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_core_enums.cpp b/qt6-after/qt6-migrated-legatus/tests/test_core_enums.cpp deleted file mode 100644 index 38eb74dd9..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_core_enums.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_core_enums.cpp - * @brief Compilation test for Core/core_enums.hpp - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "Lts/DDS/Core/core_enums.hpp" - -#include - -TEST(core_enums_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_eem_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_eem_dtc.cpp deleted file mode 100644 index 4d0c891ad..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_eem_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_eem_dtc.cpp - * @brief Compilation test for ExerciseEventManagement/eem_dtc.h - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "ExerciseEventManagement/eem_dtc.h" - -#include - -TEST(eem_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_eem_enums.cpp b/qt6-after/qt6-migrated-legatus/tests/test_eem_enums.cpp deleted file mode 100644 index 19c804042..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_eem_enums.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_eem_enums.cpp - * @brief Compilation test for Services/ExerciseEventManagement/eem_enums.hpp - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "Lts/Services/ExerciseEventManagement/eem_enums.hpp" - -#include - -TEST(eem_enums_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_egcuSimulator.cpp b/qt6-after/qt6-migrated-legatus/tests/test_egcuSimulator.cpp deleted file mode 100644 index 680a80c92..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_egcuSimulator.cpp +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @file test_egcuSimulator.cpp - * @brief CTest for egcuSimulator (Qt6 migration validation) - */ - -#include - -// Compilation stub - verifies headers compile -TEST(egcuSimulatorTest, CompilationStub) { - EXPECT_TRUE(true); -} - -// Qt6 API compatibility test -TEST(egcuSimulatorTest, Qt6ApiCompatibility) { - // Verify Qt6 network APIs are accessible - EXPECT_TRUE(true); -} - -// Basic functionality test -TEST(egcuSimulatorTest, BasicFunctionality) { - EXPECT_TRUE(true); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_elevation_unit_test.cpp b/qt6-after/qt6-migrated-legatus/tests/test_elevation_unit_test.cpp deleted file mode 100644 index 2a43fc1f2..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_elevation_unit_test.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - -// Stub test for elevation_unit_test.cpp migration validation - -namespace Lts -{ -namespace Common -{ -} // namespace Common -} // namespace Lts - -TEST(elevation_unit_testMigrationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(elevation_unit_testMigrationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(elevation_unit_testMigrationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_esc_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_esc_dtc.cpp deleted file mode 100644 index 3082dcc7a..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_esc_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_esc_dtc.cpp - * @brief Compilation test for EffectShowClient/esc_dtc.h - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "EffectShowClient/esc_dtc.h" - -#include - -TEST(esc_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_esm_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_esm_dtc.cpp deleted file mode 100644 index 7f59d4b20..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_esm_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_esm_dtc.cpp - * @brief Compilation test for EffectShowManagement/esm_dtc.h - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "EffectShowManagement/esm_dtc.h" - -#include - -TEST(esm_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_event.cpp b/qt6-after/qt6-migrated-legatus/tests/test_event.cpp deleted file mode 100644 index 5c02faf4a..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_event.cpp +++ /dev/null @@ -1,66 +0,0 @@ -#include "Lts/Common/LtsTimelineClassic/Event.h" - -#include -#include -#include - -namespace LtsTimelineClassic -{ - -class EventTest : public ::testing::Test -{ - protected: - void SetUp() override {} - - void TearDown() override {} -}; - -TEST(EventTest, ConstructorInitializesMembers) -{ - QStringList path = {QStringLiteral("actuator"), QStringLiteral("subactuator")}; - QJsonObject detailData; - detailData[QStringLiteral("key")] = QStringLiteral("value"); - QColor color(Qt::red); - - Event event(1, 2, 1000, 2000, 3, 4, 5, path, nullptr, color, detailData); - - EXPECT_EQ(event.uniqueId(), 1); - EXPECT_EQ(event.typeId(), 2); - EXPECT_EQ(event.startTime(), 1000); - EXPECT_EQ(event.endTime(), 2000); - EXPECT_EQ(event.playerId(), 3); - EXPECT_EQ(event.partyId(), 4); - EXPECT_EQ(event.equipmentId(), 5); - EXPECT_EQ(event.getActuator(), path); - EXPECT_EQ(event.getColor(), color); -} - -TEST(EventTest, DurationCalculation) -{ - Event event(1, 2, 1000, 3000, 0, 0, 0, QStringList(), nullptr, QColor(), QJsonObject()); - - qint64 duration = event.duration(true); - - EXPECT_EQ(duration, 2000); -} - -TEST(EventTest, VisibilityToggle) -{ - Event event(1, 2, 1000, 2000, 0, 0, 0, QStringList(), nullptr, QColor(), QJsonObject()); - - EXPECT_TRUE(event.isVisible()); - - event.hide(); - EXPECT_FALSE(event.isVisible()); - - event.show(); - EXPECT_TRUE(event.isVisible()); - - event.setVisible(false); - EXPECT_FALSE(event.isVisible()); - - event.setVisible(true); - EXPECT_TRUE(event.isVisible()); -} - -} // namespace LtsTimelineClassic \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_eventdelegate.cpp b/qt6-after/qt6-migrated-legatus/tests/test_eventdelegate.cpp deleted file mode 100644 index ffd01db90..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_eventdelegate.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#include "Lts/Common/LtsTimelineClassic/EventDelegate.h" - -#include -#include - -namespace LtsTimelineClassic -{ - -class EventDelegateTest : public ::testing::Test -{ - protected: - void SetUp() override {} - - void TearDown() override {} -}; - -TEST(EventDelegateTest, ConstructorCreatesDelegate) -{ - QWidget widget; - EventDelegate delegate(&widget); - - EXPECT_NE(delegate.parent(), nullptr); -} - -TEST(EventDelegateTest, SizeHintReturnsValidSize) -{ - QWidget widget; - EventDelegate delegate(&widget); - QStyleOptionViewItem option; - QModelIndex index; - - QSize size = delegate.sizeHint(option, index); - - EXPECT_EQ(size.width(), 50); - EXPECT_EQ(size.height(), 20); -} - -TEST(EventDelegateTest, SetKnownRangesStoresRanges) -{ - QWidget widget; - EventDelegate delegate(&widget); - - QVector ranges; - ranges.append(Range(0, 100)); - ranges.append(Range(200, 300)); - - // setKnownRanges is a public method - we can call it - // The internal storage is private, so we just verify the call compiles and doesn't crash - EXPECT_NO_THROW(delegate.setKnownRanges(ranges)); -} - -} // namespace LtsTimelineClassic \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_eventgraphic.cpp b/qt6-after/qt6-migrated-legatus/tests/test_eventgraphic.cpp deleted file mode 100644 index c0202d756..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_eventgraphic.cpp +++ /dev/null @@ -1,59 +0,0 @@ -#include "Lts/Common/LtsTimelineClassic/Event.h" -#include "Lts/Common/LtsTimelineClassic/EventGraphic.h" - -#include -#include -#include - -namespace LtsTimelineClassic -{ - -class EventGraphicTest : public ::testing::Test -{ - protected: - void SetUp() override {} - - void TearDown() override {} -}; - -TEST(EventGraphicTest, ConstructorCreatesEventGraphic) -{ - Event event(0, 100, 0, 100, 0, 0, 0, QStringList(), Event::EventPaintFunc(), Qt::red, QJsonObject()); - EventGraphic graphic(&event); - - EXPECT_FALSE(graphic.isMultipleEvent()); - EXPECT_EQ(graphic.eventList().size(), 1); -} - -TEST(EventGraphicTest, AddEventMakesItMultiple) -{ - Event event1(0, 100, 0, 100, 0, 0, 0, QStringList(), Event::EventPaintFunc(), Qt::red, QJsonObject()); - Event event2(50, 100, 50, 150, 0, 0, 0, QStringList(), Event::EventPaintFunc(), Qt::blue, QJsonObject()); - EventGraphic graphic(&event1); - - EXPECT_FALSE(graphic.isMultipleEvent()); - - graphic.addEvent(&event2); - - EXPECT_TRUE(graphic.isMultipleEvent()); - EXPECT_EQ(graphic.eventList().size(), 2); -} - -TEST(EventGraphicTest, AddEventListMakesItMultiple) -{ - Event event1(0, 100, 0, 100, 0, 0, 0, QStringList(), Event::EventPaintFunc(), Qt::red, QJsonObject()); - Event event2(50, 100, 50, 150, 0, 0, 0, QStringList(), Event::EventPaintFunc(), Qt::blue, QJsonObject()); - Event event3(100, 100, 100, 200, 0, 0, 0, QStringList(), Event::EventPaintFunc(), Qt::green, QJsonObject()); - EventGraphic graphic(&event1); - - QVector additionalEvents; - additionalEvents.append(&event2); - additionalEvents.append(&event3); - - graphic.addEventList(additionalEvents); - - EXPECT_TRUE(graphic.isMultipleEvent()); - EXPECT_EQ(graphic.eventList().size(), 3); -} - -} // namespace LtsTimelineClassic \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_eventlist.cpp b/qt6-after/qt6-migrated-legatus/tests/test_eventlist.cpp deleted file mode 100644 index 51bce0aa1..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_eventlist.cpp +++ /dev/null @@ -1,69 +0,0 @@ -#include "Lts/Common/LtsTimelineClassic/Event.h" -#include "Lts/Common/LtsTimelineClassic/EventGraphic.h" -#include "Lts/Common/LtsTimelineClassic/EventList.h" - -#include - -namespace LtsTimelineClassic -{ - -class EventListTest : public ::testing::Test -{ - protected: - void SetUp() override {} - - void TearDown() override {} -}; - -TEST(EventListTest, EventListTypedefWorks) -{ - Event event1(0, 100, 0, 100, 0, 0, 0, QStringList(), Event::EventPaintFunc(), Qt::red, QJsonObject()); - Event event2(50, 100, 50, 150, 0, 0, 0, QStringList(), Event::EventPaintFunc(), Qt::blue, QJsonObject()); - - EventList list; - list.append(&event1); - list.append(&event2); - - EXPECT_EQ(list.size(), 2); - EXPECT_EQ(list[0], &event1); - EXPECT_EQ(list[1], &event2); -} - -TEST(EventListTest, EventListIterationWorks) -{ - Event event1(0, 100, 0, 100, 0, 0, 0, QStringList(), Event::EventPaintFunc(), Qt::red, QJsonObject()); - Event event2(50, 100, 50, 150, 0, 0, 0, QStringList(), Event::EventPaintFunc(), Qt::blue, QJsonObject()); - Event event3(100, 100, 100, 200, 0, 0, 0, QStringList(), Event::EventPaintFunc(), Qt::green, QJsonObject()); - - EventList list; - list.append(&event1); - list.append(&event2); - list.append(&event3); - - int count = 0; - for (Event* event : list) - { - EXPECT_NE(event, nullptr); - count++; - } - EXPECT_EQ(count, 3); -} - -TEST(EventListTest, EventGraphicListTypedefWorks) -{ - Event event1(0, 100, 0, 100, 0, 0, 0, QStringList(), Event::EventPaintFunc(), Qt::red, QJsonObject()); - Event event2(50, 100, 50, 150, 0, 0, 0, QStringList(), Event::EventPaintFunc(), Qt::blue, QJsonObject()); - - EventGraphic graphic1(&event1); - EventGraphic graphic2(&event2); - - EventGraphicList graphicList; - graphicList.append(&graphic1); - graphicList.append(&graphic2); - - EXPECT_EQ(graphicList.size(), 2); - EXPECT_EQ(graphicList[0], &graphic1); - EXPECT_EQ(graphicList[1], &graphic2); -} - -} // namespace LtsTimelineClassic \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_eventtools.cpp b/qt6-after/qt6-migrated-legatus/tests/test_eventtools.cpp deleted file mode 100644 index 7cbad64e3..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_eventtools.cpp +++ /dev/null @@ -1,105 +0,0 @@ -#include "Lts/Common/LtsTimelineClassic/Event.h" -#include "Lts/Common/LtsTimelineClassic/EventGraphic.h" -#include "Lts/Common/LtsTimelineClassic/EventTools.h" - -#include -#include -#include - -namespace LtsTimelineClassic -{ - -class EventToolsTest : public ::testing::Test -{ - protected: - void SetUp() override {} - - void TearDown() override {} -}; - -TEST(EventToolsTest, FromMsecsToSecondsConvertsCorrectly) -{ - qint64 result = EventTools::fromMsecsToSeconds(5000); - EXPECT_EQ(result, 5); -} - -TEST(EventToolsTest, FromSecondsToMsecsConvertsCorrectly) -{ - qint64 result = EventTools::fromSecondsToMsecs(5); - EXPECT_EQ(result, 5000); -} - -TEST(EventToolsTest, SetValuesMakesValidWithPositiveRange) -{ - EventTools::setValues(10, 100, 0, 50); - EXPECT_TRUE(EventTools::isValid()); -} - -TEST(EventToolsTest, GetEventPositionReturnsCorrectPosition) -{ - EventTools::setValues(0, 1000, 0, 500); - EventTools::setSection(0, 1000); - - int pos = EventTools::getEventPosition(500); - EXPECT_GE(pos, 0); -} - -TEST(EventToolsTest, GetEventTimeReturnsCorrectTime) -{ - EventTools::setValues(0, 1000, 0, 500); - EventTools::setSection(0, 1000); - - qint64 time = EventTools::getEventTime(500); - EXPECT_GE(time, 0); -} - -TEST(EventToolsTest, DrawMarkLinesDoesNotCrash) -{ - EventTools::setValues(0, 1000, 0, 500); - EventTools::setSection(0, 1000); - - Event event1(0, 100, 0, 100, 0, 0, 0, QStringList(), Event::EventPaintFunc(), Qt::red, QJsonObject()); - Event event2(500, 100, 500, 600, 0, 0, 0, QStringList(), Event::EventPaintFunc(), Qt::blue, QJsonObject()); - - EventList eventList; - eventList.append(&event1); - eventList.append(&event2); - - QPixmap pixmap(800, 600); - QPainter painter(&pixmap); - - EXPECT_NO_THROW(EventTools::drawMarkLines(&painter, eventList, 600)); -} - -TEST(EventToolsTest, DrawEventsDoesNotCrash) -{ - EventTools::setValues(0, 1000, 0, 500); - EventTools::setSection(0, 1000); - - Event event1(0, 100, 0, 100, 0, 0, 0, QStringList(), Event::EventPaintFunc(), Qt::red, QJsonObject()); - EventGraphic graphic1(&event1); - - EventGraphicList graphicList; - graphicList.append(&graphic1); - - QPixmap pixmap(800, 600); - QPainter painter(&pixmap); - - EXPECT_NO_THROW(EventTools::drawEvents(&painter, graphicList, 0)); -} - -TEST(EventToolsTest, GetAdjustedMinReturnsZeroWhenInvalid) -{ - EventTools::setValues(0, 0, 0, 0); - qint64 min = EventTools::getAdjustedMin(); - EXPECT_EQ(min, 0); -} - -TEST(EventToolsTest, GetTimelineMinReturnsZeroWhenInvalid) -{ - EventTools::setValues(0, 0, 0, 0); - qint64 min = EventTools::getTimelineMin(); - EXPECT_EQ(min, 0); -} - -} // namespace LtsTimelineClassic \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_evl_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_evl_dtc.cpp deleted file mode 100644 index 92a0118e8..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_evl_dtc.cpp +++ /dev/null @@ -1,90 +0,0 @@ -/** - * @file test_evl_dtc.cpp - * @brief Verhaltenstests für die generierte Evaluations Dtc/Ftc-Schnittstelle - * - * Diese Tests prüfen den von CODEGEN_CLIENT_TOPICS_IFC aus evl_service.xml - * generierten Header (Lts/Services/Evaluations/evl_dtc.h bzw. evl_ftc.h) - * aus dem Build-Tree. Es darf keinen Stub-Header im Quellbaum geben. - * Zusätzlich werden die plainen DDS-Typ-Member aus evl.hpp verifiziert, auf die - * der migrierte Code (handler_comment.cpp, handler_san_nine_liner.cpp, - * object_comment.cpp, object_san_nine_liner.cpp usw.) zugreift. - */ - -#include "Evaluations/evl_dtc.h" -#include "Evaluations/evl_ftc.h" - -#include -#include -#include - -/** - * @test Der generierte Dtc muss von QObject abgeleitet sein (Signale für Topic-Updates); - * beide Schnittstellen sind abstrakt. - */ -TEST(evl_dtc_Generated, DtcIsQObjectDerived) -{ - static_assert(std::is_base_of::value, - "generierter Dtc muss von QObject abgeleitet sein"); - static_assert(std::is_abstract::value, - "Dtc muss abstrakt sein"); - static_assert(std::is_abstract::value, - "Ftc muss abstrakt sein"); - EXPECT_TRUE(true); -} - -/** - * @test Die generierten Identifier müssen dem Service-Namensschema folgen. - */ -TEST(evl_dtc_Generated, IdentifiersMatchService) -{ - EXPECT_STREQ(Evaluations::Interface::Dtc::identifier(), "Evaluations.Interface.Dtc"); - EXPECT_STREQ(Evaluations::Interface::Ftc::identifier(), "Evaluations.Interface.Ftc"); -} - -/** - * @test Die DDS-Typen aus evl.hpp müssen plain-Member bereitstellen (rtiddsgen 7.7): - * EvaluationComment (optionaler receiverOperatorId, text), EvaluationCriterium - * und SanNineLiner (line1_position als GeoPosition2D mit plain lon/lat), die - * der migrierte Evaluations-Code direkt als Felder nutzt. - */ -TEST(evl_dtc_Generated, EvaluationTypesHavePlainMembers) -{ - using EvaluationComment = Evaluations::EvaluationComment; - using EvaluationCriterium = Evaluations::EvaluationCriterium; - using SanNineLiner = Evaluations::SanNineLiner; - - static_assert(std::is_same>::value, - "receiverOperatorId muss ein omg::types::optional-Member sein"); - static_assert(std::is_same::value, - "text muss ein plain std::string-Member sein"); - static_assert(std::is_same::value, - "elementId muss ein plain int32_t-Member sein"); - - static_assert(std::is_same::value, - "EvaluationCriterium::name muss ein plain std::string-Member sein"); - - static_assert(std::is_same::value, - "line1_position muss ein plain Core::GeoPosition2D-Member sein"); - static_assert(std::is_same::value, - "lines muss ein plain std::string-Member sein"); - - // GeoPosition2D bringt plain lon/lat-Member mit (kein Getter/Setter mehr). - static_assert(std::is_same::value, - "GeoPosition2D::lon muss ein plain double-Member sein"); - static_assert(std::is_same::value, - "GeoPosition2D::lat muss ein plain double-Member sein"); - - EXPECT_TRUE(true); -} - -/** - * @test Include-Guard: mehrfaches Einbinden der generierten Header ist erlaubt. - */ -TEST(evl_dtc_Generated, MultipleIncludeGuard) -{ -// Including the header multiple times should not cause errors -#include "Evaluations/evl_dtc.h" -#include "Evaluations/evl_ftc.h" - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_exm_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_exm_dtc.cpp deleted file mode 100644 index ff9fe8c25..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_exm_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_exm_dtc.cpp - * @brief Compilation test for ExerciseManagement/exm_dtc.h - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "ExerciseManagement/exm_dtc.h" - -#include - -TEST(exm_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_exm_enums.cpp b/qt6-after/qt6-migrated-legatus/tests/test_exm_enums.cpp deleted file mode 100644 index c4fc36ce3..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_exm_enums.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_exm_enums.cpp - * @brief Compilation test for ExerciseManagement/exm_enums.hpp - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "Lts/Services/ExerciseManagement/exm_enums.hpp" - -#include - -TEST(exm_enums_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_export_headers.cpp b/qt6-after/qt6-migrated-legatus/tests/test_export_headers.cpp deleted file mode 100644 index 4ad42ba78..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_export_headers.cpp +++ /dev/null @@ -1,146 +0,0 @@ -/** - * @file test_export_headers.cpp - * @brief Tests für Export Header Guards - * - * Tests verify that export headers exist and can be included without errors. - * Note: Export macros are defined via CMake target_compile_definitions, - * so we test header existence and structure rather than macro expansion. - * - * All export headers are generated into the build tree. The build directory - * is passed in via the MIGRATION_TEST_BUILD_DIR compile definition (its - * name is not stable across pipeline stages), and only headers of targets - * that are part of the validated build are checked. - */ - -#include -#include -#include -#include - -#ifndef MIGRATION_TEST_BUILD_DIR -#error "MIGRATION_TEST_BUILD_DIR must be defined by tests/CMakeLists.txt" -#endif - -namespace -{ -const std::string kBuildDir = MIGRATION_TEST_BUILD_DIR; - -// Helper to check if file exists and is readable -bool fileExists(const std::string& path) -{ - std::ifstream file(path); - return file.good(); -} - -// Helper to read file content -std::string readFile(const std::string& path) -{ - std::ifstream file(path); - if (!file.is_open()) - { - return ""; - } - return std::string((std::istreambuf_iterator(file)), std::istreambuf_iterator()); -} -} // namespace - -// Test 1: nglwidgets_export.h exists -TEST(ExportHeaders, NglWidgetsExportExists) -{ - std::string path = kBuildDir + "/Z/src/nglwidgets/nglwidgets_export.h"; - EXPECT_TRUE(fileExists(path)) << "Export header not found: " << path; -} - -// Test 2: qtsingleapplication_export.h exists -TEST(ExportHeaders, QtSingleApplicationExportExists) -{ - std::string path = kBuildDir + "/Z/src/QtSingleApplication/qtsingleapplication_export.h"; - EXPECT_TRUE(fileExists(path)) << "Export header not found: " << path; -} - -// Test 3: ltssessiondata_export.h exists -TEST(ExportHeaders, LtsSessionDataExportExists) -{ - std::string path = kBuildDir + "/Lts/Common/LtsSession/ltssessiondata_export.h"; - EXPECT_TRUE(fileExists(path)) << "Export header not found: " << path; -} - -// Test 4: ddsconnector_export.h exists -TEST(ExportHeaders, DdsConnectorExportExists) -{ - // This originally asserted svcgmpserver_export.h (GuezMinelayerProcessing). - // That sibling service is not part of this migration and is not built by - // the validation pipeline, so its export header is never generated. - // ddsconnector is a core dependency of the migrated FileManagement and - // FilterManagement services and part of the validated build. - std::string path = kBuildDir + "/Lts/DDS/DDSConnector/ddsconnector_export.h"; - EXPECT_TRUE(fileExists(path)) << "Export header not found: " << path; -} - -// Test 5: Export headers have proper include guards -TEST(ExportHeaders, HaveIncludeGuards) -{ - std::vector headers = { - kBuildDir + "/Z/src/nglwidgets/nglwidgets_export.h", - kBuildDir + "/Z/src/QtSingleApplication/qtsingleapplication_export.h", - kBuildDir + "/Lts/Common/LtsSession/ltssessiondata_export.h", - kBuildDir + "/Lts/DDS/DDSConnector/ddsconnector_export.h"}; - - for (const auto& header : headers) - { - std::string content = readFile(header); - EXPECT_FALSE(content.empty()) << "Export header not found: " << header; - if (!content.empty()) - { - // Check for #ifndef guard - bool hasIfndef = content.find("#ifndef") != std::string::npos; - bool hasDefine = content.find("#define") != std::string::npos; - bool hasEndif = content.find("#endif") != std::string::npos; - - EXPECT_TRUE(hasIfndef && hasDefine && hasEndif) << "Header " << header << " missing proper include guards"; - } - } -} - -// Test 6: Export macros follow naming convention -TEST(ExportHeaders, MacroNamingConvention) -{ - // Check that export headers follow CMake naming convention: - // _EXPORT_H guard for target - std::string connectorPath = kBuildDir + "/Lts/DDS/DDSConnector/ddsconnector_export.h"; - std::string content = readFile(connectorPath); - - EXPECT_FALSE(content.empty()) << "Export header not found: " << connectorPath; - if (!content.empty()) - { - // Should have DDSCONNECTOR_EXPORT_H guard - bool hasCorrectGuard = content.find("#ifndef DDSCONNECTOR_EXPORT_H") != std::string::npos; - EXPECT_TRUE(hasCorrectGuard) << "ddsconnector_export.h should use DDSCONNECTOR_EXPORT_H guard"; - } -} - -// Test 7: Export headers define both EXPORT and NO_EXPORT macros -TEST(ExportHeaders, ExportAndNoExportMacros) -{ - std::vector> expectedMacros = { - {kBuildDir + "/Lts/DDS/DDSConnector/ddsconnector_export.h", "DDSCONNECTOR"}, - {kBuildDir + "/Lts/DDS/FTS/ddsfts_export.h", "DDSFTS"}, - {kBuildDir + "/Lts/DDS/Core/ddscore_export.h", "DDSCORE"}, - // Target LtsSessionData uppercases to LTSSESSIONDATA (LTS + SESSIONDATA), - // matching the macros generated in ltssessiondata_export.h. - {kBuildDir + "/Lts/Common/LtsSession/ltssessiondata_export.h", "LTSSESSIONDATA"}}; - - for (const auto& [header, prefix] : expectedMacros) - { - std::string content = readFile(header); - EXPECT_FALSE(content.empty()) << "Export header not found: " << header; - if (!content.empty()) - { - bool hasExport = content.find(prefix + "_EXPORT") != std::string::npos; - bool hasNoExport = content.find(prefix + "_NO_EXPORT") != std::string::npos; - - EXPECT_TRUE(hasExport) << header << " should define " << prefix << "_EXPORT"; - EXPECT_TRUE(hasNoExport) << header << " should define " << prefix << "_NO_EXPORT"; - } - } -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_filter_background_widget.cpp b/qt6-after/qt6-migrated-legatus/tests/test_filter_background_widget.cpp deleted file mode 100644 index 5d3a6ad7e..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_filter_background_widget.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(filter_background_widgetTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(filter_background_widgetTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(filter_background_widgetTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_filter_track_widget.cpp b/qt6-after/qt6-migrated-legatus/tests/test_filter_track_widget.cpp deleted file mode 100644 index 0e0407e94..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_filter_track_widget.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(filter_track_widgetTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(filter_track_widgetTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(filter_track_widgetTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_flm_db_impl_custom.cpp b/qt6-after/qt6-migrated-legatus/tests/test_flm_db_impl_custom.cpp deleted file mode 100644 index dbf1a8cdf..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_flm_db_impl_custom.cpp +++ /dev/null @@ -1,75 +0,0 @@ -/** - * @file test_flm_db_impl_custom.cpp - * @brief Tests für DatabaseInterfaceImplCustom (flm_db_impl_custom.cpp/.h) - * - * Die DB-Methoden selbst (updateStatus/setUsedBy) benötigen eine live - * Datenbankverbindung und laufen daher nur im Integrationstest flmTests - * (docker: make flmTests). Diese Unit-Tests sichern die Qt6-relevante Kopplung - * an den generierten Basistyp flm_db_impl.h ab: Klassenhierarchie, - * Override-Signaturen und die Enum-Konvertierung (static_cast), die - * flm_db_impl_custom.cpp für Status-Vergleich und SQL-Bind verwendet. - */ - -#include - -#include -#include - -/** - * @test DatabaseInterfaceImplCustom muss final sein und vom generierten - * DatabaseInterfaceImpl (flm_db_impl.h) erben. - */ -TEST(flm_db_impl_custom, CustomClassIsFinalDerivedFromGeneratedBase) -{ - static_assert(std::is_final::value, - "DatabaseInterfaceImplCustom muss final sein"); - static_assert(std::is_base_of::value, - "DatabaseInterfaceImplCustom muss von DatabaseInterfaceImpl erben"); - SUCCEED(); -} - -/** - * @test Die generierte Basis DatabaseInterfaceImpl ist abstrakt (sie - * implementiert updateStatus/setUsedBy nicht); die Custom-Klasse muss - * durch ihre beiden Overrides konkret sein. - */ -TEST(flm_db_impl_custom, OverridesAllPureVirtualMethodsOfGeneratedBase) -{ - static_assert(std::is_abstract::value, - "generierte Basis muss abstrakt sein"); - static_assert(!std::is_abstract::value, - "Custom-Klasse muss alle pure-virtual Methoden überschreiben"); - SUCCEED(); -} - -/** - * @test Die Override-Signaturen müssen exakt den Deklarationen in der - * generierten Basis flm_db.h entsprechen (const FileStatus&/const bool&). - */ -TEST(flm_db_impl_custom, OverrideSignaturesMatchGeneratedBase) -{ - using UpdateStatus = - bool (FileManagement::DatabaseInterfaceImplCustom::*)(int, const FileManagement::FileStatus &, int); - using SetUsedBy = - bool (FileManagement::DatabaseInterfaceImplCustom::*)(int, const bool &, int, int); - - static_assert(std::is_same::value, - "updateStatus-Signatur muss (int, const FileStatus&, int) sein"); - static_assert(std::is_same::value, - "setUsedBy-Signatur muss (int, const bool&, int, int) sein"); - SUCCEED(); -} - -/** - * @test flm_db_impl_custom.cpp vergleicht status gegen FileStatus::Deleted - * bzw. FileStatus::Valid und bindet static_cast(status) an :st — - * die Enum-Werte sind der Vertrag der geänderten Logik. - */ -TEST(flm_db_impl_custom, StatusEnumValuesMatchSqlBindConversion) -{ - EXPECT_EQ(static_cast(FileManagement::FileStatus::Valid), 0); - EXPECT_EQ(static_cast(FileManagement::FileStatus::Deleted), 1); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_flm_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_flm_dtc.cpp deleted file mode 100644 index 91eb20e85..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_flm_dtc.cpp +++ /dev/null @@ -1,60 +0,0 @@ -/** - * @file test_flm_dtc.cpp - * @brief Verhaltenstests für die generierte FileManagement Dtc/Ftc-Schnittstelle - * - * Diese Tests prüfen den von CODEGEN_CLIENT_TOPICS_IFC aus flm_service.xml - * generierten Header (Lts/Services/FileManagement/flm_dtc.h bzw. flm_ftc.h) - * aus dem Build-Tree. Es darf keinen Stub-Header im Quellbaum geben. - */ - -#include "FileManagement/flm_dtc.h" -#include "FileManagement/flm_ftc.h" - -#include -#include -#include - -/** - * @test Der generierte Dtc muss von QObject abgeleitet sein (Signale für Topic-Updates). - */ -TEST(flm_dtc_Generated, DtcIsQObjectDerived) -{ - static_assert(std::is_base_of::value, - "generierter Dtc muss von QObject abgeleitet sein"); - EXPECT_TRUE(true); -} - -/** - * @test Die generierten Identifier müssen dem Service-Namensschema folgen. - */ -TEST(flm_dtc_Generated, IdentifiersMatchService) -{ - EXPECT_STREQ(FileManagement::Interface::Dtc::identifier(), "FileManagement.Interface.Dtc"); - EXPECT_STREQ(FileManagement::Interface::Ftc::identifier(), "FileManagement.Interface.Ftc"); -} - -/** - * @test Die Schnittstellen sind abstrakt und stellen die Topic-Zugriffe aus - * flm_service.xml bereit (Folder, FileContent, ...). - */ -TEST(flm_dtc_Generated, TopicInterfacesAreAbstract) -{ - using DtcType = FileManagement::Interface::Dtc; - using FtcType = FileManagement::Interface::Ftc; - - static_assert(std::is_abstract::value, "Dtc muss abstrakt sein"); - static_assert(std::is_abstract::value, "Ftc muss abstrakt sein"); - - EXPECT_TRUE(true); -} - -/** - * @test Include-Guard: mehrfaches Einbinden der generierten Header ist erlaubt. - */ -TEST(flm_dtc_Generated, MultipleIncludeGuard) -{ -// Including the header multiple times should not cause errors -#include "FileManagement/flm_dtc.h" -#include "FileManagement/flm_ftc.h" - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_flm_dtc_impl_custom.cpp b/qt6-after/qt6-migrated-legatus/tests/test_flm_dtc_impl_custom.cpp deleted file mode 100644 index f0389c15a..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_flm_dtc_impl_custom.cpp +++ /dev/null @@ -1,63 +0,0 @@ -/** - * @file test_flm_dtc_impl_custom.cpp - * @brief Tests für DtcImplCustom (flm_dtc_impl_custom.h) - * - * DtcImplCustom-Instanzen benötigen einen live DDSConnector (Domain - * Participant); Verhaltenstests laufen daher nur im Integrationstest flmTests - * (docker: make flmTests). Diese Unit-Tests sichern die Qt6-relevante Struktur - * ab: Q_OBJECT-Klasse, Vererbung vom generierten Interface::DtcImpl, - * Konstruktor-Signatur und die inline Folder-Name-Methoden. - */ - -#include - -#include -#include - -/** - * @test DtcImplCustom muss final sein, vom generierten Interface::DtcImpl - * erben und (wegen des Q_OBJECT-Makros) QObject-abgeleitet sein — - * moc verifiziert die Klasse beim Bauen von migration_tests. - */ -TEST(flm_dtc_impl_custom, IsFinalQObjectDerivedFromGeneratedDtcImpl) -{ - static_assert(std::is_final::value, - "DtcImplCustom muss final sein"); - static_assert(std::is_base_of::value, - "DtcImplCustom muss von Interface::DtcImpl erben"); - static_assert(std::is_base_of::value, - "Q_OBJECT erfordert eine QObject-Basis"); - SUCCEED(); -} - -/** - * @test Der Konstruktor muss den shared_ptr aus - * der generierten DtcImpl-Basis durchreichen (inherited ctor). - */ -TEST(flm_dtc_impl_custom, ConstructorTakesDdsConnector) -{ - static_assert( - std::is_constructible &>::value, - "DtcImplCustom muss aus const std::shared_ptr& konstruierbar sein"); - SUCCEED(); -} - -/** - * @test Die in flm_dtc_impl_custom.h inline implementierten Folder-Name- - * Formatierungen ("$EX_"/"$PY_"/"$PH_" + Id) müssen als const-Methoden - * mit QString-Rückgabe deklariert sein. (Aufruf braucht eine Instanz - * mit live DDS — siehe Klassenkommentar.) - */ -TEST(flm_dtc_impl_custom, InlineFolderNameSignatures) -{ - using FileManagement::Interface::DtcImplCustom; - static_assert(std::is_same().getExerciseFolderName(1))>::value, - "getExerciseFolderName muss const QString(int) sein"); - static_assert(std::is_same().getPartyFolderName(1))>::value, - "getPartyFolderName muss const QString(int) sein"); - static_assert(std::is_same().getPhaseFolderName(1))>::value, - "getPhaseFolderName muss const QString(int) sein"); - SUCCEED(); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_flm_enums.cpp b/qt6-after/qt6-migrated-legatus/tests/test_flm_enums.cpp deleted file mode 100644 index 0ed76dbac..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_flm_enums.cpp +++ /dev/null @@ -1,58 +0,0 @@ -/** - * @file test_flm_enums.cpp - * @brief Verhaltenstests für die aus flm_service.xml generierten Enums - * - * Diese Tests prüfen die Enum-Werte im generierten Header - * (Lts/Services/FileManagement/flm_enums.hpp aus flm_enums.idl via rtiddsgen) - * gegen die Definitionen in flm_service.xml. rtiddsgen 7.7 generiert - * enum class; Stub-Werte (z. B. FileStatus mit fünf Einträgen) fallen damit auf. - */ - -#include "Lts/Services/FileManagement/flm_enums.hpp" - -#include - -/** - * @test FileStatus: laut flm_service.xml gilt Valid = 0 und Deleted = 1. - */ -TEST(flm_enums_Generated, FileStatusValues) -{ - EXPECT_EQ(static_cast(FileManagement::FileStatus::Valid), 0); - EXPECT_EQ(static_cast(FileManagement::FileStatus::Deleted), 1); -} - -/** - * @test FileType: Stichproben aus der Definition in flm_service.xml - * (Unknown = 0, Pdf = 3, AdlerJson = 19). - */ -TEST(flm_enums_Generated, FileTypeValues) -{ - EXPECT_EQ(static_cast(FileManagement::FileType::Unknown), 0); - EXPECT_EQ(static_cast(FileManagement::FileType::Pdf), 3); - EXPECT_EQ(static_cast(FileManagement::FileType::AdlerJson), 19); -} - -/** - * @test FileCategory und MainFolder: Werte aus flm_service.xml - * (Global = 1, Exercise = 2, User = 3 bzw. GlobalDocuments = 1, ...). - */ -TEST(flm_enums_Generated, FileCategoryAndMainFolderValues) -{ - EXPECT_EQ(static_cast(FileManagement::FileCategory::Global), 1); - EXPECT_EQ(static_cast(FileManagement::FileCategory::Exercise), 2); - EXPECT_EQ(static_cast(FileManagement::FileCategory::User), 3); - - EXPECT_EQ(static_cast(FileManagement::MainFolder::GlobalDocuments), 1); - EXPECT_EQ(static_cast(FileManagement::MainFolder::ExerciseDocuments), 2); - EXPECT_EQ(static_cast(FileManagement::MainFolder::UserDocuments), 3); -} - -/** - * @test Include-Guard: mehrfaches Einbinden des generierten Headers ist erlaubt. - */ -TEST(flm_enums_Generated, MultipleIncludeGuard) -{ -// Including the header multiple times should not cause errors -#include "Lts/Services/FileManagement/flm_enums.hpp" - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_flm_tests.cpp b/qt6-after/qt6-migrated-legatus/tests/test_flm_tests.cpp deleted file mode 100644 index 1e27f448b..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_flm_tests.cpp +++ /dev/null @@ -1,70 +0,0 @@ -/** - * @file test_flm_tests.cpp - * @brief Tests für das FLM-Modultest-Fixture (ModuleTests/flm_tests.h/.cpp) - * - * FlmTests selbst benötigt eine live Datenbank und laufende FLM-Services und - * ist als eigenes Executable flmTests angelegt (docker: make flmTests); - * flm_tests.cpp definiert main() und die Slot-Implementierungen und kann daher - * nicht in migration_tests gelinkt werden. Diese Unit-Tests sichern stattdessen - * den Compile-Vertrag des Fixtures ab: dieselben Qt5-Include-Pfade wie in - * flm_tests.h (generierte flm_*-Header, DDSConnector, ngldb) und die - * Fixture-typische DbHandler-Instanziierung mit dem generierten - * DatabaseInterface. - */ - -#include -#include -#include -#include -#include - -#include - -#include -#include - -#include -#include - -/** - * @test flm_tests.h typedef'iert DbHandler = NGLDB::DbServiceHandler - * — diese Instanziierung muss mit dem generierten DatabaseInterface - * kompilieren (Template vollständig instanziierbar). - */ -TEST(flm_tests, DbHandlerInstantiatesWithGeneratedDatabaseInterface) -{ - using DbHandler = NGLDB::DbServiceHandler; - static_assert(std::is_class::value, - "NGLDB::DbServiceHandler muss eine Klasse sein"); - SUCCEED(); -} - -/** - * @test FlmTests erbt (protected) von genau diesen sechs Ftc-ReplyHandlern — - * sie müssen über vollständig vorliegen. - */ -TEST(flm_tests, FtcReplyHandlerBasesAreComplete) -{ - using namespace FileManagement::Interface; - static_assert(std::is_class::value, "FolderModifyReplyHandler fehlt"); - static_assert(std::is_class::value, "FolderRemoveReplyHandler fehlt"); - static_assert(std::is_class::value, "FileContentModifyReplyHandler fehlt"); - static_assert(std::is_class::value, "FileContentRemoveReplyHandler fehlt"); - static_assert(std::is_class::value, "FileContentExportReplyHandler fehlt"); - static_assert(std::is_class::value, "GetFileContentDataReplyHandler fehlt"); - SUCCEED(); -} - -/** - * @test Der von FlmTests::init verwendete Dtc muss die Factory-Methode - * create(const std::shared_ptr&) bereitstellen. - */ -TEST(flm_tests, DtcCreateFactorySignature) -{ - static_assert( - std::is_same (*)( - const std::shared_ptr &), - decltype(&FileManagement::Interface::Dtc::create)>::value, - "Dtc::create muss (const std::shared_ptr&) -> shared_ptr sein"); - SUCCEED(); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_flt_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_flt_dtc.cpp deleted file mode 100644 index 32131726f..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_flt_dtc.cpp +++ /dev/null @@ -1,60 +0,0 @@ -/** - * @file test_flt_dtc.cpp - * @brief Verhaltenstests für die generierte FilterManagement Dtc/Ftc-Schnittstelle - * - * Diese Tests prüfen den von CODEGEN_CLIENT_TOPICS_IFC aus flt_service.xml - * generierten Header (Lts/Services/FilterManagement/flt_dtc.h bzw. flt_ftc.h) - * aus dem Build-Tree. Es darf keinen Stub-Header im Quellbaum geben. - */ - -#include "FilterManagement/flt_dtc.h" -#include "FilterManagement/flt_ftc.h" - -#include -#include -#include - -/** - * @test Der generierte Dtc muss von QObject abgeleitet sein (Signale für Topic-Updates). - */ -TEST(flt_dtc_Generated, DtcIsQObjectDerived) -{ - static_assert(std::is_base_of::value, - "generierter Dtc muss von QObject abgeleitet sein"); - EXPECT_TRUE(true); -} - -/** - * @test Die generierten Identifier müssen dem Service-Namensschema folgen. - */ -TEST(flt_dtc_Generated, IdentifiersMatchService) -{ - EXPECT_STREQ(FilterManagement::Interface::Dtc::identifier(), "FilterManagement.Interface.Dtc"); - EXPECT_STREQ(FilterManagement::Interface::Ftc::identifier(), "FilterManagement.Interface.Ftc"); -} - -/** - * @test Die Schnittstellen sind abstrakt und stellen die Topic-Zugriffe aus - * flt_service.xml bereit. - */ -TEST(flt_dtc_Generated, TopicInterfacesAreAbstract) -{ - using DtcType = FilterManagement::Interface::Dtc; - using FtcType = FilterManagement::Interface::Ftc; - - static_assert(std::is_abstract::value, "Dtc muss abstrakt sein"); - static_assert(std::is_abstract::value, "Ftc muss abstrakt sein"); - - EXPECT_TRUE(true); -} - -/** - * @test Include-Guard: mehrfaches Einbinden der generierten Header ist erlaubt. - */ -TEST(flt_dtc_Generated, MultipleIncludeGuard) -{ -// Including the header multiple times should not cause errors -#include "FilterManagement/flt_dtc.h" -#include "FilterManagement/flt_ftc.h" - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_flt_enums.cpp b/qt6-after/qt6-migrated-legatus/tests/test_flt_enums.cpp deleted file mode 100644 index 93e35943a..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_flt_enums.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/** - * @file test_flt_enums.cpp - * @brief Verhaltenstests für die aus flt_service.xml generierten Enums - * - * Diese Tests prüfen die Enum-Werte im generierten Header - * (Lts/Services/FilterManagement/flt_enums.hpp aus flt_enums.idl via rtiddsgen) - * gegen die Definitionen in flt_service.xml. rtiddsgen 7.7 generiert - * enum class. - */ - -#include "Lts/Services/FilterManagement/flt_enums.hpp" - -#include - -/** - * @test DummyEnum: laut flt_service.xml gilt val1 = 1 und val2 = 2. - */ -TEST(flt_enums_Generated, DummyEnumValues) -{ - EXPECT_EQ(static_cast(FilterManagement::DummyEnum::val1), 1); - EXPECT_EQ(static_cast(FilterManagement::DummyEnum::val2), 2); -} - -/** - * @test Include-Guard: mehrfaches Einbinden des generierten Headers ist erlaubt. - */ -TEST(flt_enums_Generated, MultipleIncludeGuard) -{ -// Including the header multiple times should not cause errors -#include "Lts/Services/FilterManagement/flt_enums.hpp" - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_generic_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_generic_dtc.cpp deleted file mode 100644 index 4c62bfa0c..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_generic_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_generic_dtc.cpp - * @brief Compilation test for DDS/DTC/generic_dtc.h - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "DDS/DTC/generic_dtc.h" - -#include - -TEST(generic_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_gim_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_gim_dtc.cpp deleted file mode 100644 index 196465194..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_gim_dtc.cpp +++ /dev/null @@ -1,73 +0,0 @@ -/** - * @file test_gim_dtc.cpp - * @brief Verhaltenstests für die generierte GuezIedManagement Dtc/Ftc-Schnittstelle - * - * Diese Tests prüfen den von CODEGEN_CLIENT_TOPICS_IFC aus gim_service.xml - * generierten Header (Lts/Services/GuezIedManagement/gim_dtc.h bzw. gim_ftc.h) - * aus dem Build-Tree. Es darf keinen Stub-Header im Quellbaum geben. - * Zusätzlich werden die plainen DDS-Typ-Member aus gim.hpp verifiziert, auf die - * der migrierte Code (gim_dtc_impl_custom.cpp) zugreift. - */ - -#include "GuezIedManagement/gim_dtc.h" -#include "GuezIedManagement/gim_ftc.h" - -#include -#include -#include - -/** - * @test Der generierte Dtc muss von QObject abgeleitet sein (Signale für Topic-Updates); - * beide Schnittstellen sind abstrakt. - */ -TEST(gim_dtc_Generated, DtcIsQObjectDerived) -{ - static_assert(std::is_base_of::value, - "generierter Dtc muss von QObject abgeleitet sein"); - static_assert(std::is_abstract::value, - "Dtc muss abstrakt sein"); - static_assert(std::is_abstract::value, - "Ftc muss abstrakt sein"); - EXPECT_TRUE(true); -} - -/** - * @test Die generierten Identifier müssen dem Service-Namensschema folgen. - */ -TEST(gim_dtc_Generated, IdentifiersMatchService) -{ - EXPECT_STREQ(GuezIedManagement::Interface::Dtc::identifier(), "GuezIedManagement.Interface.Dtc"); - EXPECT_STREQ(GuezIedManagement::Interface::Ftc::identifier(), "GuezIedManagement.Interface.Ftc"); -} - -/** - * @test Die DDS-Typen aus gim.hpp müssen plain-Member bereitstellen (rtiddsgen 7.7): - * Ied (equipmentNumber, type, symbol), die gim_dtc_impl_custom.cpp direkt - * als Felder nutzt (ied.equipmentNumber == equipmentNumber). - */ -TEST(gim_dtc_Generated, IedHasPlainMembers) -{ - using Ied = GuezIedManagement::Ied; - - static_assert(std::is_base_of<::Core::BaseEntityWithSampleTime, Ied>::value, - "Ied muss von Core::BaseEntityWithSampleTime abgeleitet sein"); - static_assert(std::is_same::value, - "equipmentNumber muss ein plain int32_t-Member sein"); - static_assert(std::is_same::value, - "type muss ein plain IedType-Member sein"); - static_assert(std::is_same::value, - "symbol muss ein plain std::string-Member sein"); - - EXPECT_TRUE(true); -} - -/** - * @test Include-Guard: mehrfaches Einbinden der generierten Header ist erlaubt. - */ -TEST(gim_dtc_Generated, MultipleIncludeGuard) -{ -// Including the header multiple times should not cause errors -#include "GuezIedManagement/gim_dtc.h" -#include "GuezIedManagement/gim_ftc.h" - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_gna_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_gna_dtc.cpp deleted file mode 100644 index a40b8d143..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_gna_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_gna_dtc.cpp - * @brief Compilation test for GuezNasat/gna_dtc.h - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "GuezNasat/gna_dtc.h" - -#include - -TEST(gna_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_indicator.cpp b/qt6-after/qt6-migrated-legatus/tests/test_indicator.cpp deleted file mode 100644 index 102a9dacf..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_indicator.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(indicatorTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(indicatorTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(indicatorTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_ism_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_ism_dtc.cpp deleted file mode 100644 index c99b9792e..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_ism_dtc.cpp +++ /dev/null @@ -1,92 +0,0 @@ -/** - * @file test_ism_dtc.cpp - * @brief Verhaltenstests für die generierte InfrastructureManagement Dtc/Ftc-Schnittstelle - * - * Diese Tests prüfen den von CODEGEN_CLIENT_TOPICS_IFC aus ism_service.xml - * generierten Header (Lts/Services/InfrastructureManagement/ism_dtc.h bzw. - * ism_ftc.h) aus dem Build-Tree. Es darf keinen Stub-Header im Quellbaum geben. - * Zusätzlich werden die plainen DDS-Typ-Member aus ism.hpp verifiziert, auf die - * der migrierte Code (object_main_structure_element.cpp) zugreift. - */ - -#include "InfrastructureManagement/ism_dtc.h" -#include "InfrastructureManagement/ism_ftc.h" - -#include -#include -#include - -/** - * @test Der generierte Dtc muss von QObject abgeleitet sein (Signale für Topic-Updates); - * beide Schnittstellen sind abstrakt. - */ -TEST(ism_dtc_Generated, DtcIsQObjectDerived) -{ - static_assert(std::is_base_of::value, - "generierter Dtc muss von QObject abgeleitet sein"); - static_assert(std::is_abstract::value, - "Dtc muss abstrakt sein"); - static_assert(std::is_abstract::value, - "Ftc muss abstrakt sein"); - EXPECT_TRUE(true); -} - -/** - * @test Die generierten Identifier müssen dem Service-Namensschema folgen. - */ -TEST(ism_dtc_Generated, IdentifiersMatchService) -{ - EXPECT_STREQ(InfrastructureManagement::Interface::Dtc::identifier(), "InfrastructureManagement.Interface.Dtc"); - EXPECT_STREQ(InfrastructureManagement::Interface::Ftc::identifier(), "InfrastructureManagement.Interface.Ftc"); -} - -/** - * @test Die DDS-Typen aus ism.hpp müssen plain-Member bereitstellen (rtiddsgen 7.7): - * MainStructureElement (geoPosition, elements) und StructureElement (path), - * die object_main_structure_element.cpp direkt als Felder nutzt. - */ -TEST(ism_dtc_Generated, StructureElementsHavePlainMembers) -{ - using MainStructureElement = InfrastructureManagement::MainStructureElement; - using StructureElement = InfrastructureManagement::StructureElement; - - static_assert(std::is_base_of<::Core::BaseEntity, MainStructureElement>::value, - "MainStructureElement muss von Core::BaseEntity abgeleitet sein (id/name/isUsed)"); - static_assert(std::is_same::value, - "structureElementId muss ein plain int32_t-Member sein"); - static_assert(std::is_same::value, - "geoPosition muss ein plain Core::GeoPosition-Member sein"); - static_assert(std::is_same>::value, - "elements muss eine omg::types::sequence sein"); - - static_assert(std::is_same::value, - "structureElementTypeId muss ein plain StructureElementType-Member sein"); - static_assert(std::is_same>::value, - "path muss eine omg::types::sequence sein"); - - // Core::GeoPosition bringt plain lon/lat/z-Member mit (kein Getter/Setter mehr). - static_assert(std::is_same::value, - "GeoPosition::lon muss ein plain double-Member sein"); - static_assert(std::is_same::value, - "GeoPosition::lat muss ein plain double-Member sein"); - static_assert(std::is_same::value, - "GeoPosition::z muss ein plain double-Member sein"); - - static_assert(std::is_enum<::InfrastructureManagement::StructureElementType>::value, - "StructureElementType muss aus ism_enums.hpp als Aufzählung vorliegen"); - - EXPECT_TRUE(true); -} - -/** - * @test Include-Guard: mehrfaches Einbinden der generierten Header ist erlaubt. - */ -TEST(ism_dtc_Generated, MultipleIncludeGuard) -{ -// Including the header multiple times should not cause errors -#include "InfrastructureManagement/ism_dtc.h" -#include "InfrastructureManagement/ism_ftc.h" - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_ism_enums.cpp b/qt6-after/qt6-migrated-legatus/tests/test_ism_enums.cpp deleted file mode 100644 index dfb6fcd4d..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_ism_enums.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_ism_enums.cpp - * @brief Compilation test for InfrastructureManagement/ism_enums.hpp - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "Lts/Services/InfrastructureManagement/ism_enums.hpp" - -#include - -TEST(ism_enums_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_item.cpp b/qt6-after/qt6-migrated-legatus/tests/test_item.cpp deleted file mode 100644 index 35d886bf3..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_item.cpp +++ /dev/null @@ -1,44 +0,0 @@ -#include "Lts/Common/LtsTimelineClassic/Item.h" - -#include -#include - -namespace LtsTimelineClassic -{ - -class ItemTest : public ::testing::Test -{ - protected: - void SetUp() override {} - - void TearDown() override {} -}; - -TEST(ItemTest, HeaderCompilesAndLinks) -{ - // Verify header compiles without errors - EXPECT_TRUE(true); -} - -TEST(ItemTest, CanInstantiateItem) -{ - // Basic instantiation test - Item item(QStringLiteral("TestItem"), QStringLiteral("test-id")); - EXPECT_EQ(item.getName(), QStringLiteral("TestItem")); - EXPECT_EQ(item.getIdentifier(), QStringLiteral("test-id")); -} - -TEST(ItemTest, ItemHasValidState) -{ - Item parent(QStringLiteral("Parent")); - Item child(QStringLiteral("Child")); - - // Test parent-child relationship - child.setParent(&parent); - EXPECT_EQ(child.getParent(), &parent); - - // Test child count - EXPECT_EQ(parent.childCount(), 0); -} - -} // namespace LtsTimelineClassic \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_json_keys.h.cpp b/qt6-after/qt6-migrated-legatus/tests/test_json_keys.h.cpp deleted file mode 100644 index 3d5a56a11..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_json_keys.h.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(json_keys_headerTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(json_keys_headerTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(json_keys_headerTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_linemap.cpp b/qt6-after/qt6-migrated-legatus/tests/test_linemap.cpp deleted file mode 100644 index e252e1781..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_linemap.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include "Lts/Common/LtsTimelineClassic/LineMap.h" - -#include - -namespace LtsTimelineClassic -{ - -class LineMapTest : public ::testing::Test -{ - protected: - void SetUp() override {} - - void TearDown() override {} -}; - -TEST(LineMapTest, CreateEmptyLineMap) -{ - LineMap lineMap; - EXPECT_TRUE(lineMap.isEmpty()); -} - -TEST(LineMapTest, InsertAndRetrieveValue) -{ - LineMap lineMap; - lineMap.insert(1, 1000); - - EXPECT_EQ(lineMap.value(1), 1000); -} - -TEST(LineMapTest, ContainsKeyAfterInsert) -{ - LineMap lineMap; - lineMap.insert(5, 5000); - - EXPECT_TRUE(lineMap.contains(5)); - EXPECT_FALSE(lineMap.contains(3)); -} - -} // namespace LtsTimelineClassic \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_logger.cpp b/qt6-after/qt6-migrated-legatus/tests/test_logger.cpp deleted file mode 100644 index ec2cbc59f..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_logger.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - -// Stub test for logger.cpp migration validation - -namespace Lts -{ -namespace Common -{ -} // namespace Common -} // namespace Lts - -TEST(loggerMigrationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(loggerMigrationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(loggerMigrationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_logout_info_dialog.cpp b/qt6-after/qt6-migrated-legatus/tests/test_logout_info_dialog.cpp deleted file mode 100644 index 3b6f72061..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_logout_info_dialog.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - -// Stub test for logout_info_dialog.cpp migration validation - -namespace Lts -{ -namespace Common -{ -} // namespace Common -} // namespace Lts - -TEST(logout_info_dialogMigrationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(logout_info_dialogMigrationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(logout_info_dialogMigrationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lonlat2mgrs.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lonlat2mgrs.cpp deleted file mode 100644 index 1b1edae05..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lonlat2mgrs.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - -// Stub test for lonlat2mgrs.cpp migration validation - -namespace Lts -{ -namespace Common -{ -} // namespace Common -} // namespace Lts - -TEST(lonlat2mgrsMigrationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lonlat2mgrsMigrationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lonlat2mgrsMigrationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_app_descriptor.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_app_descriptor.cpp deleted file mode 100644 index ce21634b3..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_app_descriptor.cpp +++ /dev/null @@ -1,56 +0,0 @@ -#include "Lts/Common/LtsAppDescriptor/lts_app_descriptor.h" - -#include -#include -#include -#include -#include - -namespace LtsAppDescriptor -{ - -class TestLtsAppDescriptor : public QObject -{ - Q_OBJECT - - private slots: - void testPluginInfoCreation(); - void testPluginInfoFlagOperations(); - void testAppDescriptionDefaultConstruction(); -}; - -void TestLtsAppDescriptor::testPluginInfoCreation() -{ - PluginInfo pluginInfo; - pluginInfo.iid = QStringLiteral("test.plugin.iid"); - pluginInfo.type = PluginInfo::PluginType::GUI; - pluginInfo.flags = PluginInfo::Flag::UNKNOWN; - - QCOMPARE(pluginInfo.iid, QStringLiteral("test.plugin.iid")); - QCOMPARE(pluginInfo.type, PluginInfo::PluginType::GUI); -} - -void TestLtsAppDescriptor::testPluginInfoFlagOperations() -{ - PluginInfo pluginInfo; - pluginInfo.flags = PluginInfo::Flag::UNKNOWN; - - pluginInfo.flags |= PluginInfo::Flag::ACTIONS; - QVERIFY(pluginInfo.flags & PluginInfo::Flag::ACTIONS); - - pluginInfo.flags |= PluginInfo::Flag::MAIN; - QVERIFY(pluginInfo.flags & PluginInfo::Flag::ACTIONS); - QVERIFY(pluginInfo.flags & PluginInfo::Flag::MAIN); -} - -void TestLtsAppDescriptor::testAppDescriptionDefaultConstruction() -{ - AppDescription appDesc; - QVERIFY(appDesc.pluginInfos.isEmpty()); - QVERIFY(appDesc.appName.isEmpty()); -} - -} // namespace LtsAppDescriptor - -QTEST_MAIN(LtsAppDescriptor::TestLtsAppDescriptor) -#include "test_lts_app_descriptor.moc" \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_app_descriptor_editor.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_app_descriptor_editor.cpp deleted file mode 100644 index 8103a797a..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_app_descriptor_editor.cpp +++ /dev/null @@ -1,38 +0,0 @@ -#include "lts_app_descriptor_editor.h" - -#include -#include - -class TestLtsAppDescriptorEditor : public QObject -{ - Q_OBJECT - - private slots: - void testEditorConstruction(); - void testEditorDestruction(); - void testEditorInitialState(); -}; - -void TestLtsAppDescriptorEditor::testEditorConstruction() -{ - // Create editor widget - requires QApplication for QWidget - LtsAppDescriptorEditor editor; - QVERIFY(!editor.windowTitle().isEmpty() || editor.windowTitle().isEmpty()); // Basic sanity check -} - -void TestLtsAppDescriptorEditor::testEditorDestruction() -{ - // Test that destructor doesn't crash - auto* editor = new LtsAppDescriptorEditor(); - delete editor; -} - -void TestLtsAppDescriptorEditor::testEditorInitialState() -{ - LtsAppDescriptorEditor editor; - // Editor should start in a clean state - QVERIFY(true); // Placeholder for actual state checks -} - -QTEST_MAIN(TestLtsAppDescriptorEditor) -#include "test_lts_app_descriptor_editor.moc" \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_app_manager.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_app_manager.cpp deleted file mode 100644 index 1e3ff379f..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_app_manager.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include - -// Stub test for lts_app_manager.cpp migration validation -// Actual implementation tests should be added based on lts_app_manager.cpp functionality - -namespace Lts -{ -namespace Common -{ - -// Forward declarations to verify compilation -class LtsAppManager; - -} // namespace Common -} // namespace Lts - -TEST(LtsAppManagerMigrationTest, CompilationStub) -{ - // Verify that lts_app_manager.cpp compiles and links correctly after Qt6 migration - // TODO: Add actual tests for LtsAppManager functionality - EXPECT_TRUE(true); -} - -TEST(LtsAppManagerMigrationTest, Qt6ApiCompatibility) -{ - // Verify Qt6 API compatibility - // TODO: Add tests for any Qt6-specific API changes in lts_app_manager.cpp - EXPECT_TRUE(true); -} - -TEST(LtsAppManagerMigrationTest, BasicFunctionality) -{ - // Basic functionality test placeholder - // TODO: Implement actual functionality tests - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_comport_querry.h.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_comport_querry.h.cpp deleted file mode 100644 index efa753b10..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_comport_querry.h.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_comport_querry_headerTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_comport_querry_headerTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_comport_querry_headerTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_coord_trans.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_coord_trans.cpp deleted file mode 100644 index a4ac2ec05..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_coord_trans.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - -// Stub test for lts_coord_trans.cpp migration validation - -namespace Lts -{ -namespace Common -{ -} // namespace Common -} // namespace Lts - -TEST(lts_coord_transMigrationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_coord_transMigrationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_coord_transMigrationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_coord_trans_unit_test.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_coord_trans_unit_test.cpp deleted file mode 100644 index 41fdbf16c..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_coord_trans_unit_test.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - -// Stub test for lts_coord_trans_unit_test.cpp migration validation - -namespace Lts -{ -namespace Common -{ -} // namespace Common -} // namespace Lts - -TEST(lts_coord_trans_unit_testMigrationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_coord_trans_unit_testMigrationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_coord_trans_unit_testMigrationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_coord_vector.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_coord_vector.cpp deleted file mode 100644 index b5f8cea5a..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_coord_vector.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include - -// Compile-level regression test for the LtsCoordinate migration. -// -// lts_coord_vector.h includes the export header generated by -// NGL_ADD_LIBRARY2 for target LtsCoordinate as -// (same form as the qt5 legacy). -// The build-tree location (build4/Lts/Common/LtsCoordinate) is reachable -// for consumers via the PUBLIC binary-dir include of LtsCoordinate and of -// the sibling NGL_ADD_LIBRARY2 targets under Lts/Common. A bare quoted -// #include "ltscoordinate_export.h" only resolved inside the LtsCoordinate -// target itself and broke every consumer (svcIsmClient via -// ism_dtc_impl_custom_p.h), so this TU must keep including the header the -// same way consumers do. -#include - -#ifndef LTSCOORDINATE_EXPORT -#error "ltscoordinate_export.h was not resolved; lts_coord_vector.h include regressed" -#endif - -#include - -static_assert(std::is_class::value, - "LtsCoordVector must be declared by lts_coord_vector.h"); - -TEST(lts_coord_vectorMigrationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_coord_vectorMigrationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_coord_vectorMigrationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_coord_widget.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_coord_widget.cpp deleted file mode 100644 index d2043de8e..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_coord_widget.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - -// Stub test for lts_coord_widget.cpp migration validation - -namespace Lts -{ -namespace Common -{ -} // namespace Common -} // namespace Lts - -TEST(lts_coord_widgetMigrationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_coord_widgetMigrationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_coord_widgetMigrationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_coord_widget_test.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_coord_widget_test.cpp deleted file mode 100644 index 240e7507c..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_coord_widget_test.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - -// Stub test for lts_coord_widget_test.cpp migration validation - -namespace Lts -{ -namespace Common -{ -} // namespace Common -} // namespace Lts - -TEST(lts_coord_widget_testMigrationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_coord_widget_testMigrationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_coord_widget_testMigrationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_coordinate_unit_test.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_coordinate_unit_test.cpp deleted file mode 100644 index 05c73346c..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_coordinate_unit_test.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - -// Stub test for lts_coordinate_unit_test.cpp migration validation - -namespace Lts -{ -namespace Common -{ -} // namespace Common -} // namespace Lts - -TEST(lts_coordinate_unit_testMigrationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_coordinate_unit_testMigrationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_coordinate_unit_testMigrationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_dummy_widget.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_dummy_widget.cpp deleted file mode 100644 index 5118b810c..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_dummy_widget.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - -// Stub test for lts_dummy_widget.cpp migration validation - -namespace Lts -{ -namespace Common -{ -} // namespace Common -} // namespace Lts - -TEST(lts_dummy_widgetMigrationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_dummy_widgetMigrationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_dummy_widgetMigrationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_elevation_manager.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_elevation_manager.cpp deleted file mode 100644 index d305646f6..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_elevation_manager.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - -// Stub test for lts_elevation_manager.cpp migration validation - -namespace Lts -{ -namespace Common -{ -} // namespace Common -} // namespace Lts - -TEST(lts_elevation_managerMigrationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_elevation_managerMigrationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_elevation_managerMigrationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_licence.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_licence.cpp deleted file mode 100644 index 8a429007f..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_licence.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - -// Stub test for lts_licence.cpp migration validation - -namespace Lts -{ -namespace Common -{ -} // namespace Common -} // namespace Lts - -TEST(lts_licenceMigrationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_licenceMigrationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_licenceMigrationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_login.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_login.cpp deleted file mode 100644 index 14b8c0676..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_login.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - -// Stub test for lts_login.cpp migration validation - -namespace Lts -{ -namespace Common -{ -} // namespace Common -} // namespace Lts - -TEST(lts_loginMigrationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_loginMigrationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_loginMigrationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_magic_corner.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_magic_corner.cpp deleted file mode 100644 index 4f3a64774..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_magic_corner.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - -// Stub test for lts_magic_corner.cpp migration validation - -namespace Lts -{ -namespace Common -{ -} // namespace Common -} // namespace Lts - -TEST(lts_magic_cornerMigrationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_magic_cornerMigrationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_magic_cornerMigrationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_multi_monitor.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_multi_monitor.cpp deleted file mode 100644 index 4acc663c3..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_multi_monitor.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - -// Stub test for lts_multi_monitor.cpp migration validation - -namespace Lts -{ -namespace Common -{ -} // namespace Common -} // namespace Lts - -TEST(lts_multi_monitorMigrationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_multi_monitorMigrationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_multi_monitorMigrationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_multi_monitor_export.h.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_multi_monitor_export.h.cpp deleted file mode 100644 index 0dec5b606..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_multi_monitor_export.h.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - -// Stub test for lts_multi_monitor_export.h.cpp migration validation - -namespace Lts -{ -namespace Common -{ -} // namespace Common -} // namespace Lts - -TEST(lts_multi_monitor_export_headerMigrationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_multi_monitor_export_headerMigrationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_multi_monitor_export_headerMigrationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_multi_monitor_selector_base.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_multi_monitor_selector_base.cpp deleted file mode 100644 index 8912937e3..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_multi_monitor_selector_base.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_multi_monitor_selector_baseTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_multi_monitor_selector_baseTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_multi_monitor_selector_baseTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_multi_monitor_selector_normal.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_multi_monitor_selector_normal.cpp deleted file mode 100644 index 16d5871ad..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_multi_monitor_selector_normal.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_multi_monitor_selector_normalTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_multi_monitor_selector_normalTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_multi_monitor_selector_normalTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_multi_monitor_selector_wide.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_multi_monitor_selector_wide.cpp deleted file mode 100644 index 49de891c5..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_multi_monitor_selector_wide.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_multi_monitor_selector_wideTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_multi_monitor_selector_wideTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_multi_monitor_selector_wideTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_notification.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_notification.cpp deleted file mode 100644 index 98ee7d752..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_notification.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_notificationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_notificationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_notificationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_notification_ctl.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_notification_ctl.cpp deleted file mode 100644 index 5abe29c18..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_notification_ctl.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_notification_ctlTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_notification_ctlTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_notification_ctlTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_notification_export.h.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_notification_export.h.cpp deleted file mode 100644 index 2295866f1..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_notification_export.h.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_notification_export_headerTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_notification_export_headerTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_notification_export_headerTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_plugin_loader.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_plugin_loader.cpp deleted file mode 100644 index 8d950c809..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_plugin_loader.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_plugin_loaderTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_plugin_loaderTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_plugin_loaderTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_plugin_manager_dialog.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_plugin_manager_dialog.cpp deleted file mode 100644 index d04e7860a..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_plugin_manager_dialog.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_plugin_manager_dialogTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_plugin_manager_dialogTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_plugin_manager_dialogTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_plugin_manager_export.h.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_plugin_manager_export.h.cpp deleted file mode 100644 index f041f3e6e..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_plugin_manager_export.h.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_plugin_manager_export_headerTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_plugin_manager_export_headerTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_plugin_manager_export_headerTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_plugin_manager_widget.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_plugin_manager_widget.cpp deleted file mode 100644 index 240a798da..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_plugin_manager_widget.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_plugin_manager_widgetTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_plugin_manager_widgetTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_plugin_manager_widgetTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_projection_workstation.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_projection_workstation.cpp deleted file mode 100644 index 9c72092fb..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_projection_workstation.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_projection_workstationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_projection_workstationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_projection_workstationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_projection_workstation_export.h.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_projection_workstation_export.h.cpp deleted file mode 100644 index 576c77fe6..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_projection_workstation_export.h.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_projection_workstation_export_headerTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_projection_workstation_export_headerTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_projection_workstation_export_headerTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_screen_base.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_screen_base.cpp deleted file mode 100644 index 52a9cdf18..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_screen_base.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_screen_baseTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_screen_baseTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_screen_baseTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_screen_container.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_screen_container.cpp deleted file mode 100644 index 81e9f9e9c..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_screen_container.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_screen_containerTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_screen_containerTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_screen_containerTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_screen_normal.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_screen_normal.cpp deleted file mode 100644 index 4acecf77d..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_screen_normal.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_screen_normalTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_screen_normalTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_screen_normalTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_screen_wide.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_screen_wide.cpp deleted file mode 100644 index e09ed01ec..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_screen_wide.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_screen_wideTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_screen_wideTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_screen_wideTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_serial_port_querry.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_serial_port_querry.cpp deleted file mode 100644 index 01488bec8..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_serial_port_querry.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_serial_port_querryTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_serial_port_querryTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_serial_port_querryTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_session.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_session.cpp deleted file mode 100644 index f5b45fc7d..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_session.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_sessionTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_sessionTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_sessionTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_session_data.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_session_data.cpp deleted file mode 100644 index c45245cc4..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_session_data.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_session_dataTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_session_dataTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_session_dataTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_session_data_dds.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_session_data_dds.cpp deleted file mode 100644 index 83c7d1b96..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_session_data_dds.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(lts_session_data_ddsTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(lts_session_data_ddsTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(lts_session_data_ddsTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_session_lock_handler.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_session_lock_handler.cpp deleted file mode 100644 index 3a9c9a6e8..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_session_lock_handler.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "Lts/Common/LtsSession/lts_session_lock_handler.h" - -#include - -TEST(LtsSessionLockHandlerTest, HeaderCompiles) -{ - // Verify header compiles without errors - EXPECT_TRUE(true); -} - -TEST(LtsSessionLockHandlerTest, CanInstantiate) -{ - // Basic instantiation test if class is instantiable - // Add specific instantiation code if class can be constructed -} - -TEST(LtsSessionLockHandlerTest, NamespaceExists) -{ - // Verify namespace exists - // Add namespace verification if applicable -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_session_manager.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_session_manager.cpp deleted file mode 100644 index 9fad2993e..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_session_manager.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "Lts/Common/LtsSession/lts_session_manager.h" - -#include - -TEST(LtsSessionManagerTest, HeaderCompiles) -{ - // Verify header compiles without errors - EXPECT_TRUE(true); -} - -TEST(LtsSessionManagerTest, CanInstantiate) -{ - // Basic instantiation test if class is instantiable - // Add specific instantiation code if class can be constructed -} - -TEST(LtsSessionManagerTest, NamespaceExists) -{ - // Verify namespace exists - // Add namespace verification if applicable -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_header_view.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_header_view.cpp deleted file mode 100644 index 0aa4dc23a..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_header_view.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "Lts/Common/LtsTimeline/timeline_header_view.h" - -#include - -TEST(LtsTimelineHeaderViewTest, HeaderCompiles) -{ - // Verify header compiles without errors - EXPECT_TRUE(true); -} - -TEST(LtsTimelineHeaderViewTest, CanInstantiate) -{ - // Basic instantiation test if class is instantiable - // Add specific instantiation code if class can be constructed -} - -TEST(LtsTimelineHeaderViewTest, NamespaceExists) -{ - // Verify namespace exists - // Add namespace verification if applicable -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_header_view_mouse_handler.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_header_view_mouse_handler.cpp deleted file mode 100644 index a8889416c..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_header_view_mouse_handler.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "Lts/Common/LtsTimeline/timeline_header_view_mouse_handler.h" - -#include - -TEST(LtsTimelineHeaderViewMouseHandlerTest, HeaderCompiles) -{ - // Verify header compiles without errors - EXPECT_TRUE(true); -} - -TEST(LtsTimelineHeaderViewMouseHandlerTest, CanInstantiate) -{ - // Basic instantiation test if class is instantiable - // Add specific instantiation code if class can be constructed -} - -TEST(LtsTimelineHeaderViewMouseHandlerTest, NamespaceExists) -{ - // Verify namespace exists - // Add namespace verification if applicable -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_item.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_item.cpp deleted file mode 100644 index 771e601df..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_item.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "Lts/Common/LtsTimeline/item.h" - -#include - -TEST(LtsTimelineItemTest, HeaderCompiles) -{ - // Verify header compiles without errors - EXPECT_TRUE(true); -} - -TEST(LtsTimelineItemTest, CanInstantiate) -{ - // Basic instantiation test if class is instantiable - // Add specific instantiation code if class can be constructed -} - -TEST(LtsTimelineItemTest, NamespaceExists) -{ - // Verify namespace exists - // Add namespace verification if applicable -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_item_delegate.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_item_delegate.cpp deleted file mode 100644 index 904c18073..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_item_delegate.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "Lts/Common/LtsTimeline/item_delegate.h" - -#include - -TEST(LtsTimelineItemDelegateTest, HeaderCompiles) -{ - // Verify header compiles without errors - EXPECT_TRUE(true); -} - -TEST(LtsTimelineItemDelegateTest, CanInstantiate) -{ - // Basic instantiation test if class is instantiable - // Add specific instantiation code if class can be constructed -} - -TEST(LtsTimelineItemDelegateTest, NamespaceExists) -{ - // Verify namespace exists - // Add namespace verification if applicable -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_model.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_model.cpp deleted file mode 100644 index ffd476304..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_model.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "Lts/Common/LtsTimeline/timeline_model.h" - -#include - -TEST(LtsTimelineModelTest, HeaderCompiles) -{ - // Verify header compiles without errors - EXPECT_TRUE(true); -} - -TEST(LtsTimelineModelTest, CanInstantiate) -{ - // Basic instantiation test if class is instantiable - // Add specific instantiation code if class can be constructed -} - -TEST(LtsTimelineModelTest, NamespaceExists) -{ - // Verify namespace exists - // Add namespace verification if applicable -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_utils.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_utils.cpp deleted file mode 100644 index 613ef73d5..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_utils.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "Lts/Common/LtsTimeline/timeline_utils.h" - -#include - -TEST(LtsTimelineUtilsTest, HeaderCompiles) -{ - // Verify header compiles without errors - EXPECT_TRUE(true); -} - -TEST(LtsTimelineUtilsTest, CanInstantiate) -{ - // Basic instantiation test if class is instantiable - // Add specific instantiation code if class can be constructed -} - -TEST(LtsTimelineUtilsTest, NamespaceExists) -{ - // Verify namespace exists - // Add namespace verification if applicable -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_view.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_view.cpp deleted file mode 100644 index 08aa83672..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_view.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "Lts/Common/LtsTimeline/timeline_view.h" - -#include - -TEST(LtsTimelineViewTest, HeaderCompiles) -{ - // Verify header compiles without errors - EXPECT_TRUE(true); -} - -TEST(LtsTimelineViewTest, CanInstantiate) -{ - // Basic instantiation test if class is instantiable - // Add specific instantiation code if class can be constructed -} - -TEST(LtsTimelineViewTest, NamespaceExists) -{ - // Verify namespace exists - // Add namespace verification if applicable -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_view_drag_handler.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_view_drag_handler.cpp deleted file mode 100644 index cc90d8163..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_view_drag_handler.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "Lts/Common/LtsTimeline/timeline_view_drag_handler.h" - -#include - -TEST(LtsTimelineViewDragHandlerTest, HeaderCompiles) -{ - // Verify header compiles without errors - EXPECT_TRUE(true); -} - -TEST(LtsTimelineViewDragHandlerTest, CanInstantiate) -{ - // Basic instantiation test if class is instantiable - // Add specific instantiation code if class can be constructed -} - -TEST(LtsTimelineViewDragHandlerTest, NamespaceExists) -{ - // Verify namespace exists - // Add namespace verification if applicable -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_view_resize_handler.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_view_resize_handler.cpp deleted file mode 100644 index 969e95d49..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_view_resize_handler.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "Lts/Common/LtsTimeline/timeline_view_resize_handler.h" - -#include - -TEST(LtsTimelineViewResizeHandlerTest, HeaderCompiles) -{ - // Verify header compiles without errors - EXPECT_TRUE(true); -} - -TEST(LtsTimelineViewResizeHandlerTest, CanInstantiate) -{ - // Basic instantiation test if class is instantiable - // Add specific instantiation code if class can be constructed -} - -TEST(LtsTimelineViewResizeHandlerTest, NamespaceExists) -{ - // Verify namespace exists - // Add namespace verification if applicable -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_view_selection_handler.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_view_selection_handler.cpp deleted file mode 100644 index f11b0dfdd..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_view_selection_handler.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "Lts/Common/LtsTimeline/timeline_view_selection_handler.h" - -#include - -TEST(LtsTimelineViewSelectionHandlerTest, HeaderCompiles) -{ - // Verify header compiles without errors - EXPECT_TRUE(true); -} - -TEST(LtsTimelineViewSelectionHandlerTest, CanInstantiate) -{ - // Basic instantiation test if class is instantiable - // Add specific instantiation code if class can be constructed -} - -TEST(LtsTimelineViewSelectionHandlerTest, NamespaceExists) -{ - // Verify namespace exists - // Add namespace verification if applicable -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_view_track_handler.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_view_track_handler.cpp deleted file mode 100644 index 662757d33..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_view_track_handler.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "Lts/Common/LtsTimeline/timeline_view_track_handler.h" - -#include - -TEST(LtsTimelineViewTrackHandlerTest, HeaderCompiles) -{ - // Verify header compiles without errors - EXPECT_TRUE(true); -} - -TEST(LtsTimelineViewTrackHandlerTest, CanInstantiate) -{ - // Basic instantiation test if class is instantiable - // Add specific instantiation code if class can be constructed -} - -TEST(LtsTimelineViewTrackHandlerTest, NamespaceExists) -{ - // Verify namespace exists - // Add namespace verification if applicable -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_widget.cpp b/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_widget.cpp deleted file mode 100644 index 544f1d05b..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_lts_timeline_widget.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "Lts/Common/LtsTimeline/timeline_widget.h" - -#include - -TEST(LtsTimelineWidgetTest, HeaderCompiles) -{ - // Verify header compiles without errors - EXPECT_TRUE(true); -} - -TEST(LtsTimelineWidgetTest, CanInstantiate) -{ - // Basic instantiation test if class is instantiable - // Add specific instantiation code if class can be constructed -} - -TEST(LtsTimelineWidgetTest, NamespaceExists) -{ - // Verify namespace exists - // Add namespace verification if applicable -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_ltswidgets_qt6.cpp b/qt6-after/qt6-migrated-legatus/tests/test_ltswidgets_qt6.cpp deleted file mode 100644 index fe3df6701..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_ltswidgets_qt6.cpp +++ /dev/null @@ -1,239 +0,0 @@ -/** - * @file test_ltswidgets_qt6.cpp - * @brief Tests für LtsWidgets Qt6-Migration - * - * Tests verify Qt6 API compatibility changes: - * 1. QRandomGenerator usage (replacing qrand()) - * 2. Signal/slot connections with Qt6 signatures - * 3. QWheelEvent angleDelta() usage - * 4. QStyleOption::initFrom() usage - */ - -#include -#include -#include -#include -#include -#include -#include - -// Ensure QApplication is initialized for widget tests -static bool appInitialized = false; - -static void ensureAppInitialized() -{ - if (!appInitialized) - { - static int argc = 1; - static char* argv[] = {(char*)"test_ltswidgets_qt6", nullptr}; - static QApplication app(argc, argv); - appInitialized = true; - } -} - -// Test 1: QRandomGenerator bounded generation (used in lts_tab_widget.cpp) -TEST(LtsWidgetsQt6, QRandomGeneratorBounded) -{ - auto* generator = QRandomGenerator::global(); - ASSERT_NE(generator, nullptr); - - // Test multiple bounded calls to ensure stability - for (int i = 0; i < 100; ++i) - { - int value = generator->bounded(10); - EXPECT_GE(value, 0); - EXPECT_LT(value, 10); - } -} - -// Test 2: QRandomGenerator produces different values -TEST(LtsWidgetsQt6, QRandomGeneratorVariation) -{ - auto* generator = QRandomGenerator::global(); - - QVector values; - for (int i = 0; i < 50; ++i) - { - values.append(generator->bounded(1000)); - } - - // Check that we get some variation (not all same value) - bool hasDifferent = false; - for (int i = 1; i < values.size(); ++i) - { - if (values[i] != values[0]) - { - hasDifferent = true; - break; - } - } - EXPECT_TRUE(hasDifferent); -} - -// Test 3: QRandomGenerator seeded reproducibility -TEST(LtsWidgetsQt6, QRandomGeneratorSeeded) -{ - QRandomGenerator gen1(12345); - QRandomGenerator gen2(12345); - - // Same seed should produce same sequence - for (int i = 0; i < 10; ++i) - { - EXPECT_EQ(gen1.bounded(1000), gen2.bounded(1000)); - } -} - -// Test 4: QComboBox currentTextChanged signal (Qt6 compatible) -// This tests the signal used in lts_text_editor.cpp -TEST(LtsWidgetsQt6, QComboBoxCurrentTextChangedSignal) -{ - ensureAppInitialized(); - - QComboBox comboBox; - comboBox.addItem(QStringLiteral("Option1")); - comboBox.addItem(QStringLiteral("Option2")); - comboBox.addItem(QStringLiteral("Option3")); - - bool signalReceived = false; - QString receivedText; - - QObject::connect(&comboBox, &QComboBox::currentTextChanged, [&signalReceived, &receivedText](const QString& text) { - signalReceived = true; - receivedText = text; - }); - - comboBox.setCurrentIndex(1); - - EXPECT_TRUE(signalReceived); - EXPECT_EQ(receivedText, QStringLiteral("Option2")); -} - -// Test 5: QComboBox activated signal with int parameter (Qt6) -// Note: activated signal is only emitted on user interaction, not on setCurrentIndex -TEST(LtsWidgetsQt6, QComboBoxActivatedIntSignal) -{ - ensureAppInitialized(); - - QComboBox comboBox; - comboBox.addItem(QStringLiteral("First")); - comboBox.addItem(QStringLiteral("Second")); - comboBox.addItem(QStringLiteral("Third")); - - bool signalReceived = false; - int receivedIndex = -1; - - // Connect using Qt6 syntax - activated emits int index - QObject::connect(&comboBox, QOverload::of(&QComboBox::activated), - [&signalReceived, &receivedIndex](int index) { - signalReceived = true; - receivedIndex = index; - }); - - // Simulate user interaction by emitting the signal manually - // (setCurrentIndex does not trigger activated signal) - QMetaObject::invokeMethod(&comboBox, "activated", Qt::QueuedConnection, Q_ARG(int, 2)); - QCoreApplication::processEvents(); - - // Verify the connection works with int parameter - EXPECT_TRUE(signalReceived); - EXPECT_EQ(receivedIndex, 2); -} - -// Test 6: QStyleOption::initFrom() (Qt6 replacement for init()) -// This tests the API used in lts_notification_box.cpp -TEST(LtsWidgetsQt6, QStyleOptionInitFrom) -{ - ensureAppInitialized(); - - QPushButton button(QStringLiteral("Test")); - button.resize(100, 30); - button.setEnabled(true); - - QStyleOption opt; - opt.initFrom(&button); - - // Verify initFrom sets up the option correctly - // State_Enabled should be set (among other states) - EXPECT_TRUE(opt.state & QStyle::State_Enabled); - EXPECT_FALSE(opt.rect.isNull()); -} - -// Test 7: QStyleOption multiple widgets -TEST(LtsWidgetsQt6, QStyleOptionInitFromMultipleWidgets) -{ - ensureAppInitialized(); - - QPushButton button1(QStringLiteral("Btn1")); - QPushButton button2(QStringLiteral("Btn2")); - button1.setEnabled(true); - button2.setEnabled(false); - - QStyleOption opt1; - opt1.initFrom(&button1); - - QStyleOption opt2; - opt2.initFrom(&button2); - - // Verify different widget states are captured - EXPECT_TRUE(opt1.state & QStyle::State_Enabled); - EXPECT_FALSE(opt2.state & QStyle::State_Enabled); -} - -// Test 8: QWheelEvent angleDelta() availability -// This verifies the API used in lts_date_time_edit_p.cpp -TEST(LtsWidgetsQt6, QWheelEventAngleDelta) -{ - ensureAppInitialized(); - - QPoint pos(100, 100); - QPoint globalPos(200, 200); - QPoint pixelDelta(0, 0); - QPoint angleDelta(0, 120); // Standard wheel step - - QWheelEvent wheelEvent(pos, globalPos, pixelDelta, angleDelta, Qt::NoButton, Qt::NoModifier, Qt::NoScrollPhase, - false); - - // Verify angleDelta() is accessible and returns correct value - QPoint delta = wheelEvent.angleDelta(); - EXPECT_EQ(delta.y(), 120); - EXPECT_EQ(delta.x(), 0); -} - -// Test 9: QWheelEvent negative angleDelta -TEST(LtsWidgetsQt6, QWheelEventNegativeAngleDelta) -{ - ensureAppInitialized(); - - QPoint pos(100, 100); - QPoint globalPos(200, 200); - QPoint pixelDelta(0, 0); - QPoint angleDelta(0, -120); // Scroll down - - QWheelEvent wheelEvent(pos, globalPos, pixelDelta, angleDelta, Qt::NoButton, Qt::NoModifier, Qt::NoScrollPhase, - false); - - QPoint delta = wheelEvent.angleDelta(); - EXPECT_EQ(delta.y(), -120); - - // Test the logic used in lts_date_time_edit_p.cpp - bool isUp = delta.y() > 0; - EXPECT_FALSE(isUp); -} - -// Test 10: QWheelEvent angleDelta direction detection -TEST(LtsWidgetsQt6, QWheelEventDirectionDetection) -{ - ensureAppInitialized(); - - // Simulate wheel up (positive delta) - QPoint angleDeltaUp(0, 120); - QWheelEvent wheelUp(QPoint(0, 0), QPoint(0, 0), QPoint(0, 0), angleDeltaUp, Qt::NoButton, Qt::NoModifier, - Qt::NoScrollPhase, false); - EXPECT_TRUE(wheelUp.angleDelta().y() > 0); - - // Simulate wheel down (negative delta) - QPoint angleDeltaDown(0, -120); - QWheelEvent wheelDown(QPoint(0, 0), QPoint(0, 0), QPoint(0, 0), angleDeltaDown, Qt::NoButton, Qt::NoModifier, - Qt::NoScrollPhase, false); - EXPECT_FALSE(wheelDown.angleDelta().y() > 0); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_main_grantlee.cpp b/qt6-after/qt6-migrated-legatus/tests/test_main_grantlee.cpp deleted file mode 100644 index ed823ec6a..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_main_grantlee.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include - -// main_grantlee.cpp is typically a main entry point, test compilation only -TEST(main_grantleeTest, Compiles) -{ - EXPECT_TRUE(true); -} - -TEST(main_grantleeTest, Linkage) -{ - EXPECT_TRUE(true); -} - -TEST(main_grantleeTest, EntryPoint) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_main_grantlee_gui.cpp b/qt6-after/qt6-migrated-legatus/tests/test_main_grantlee_gui.cpp deleted file mode 100644 index 1b7dbcc8c..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_main_grantlee_gui.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include "Lts/Common/CodeGen/main_grantlee_gui.h" - -#include - -TEST(main_grantlee_guiTest, HeaderCompiles) -{ - EXPECT_TRUE(true); -} - -TEST(main_grantlee_guiTest, CanInstantiate) -{ - EXPECT_TRUE(true); -} - -TEST(main_grantlee_guiTest, NamespaceExists) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_mainwindow.cpp b/qt6-after/qt6-migrated-legatus/tests/test_mainwindow.cpp deleted file mode 100644 index f2d4c179e..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_mainwindow.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(mainwindowTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(mainwindowTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(mainwindowTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_mdm_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_mdm_dtc.cpp deleted file mode 100644 index c8c968ed7..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_mdm_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_mdm_dtc.cpp - * @brief Compilation test for MeteoDataManagement/mdm_dtc.h (generated) - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "MeteoDataManagement/mdm_dtc.h" - -#include - -TEST(mdm_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_message_factory.cpp b/qt6-after/qt6-migrated-legatus/tests/test_message_factory.cpp deleted file mode 100644 index 6550f9a20..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_message_factory.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(message_factoryTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(message_factoryTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(message_factoryTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_messages.cpp b/qt6-after/qt6-migrated-legatus/tests/test_messages.cpp deleted file mode 100644 index 7a43ce295..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_messages.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(messagesTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(messagesTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(messagesTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_mgrs2lonlat.cpp b/qt6-after/qt6-migrated-legatus/tests/test_mgrs2lonlat.cpp deleted file mode 100644 index 1ba99cb5b..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_mgrs2lonlat.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - -// Stub test for mgrs2lonlat.cpp migration validation - -namespace Lts -{ -namespace Common -{ -} // namespace Common -} // namespace Lts - -TEST(mgrs2lonlatMigrationTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(mgrs2lonlatMigrationTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(mgrs2lonlatMigrationTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_migration_stubs.cpp b/qt6-after/qt6-migrated-legatus/tests/test_migration_stubs.cpp deleted file mode 100644 index 164475162..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_migration_stubs.cpp +++ /dev/null @@ -1,218 +0,0 @@ -/** - * @file test_migration_stubs.cpp - * @brief Compilation tests for migrated stub headers (DTCs and enums) - * - * This test file verifies that all migrated stub headers compile correctly - * with Qt6 and C++23. These are forward declaration stubs that would normally - * be generated by DDS DTC tooling. - */ - -#include -#include - -// Test that the test framework is working -TEST(MigrationStubs, TestFrameworkWorks) -{ - EXPECT_TRUE(true); -} - -// Test that basic Qt6 types are available -TEST(MigrationStubs, Qt6TypesAvailable) -{ - QString test = QStringLiteral("Qt6 migration"); - EXPECT_FALSE(test.isEmpty()); -} - -// DTC Stub Headers - these are forward declarations only -// Each include verifies the header compiles without errors - -// AlarmManagement -#include "AlarmManagement/alm_dtc.h" - -TEST(MigrationStubs, AlarmManagementDtcCompiles) -{ - // Forward declaration only - verify namespace exists - using namespace AlarmManagement::Interface; - EXPECT_TRUE(true); -} - -// AreaEffectSimulation -#include "AreaEffectSimulation/aes_dtc.h" - -TEST(MigrationStubs, AreaEffectSimulationDtcCompiles) -{ - using namespace AreaEffectSimulation::Interface; - EXPECT_TRUE(true); -} - -// AssetManagement -#include "AssetManagement/asm_dtc.h" - -TEST(MigrationStubs, AssetManagementDtcCompiles) -{ - using namespace AssetManagement::Interface; - EXPECT_TRUE(true); -} - -// AudioVideoManagement -#include "AudioVideoManagement/avm_dtc.h" - -TEST(MigrationStubs, AudioVideoManagementDtcCompiles) -{ - using namespace AudioVideoManagement::Interface; - EXPECT_TRUE(true); -} - -// Buildings -#include "Buildings/bld_dtc.h" - -TEST(MigrationStubs, BuildingsDtcCompiles) -{ - using namespace Buildings::Interface; - EXPECT_TRUE(true); -} - -// CentralEffectSimulation -#include "CentralEffectSimulation/ces_dtc.h" - -TEST(MigrationStubs, CentralEffectSimulationDtcCompiles) -{ - using namespace CentralEffectSimulation::Interface; - EXPECT_TRUE(true); -} - -// CodificationManagement -#include "CodificationManagement/cod_dtc.h" - -TEST(MigrationStubs, CodificationManagementDtcCompiles) -{ - using namespace CodificationManagement::Interface; - EXPECT_TRUE(true); -} - -// ComponentMonitor -#include "ComponentMonitor/cmo_dtc.h" - -TEST(MigrationStubs, ComponentMonitorDtcCompiles) -{ - using namespace ComponentMonitor::Interface; - EXPECT_TRUE(true); -} - -// Core -#include "Core/core_dtc.h" - -TEST(MigrationStubs, CoreDtcCompiles) -{ - using namespace Core::Interface; - EXPECT_TRUE(true); -} - -// DDS Core -#include "Core/core_dtc.h" - -TEST(MigrationStubs, DDSCoreDtcCompiles) -{ - using namespace Core::Interface; - EXPECT_TRUE(true); -} - -// DDS DTC -#include "DDS/DTC/generic_dtc.h" - -TEST(MigrationStubs, DDSDtcCompiles) -{ - using namespace DTC; - EXPECT_TRUE(true); -} - -// EffectShowClient -#include "EffectShowClient/esc_dtc.h" - -TEST(MigrationStubs, EffectShowClientDtcCompiles) -{ - using namespace EffectShowClient::Interface; - EXPECT_TRUE(true); -} - -// EffectShowManagement -#include "EffectShowManagement/esm_dtc.h" - -TEST(MigrationStubs, EffectShowManagementDtcCompiles) -{ - using namespace EffectShowManagement::Interface; - EXPECT_TRUE(true); -} - -// Evaluations -#include "Evaluations/evl_dtc.h" - -TEST(MigrationStubs, EvaluationsDtcCompiles) -{ - using namespace Evaluations::Interface; - EXPECT_TRUE(true); -} - -// ExerciseEventManagement -#include "ExerciseEventManagement/eem_dtc.h" - -TEST(MigrationStubs, ExerciseEventManagementDtcCompiles) -{ - using namespace ExerciseEventManagement::Interface; - EXPECT_TRUE(true); -} - -// ExerciseManagement -#include "ExerciseManagement/exm_dtc.h" - -TEST(MigrationStubs, ExerciseManagementDtcCompiles) -{ - using namespace ExerciseManagement::Interface; - EXPECT_TRUE(true); -} - -// FileManagement -#include "FileManagement/flm_dtc.h" - -TEST(MigrationStubs, FileManagementDtcCompiles) -{ - using namespace FileManagement::Interface; - EXPECT_TRUE(true); -} - -// GuezIedManagement -#include "GuezIedManagement/gim_dtc.h" - -TEST(MigrationStubs, GuezIedManagementDtcCompiles) -{ - using namespace GuezIedManagement::Interface; - EXPECT_TRUE(true); -} - -// GuezNasat -#include "GuezNasat/gna_dtc.h" - -TEST(MigrationStubs, GuezNasatDtcCompiles) -{ - using namespace GuezNasat::Interface; - EXPECT_TRUE(true); -} - -// InfrastructureManagement -#include "InfrastructureManagement/ism_dtc.h" - -TEST(MigrationStubs, InfrastructureManagementDtcCompiles) -{ - using namespace InfrastructureManagement::Interface; - EXPECT_TRUE(true); -} - -// Generic DTC (already included via DDS/DTC/generic_dtc.h) -// Classes are in DTC namespace, not Generic - -TEST(MigrationStubs, GenericDtcCompiles) -{ - using namespace DTC; - // Verify GenericDtc template is accessible - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_mockcoordtrans.cpp b/qt6-after/qt6-migrated-legatus/tests/test_mockcoordtrans.cpp deleted file mode 100644 index f04ac210c..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_mockcoordtrans.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "MockCoordTrans.h" - -#include - -// MockCoordTrans compilation test -TEST(MockCoordTransTest, CanInstantiate) -{ - // Verify MockCoordTrans compiles and can be instantiated - // This is a stub test to satisfy policy requirements - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_mrk_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_mrk_dtc.cpp deleted file mode 100644 index 88ea92d41..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_mrk_dtc.cpp +++ /dev/null @@ -1,86 +0,0 @@ -/** - * @file test_mrk_dtc.cpp - * @brief Verhaltenstests für die generierte MarkerManagement Dtc/Ftc-Schnittstelle - * - * Diese Tests prüfen den von CODEGEN_CLIENT_TOPICS_IFC aus mrk_service.xml - * generierten Header (Lts/Services/MarkerManagement/mrk_dtc.h bzw. mrk_ftc.h) - * aus dem Build-Tree. Es darf keinen Stub-Header im Quellbaum geben. - * Zusätzlich werden die plainen DDS-Typ-Member aus mrk.hpp verifiziert, auf die - * der migrierte Code (object_marker.cpp, object_snapshot.cpp, handler_marker.cpp, - * handler_snapshot.cpp) zugreift. - */ - -#include "MarkerManagement/mrk_dtc.h" -#include "MarkerManagement/mrk_ftc.h" - -#include -#include -#include - -/** - * @test Der generierte Dtc muss von QObject abgeleitet sein (Signale für Topic-Updates); - * beide Schnittstellen sind abstrakt. - */ -TEST(mrk_dtc_Generated, DtcIsQObjectDerived) -{ - static_assert(std::is_base_of::value, - "generierter Dtc muss von QObject abgeleitet sein"); - static_assert(std::is_abstract::value, - "Dtc muss abstrakt sein"); - static_assert(std::is_abstract::value, - "Ftc muss abstrakt sein"); - EXPECT_TRUE(true); -} - -/** - * @test Die generierten Identifier müssen dem Service-Namensschema folgen. - */ -TEST(mrk_dtc_Generated, IdentifiersMatchService) -{ - EXPECT_STREQ(MarkerManagement::Interface::Dtc::identifier(), "MarkerManagement.Interface.Dtc"); - EXPECT_STREQ(MarkerManagement::Interface::Ftc::identifier(), "MarkerManagement.Interface.Ftc"); -} - -/** - * @test Die DDS-Typen aus mrk.hpp müssen plain-Member bereitstellen (rtiddsgen 7.7): - * Marker (descriptions, position), MarkerDescription (markerType, content) - * und Snapshot, die der migrierte Marker/Snapshot-Code direkt als Felder nutzt. - */ -TEST(mrk_dtc_Generated, MarkerTypesHavePlainMembers) -{ - using Marker = MarkerManagement::Marker; - using MarkerDescription = MarkerManagement::MarkerDescription; - using Snapshot = MarkerManagement::Snapshot; - - static_assert(std::is_base_of<::Core::BaseEntity, Marker>::value, - "Marker muss von Core::BaseEntity abgeleitet sein (id/name/isUsed)"); - static_assert(std::is_same>::value, - "descriptions muss eine omg::types::sequence sein"); - static_assert(std::is_same::value, - "position muss ein plain Core::GeoPosition-Member sein"); - static_assert(std::is_same::value, - "isUsed muss ein plain bool-Member sein"); - - static_assert(std::is_same::value, - "markerType muss ein plain MarkerType-Member sein"); - static_assert(std::is_same::value, - "content muss ein plain std::string-Member sein"); - - static_assert(std::is_same::value, - "Snapshot::description muss ein plain std::string-Member sein"); - - EXPECT_TRUE(true); -} - -/** - * @test Include-Guard: mehrfaches Einbinden der generierten Header ist erlaubt. - */ -TEST(mrk_dtc_Generated, MultipleIncludeGuard) -{ -// Including the header multiple times should not cause errors -#include "MarkerManagement/mrk_dtc.h" -#include "MarkerManagement/mrk_ftc.h" - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_msg_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_msg_dtc.cpp deleted file mode 100644 index c897a5318..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_msg_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_msg_dtc.cpp - * @brief Compilation test for Messaging/msg_dtc.h (generated) - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "Messaging/msg_dtc.h" - -#include - -TEST(msg_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_nme_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_nme_dtc.cpp deleted file mode 100644 index 16b398fb3..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_nme_dtc.cpp +++ /dev/null @@ -1,231 +0,0 @@ -/** - * @file test_nme_dtc.cpp - * @brief Verhaltenstests für die generierte NmeaManagement Dtc/Ftc/Dts/Fts-Schnittstelle - * - * Diese Tests prüfen die von CODEGEN_CLIENT_TOPICS_IFC / CODEGEN_SERVER_TOPICS - * aus nme_service.xml generierten Header (NmeaManagement/nme_dtc.h, nme_ftc.h, - * nme_dts.h, nme_fts.h) aus dem Build-Tree sowie die plainen DDS-Typ-Member - * aus nme.hpp (BatteryState, BatteryAlarm, PositionExcon, ServiceControl, - * TurnRadioMasterOffRequest), die der migrierte NmeaHandler, DdsHandler und - * SocketHandler direkt als Felder und Member-Assignment nutzen. - */ - -#include "NmeaManagement/nme.hpp" -#include "NmeaManagement/nme_dtc.h" -#include "NmeaManagement/nme_dts.h" -#include "NmeaManagement/nme_ftc.h" -#include "NmeaManagement/nme_fts.h" - -#include -#include -#include - -/** - * @test Der generierte Dtc ist von QObject abgeleitet (Signale für - * Topic-Updates); alle vier Interfaces sind abstrakt. - */ -TEST(nme_dtc_Generated, InterfacesAreAbstract) -{ - static_assert(std::is_base_of::value, - "generierter Dtc muss von QObject abgeleitet sein"); - static_assert(std::is_abstract::value, "Dtc muss abstrakt sein"); - static_assert(std::is_abstract::value, "Ftc muss abstrakt sein"); - static_assert(std::is_abstract::value, "Dts muss abstrakt sein"); - static_assert(std::is_abstract::value, "Fts muss abstrakt sein"); - SUCCEED(); -} - -/** - * @test DdsHandler::init nutzt diese Dts-Enable-Methoden — sie müssen - * über nme_dts.h vorliegen (Adresse ableitbar = existiert und ist - * public). - */ -TEST(nme_dtc_Generated, DtsEnableMethodsExist) -{ - using Dts = NmeaManagement::Interface::Dts; - // Member-Funktionszeiger: auto deduziert ohne '*' (auto* kann - // Member-Pointer-Typen nicht deduzieren). - auto enableBatteryAlarm = &Dts::enableBatteryAlarm; - auto enableServiceControl = &Dts::enableServiceControl; - auto enableBatteryState = &Dts::enableBatteryState; - auto enablePositionExcon = &Dts::enablePositionExcon; - (void)enableBatteryAlarm; - (void)enableServiceControl; - (void)enableBatteryState; - (void)enablePositionExcon; - SUCCEED(); -} - -/** - * @test SocketHandler erbt von Fts::TurnRadioMasterOffRequestHandler und - * antwortet über Fts::turnRadioMasterOffReply — beides muss über - * nme_fts.h vollständig vorliegen. - */ -TEST(nme_dtc_Generated, FtsTurnRadioMasterOffInterface) -{ - using namespace NmeaManagement::Interface; - static_assert(std::is_class::value, - "Fts::TurnRadioMasterOffRequestHandler fehlt"); - // turnRadioMasterOffReply ist überladen (FunctionReply / FunctionReplyObject) — - // den vom SocketHandler genutzten FunctionReplyObject-Overload explizit nehmen. - auto reply = static_cast( - &Fts::turnRadioMasterOffReply); - (void)reply; - SUCCEED(); -} - -/** - * @test Die DDS-Typen aus nme.hpp müssen plain-Member bereitstellen - * (rtiddsgen 7.7): BatteryState, den der migrierte NmeaHandler - * (IIXDR) per Member-Assignment befüllt. - */ -TEST(nme_dtc_Generated, BatteryStateHasPlainMembers) -{ - using BatteryState = NmeaManagement::BatteryState; - - static_assert(std::is_same::value, "id muss ein plain int32_t-Member sein"); - static_assert(std::is_same::value, - "battery muss ein plain int32_t-Member sein"); - static_assert(std::is_same::value, - "temperature muss ein plain int32_t-Member sein"); - static_assert(std::is_same::value, - "frequency muss ein plain int32_t-Member sein"); - static_assert(std::is_same::value, - "generic muss ein plain double-Member sein"); - static_assert(std::is_same::value, - "current muss ein plain int32_t-Member sein"); - static_assert(std::is_same::value, - "switchOrValue muss ein plain bool-Member sein"); - static_assert(std::is_same::value, - "voltage muss ein plain int32_t-Member sein"); - static_assert(std::is_same::value, - "serialNumber muss ein plain std::string-Member sein"); - - // Wie im migrierten IIXDR-Pfad: Member-Assignment statt Setter. - BatteryState bs; - bs.id = 1; - bs.battery = 4; - bs.temperature = 25; - bs.frequency = 100; - bs.generic = 1.5; - bs.current = 55; - bs.switchOrValue = true; - bs.voltage = 3300; - bs.serialNumber = "SER123"; - EXPECT_EQ(bs.id, 1); - EXPECT_EQ(bs.battery, 4); - EXPECT_EQ(bs.temperature, 25); - EXPECT_EQ(bs.frequency, 100); - EXPECT_DOUBLE_EQ(bs.generic, 1.5); - EXPECT_EQ(bs.current, 55); - EXPECT_TRUE(bs.switchOrValue); - EXPECT_EQ(bs.voltage, 3300); - EXPECT_EQ(bs.serialNumber, "SER123"); -} - -/** - * @test BatteryAlarm (IIALR-Pfad) muss plain-Member bereitstellen. - */ -TEST(nme_dtc_Generated, BatteryAlarmHasPlainMembers) -{ - using BatteryAlarm = NmeaManagement::BatteryAlarm; - - static_assert(std::is_same::value, "id muss ein plain int32_t-Member sein"); - static_assert(std::is_same::value, - "description muss ein plain std::string-Member sein"); - static_assert(std::is_same::value, - "acknowledge muss ein plain bool-Member sein"); - static_assert(std::is_same::value, - "condition muss ein plain bool-Member sein"); - static_assert(std::is_same::value, - "uniqueAlarmNumber muss ein plain int32_t-Member sein"); - static_assert(std::is_same::value, - "time muss ein plain int64_t-Member sein"); - - BatteryAlarm alarm; - alarm.id = 0; - alarm.time = 1700000000000LL; - alarm.description = "overvoltage"; - alarm.acknowledge = true; - alarm.condition = false; - alarm.uniqueAlarmNumber = 7; - EXPECT_EQ(alarm.id, 0); - EXPECT_EQ(alarm.time, 1700000000000LL); - EXPECT_EQ(alarm.description, "overvoltage"); - EXPECT_TRUE(alarm.acknowledge); - EXPECT_FALSE(alarm.condition); - EXPECT_EQ(alarm.uniqueAlarmNumber, 7); -} - -/** - * @test PositionExcon (GPGGA-Pfad): position ist Core::GeoPosition2D mit - * plain double-Member lat/lon; valid ist plain bool. - */ -TEST(nme_dtc_Generated, PositionExconHasPlainMembers) -{ - using PositionExcon = NmeaManagement::PositionExcon; - - static_assert(std::is_same::value, - "position muss ein plain Core::GeoPosition2D-Member sein"); - static_assert(std::is_same::value, - "position.lat muss ein plain double-Member sein"); - static_assert(std::is_same::value, - "position.lon muss ein plain double-Member sein"); - static_assert(std::is_same::value, "valid muss ein plain bool-Member sein"); - - // Wie im migrierten GPGGA-Pfad: Member-Assignment statt Setter. - PositionExcon pos; - pos.position.lat = 1.0; - pos.position.lon = 2.0; - pos.valid = true; - EXPECT_DOUBLE_EQ(pos.position.lat, 1.0); - EXPECT_DOUBLE_EQ(pos.position.lon, 2.0); - EXPECT_TRUE(pos.valid); -} - -/** - * @test ServiceControl (IIXDR-ServiceControl-Pfad) muss das - * ServiceControlState-Enum-Member bereitstellen. - */ -TEST(nme_dtc_Generated, ServiceControlHasEnumMember) -{ - using ServiceControl = NmeaManagement::ServiceControl; - - static_assert( - std::is_same::value, - "ServiceControlState muss ein plain ServiceControlEnum-Member sein"); - - ServiceControl sc; - sc.ServiceControlState = NmeaManagement::ServiceControlEnum::SHUTDOWN; - EXPECT_EQ(sc.ServiceControlState, NmeaManagement::ServiceControlEnum::SHUTDOWN); -} - -/** - * @test TurnRadioMasterOffRequest muss das plain bool-Member shutdown - * bereitstellen (Request-Typ der Fts-Funktions-Topic). - */ -TEST(nme_dtc_Generated, TurnRadioMasterOffRequestHasPlainMember) -{ - using TurnRadioMasterOffRequest = NmeaManagement::TurnRadioMasterOffRequest; - - static_assert(std::is_same::value, - "shutdown muss ein plain bool-Member sein"); - - TurnRadioMasterOffRequest req; - req.shutdown = true; - EXPECT_TRUE(req.shutdown); -} - -/** - * @test Include-Guard: mehrfaches Einbinden der generierten Header ist erlaubt. - */ -TEST(nme_dtc_Generated, MultipleIncludeGuard) -{ -// Including the header multiple times should not cause errors -#include "NmeaManagement/nme.hpp" -#include "NmeaManagement/nme_dtc.h" -#include "NmeaManagement/nme_dts.h" -#include "NmeaManagement/nme_ftc.h" -#include "NmeaManagement/nme_fts.h" - SUCCEED(); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_nme_enums.cpp b/qt6-after/qt6-migrated-legatus/tests/test_nme_enums.cpp deleted file mode 100644 index bdec514cf..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_nme_enums.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/** - * @file test_nme_enums.cpp - * @brief Verhaltenstests für die generierten NmeaManagement-Enumerationen - * - * Diese Tests prüfen den von CODEGEN_IDL_SVC + rtiddsgen aus nme_service.xml - * generierten Header (Lts/Services/NmeaManagement/nme_enums.hpp) aus dem - * Build-Tree. Sie sichern die Enum-Form ab, die der migrierte NmeaHandler - * (IIXDR-Pfad) direkt nutzt: ServiceControlEnum::{PRESHUTDOWN,SHUTDOWN,STOP} - * ohne die legacy *_def-Wrapper (rtiddsgen 7.7 generiert plain enum class). - */ - -#include "NmeaManagement/nme_enums.hpp" - -#include -#include - -/** - * @test ServiceControlEnum muss mit den Werten aus nme_service.xml generiert - * werden (PRESHUTDOWN=0, SHUTDOWN=1, STOP=2). - */ -TEST(nme_enums_Generated, ServiceControlEnumValues) -{ - static_assert(std::is_enum<::NmeaManagement::ServiceControlEnum>::value, - "ServiceControlEnum muss aus nme_enums.hpp vorliegen"); - static_assert(static_cast(::NmeaManagement::ServiceControlEnum::PRESHUTDOWN) == 0, - "ServiceControlEnum::PRESHUTDOWN muss 0 sein"); - static_assert(static_cast(::NmeaManagement::ServiceControlEnum::SHUTDOWN) == 1, - "ServiceControlEnum::SHUTDOWN muss 1 sein"); - static_assert(static_cast(::NmeaManagement::ServiceControlEnum::STOP) == 2, - "ServiceControlEnum::STOP muss 2 sein"); - SUCCEED(); -} - -/** - * @test Die Enum-Werte müssen wie im migrierten NmeaHandler zugewiesen - * werden können (IIXDR: ServiceControl.ServiceControlState = ...). - */ -TEST(nme_enums_Generated, ServiceControlEnumAssignable) -{ - ::NmeaManagement::ServiceControlEnum state = ::NmeaManagement::ServiceControlEnum::PRESHUTDOWN; - state = ::NmeaManagement::ServiceControlEnum::SHUTDOWN; - state = ::NmeaManagement::ServiceControlEnum::STOP; - EXPECT_EQ(state, ::NmeaManagement::ServiceControlEnum::STOP); -} - -/** - * @test Include-Guard: mehrfaches Einbinden des generierten Headers ist erlaubt. - */ -TEST(nme_enums_Generated, MultipleIncludeGuard) -{ -// Including the header multiple times should not cause errors -#include "NmeaManagement/nme_enums.hpp" - SUCCEED(); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_nmea_handler.cpp b/qt6-after/qt6-migrated-legatus/tests/test_nmea_handler.cpp deleted file mode 100644 index 737388a73..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_nmea_handler.cpp +++ /dev/null @@ -1,101 +0,0 @@ -/** - * @file test_nmea_handler.cpp - * @brief Verhaltenstests für den migrierten NmeaHandler (Lts/Services/NmeaManagement) - * - * Der NmeaHandler gehört zu den Executable-Quellen von svcNmeaManagement - * (kein Library-Symbol), daher wird nmea_handler.cpp hier direkt in das - * Test-Binary kompiliert. Vollständiges DDS-Publishing ist ohne laufende - * DDS-Domain nicht testbar (wie bei flmTests) — getestet wird deshalb: - * - * - Checksummen-Verhalten (Annahme und Ablehnung), - * - der regex-basierte NMEA-Paket-Split (Qt5 QRegExp -> Qt6 - * QRegularExpression: package.split(sep) statt package.split(sep.pattern()), - * das letztere auf das Literal "(,|*)" splitten würde und das Parsing - * aus dem Ruder laufen ließe), - * - den GPRMC-Parse-Pfad End-to-end (liest pkt_data[1..11] — mit kaputtem - * Split out-of-range und damit crash-geprüft), - * - die Dispatch-Verdrahtung (GPGGA mit gültiger Checksumme erreicht den - * Publish auf dem leeren DdsHandler — der Crash ist der beobachtbare - * Nachweis, dass Dispatch statt Parse-Abbruch stattfand). - */ - -#include "NmeaManagement/nmea_handler.h" - -#include -#include - -// Die Service-Implementierung direkt in dieses Test-Binary kompilieren — -// keine Library stellt die NmeaHandler-Symbole bereit. -#include "../Lts/Services/NmeaManagement/nmea_handler.cpp" - -namespace -{ -// NmeaHandler::NmeaHandler holt den Logger aus dem NGL-Root-Logger im -// Konstruktor. createNGLRootLogger() ist idempotent (ignorealreadycreated), -// daher sicher pro Test aufrufbar. -NGL::INGLLogger& ensureRootLogger() -{ - return NGL::NGLLoggerBootstrap::createNGLRootLogger(QString(), true, QString(), true); -} - -// NmeaHandler mit leerem DdsHandler: Pfade ohne Publish (GPRMC) sind damit -// lauffähig; Pfade mit Publish (IIXDR/IIALR/GPGGA) liefern null-Deref — -// dort ist der Crash der Observable (siehe GpggaValidChecksumDispatches). -NmeaManagement::NmeaHandler makeHandler() -{ - ensureRootLogger(); - std::shared_ptr noDds; - return NmeaManagement::NmeaHandler(noDds, nullptr); -} -} // namespace - -/** - * @test GPRMC mit gültiger Checksumme durchläuft den kompletten Parse-Pfad - * (Split auf ,/ * via QRegularExpression und pkt_data[1..11]); GPRMC - * publiziert nicht, daher läuft der Test ohne DDS. Wäre der Split auf - * das Literal "(,|*)" kaputt, würde pkt_data[2..11] out-of-range und - * der Test crashen. - */ -TEST(nmea_handler_Decode, GprmcValidChecksumParses) -{ - NmeaManagement::NmeaHandler handler = makeHandler(); - // Checksumme 0x6A ist gültig (XOR aller Zeichen zwischen $ und *). - EXPECT_NO_THROW( - handler.decode(QStringLiteral("$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A"))); -} - -/** - * @test GPGGA mit gültiger Checksumme (0x73) wird nicht abgebrochen, sondern - * nach GPGGA() publiziert — auf dem leeren DdsHandler ist das eine - * null-Deref: der Crash beweist, dass Checksumme + Dispatch korrekt - * sind. - */ -TEST(nmea_handler_Decode, GpggaValidChecksumDispatches) -{ - NmeaManagement::NmeaHandler handler = makeHandler(); - EXPECT_DEATH( - handler.decode(QStringLiteral("$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,54.5,M,46.9,M,00,0000*73")), ".*"); -} - -/** - * @test GPGGA mit ungültiger Checksumme (0x00 statt 0x73) wird verworfen: - * kein GPGGA()-Aufruf, kein Publish, kein Crash. - */ -TEST(nmea_handler_Decode, GpggaBadChecksumRejected) -{ - NmeaManagement::NmeaHandler handler = makeHandler(); - EXPECT_NO_THROW( - handler.decode(QStringLiteral("$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,54.5,M,46.9,M,00,0000*00"))); -} - -/** - * @test IIXDR mit ungültiger Checksumme (0x00 statt 0x3F) wird verworfen - * (IIXDR würde publizieren — Ablehnung muss vor dem Publish liegen); - * leeres Paket bricht decode() früh ab. - */ -TEST(nmea_handler_Decode, IixdrBadChecksumRejectedAndEmptyPackage) -{ - NmeaManagement::NmeaHandler handler = makeHandler(); - EXPECT_NO_THROW(handler.decode(QStringLiteral("$IIXDR,123519,SER123,B,42,C,25,F,100,I,55,S,0,U,3300*00"))); - EXPECT_NO_THROW(handler.decode(QStringLiteral(""))); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_nom_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_nom_dtc.cpp deleted file mode 100644 index d72fe031c..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_nom_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_nom_dtc.cpp - * @brief Compilation test for NotificationManagement/nom_dtc.h (generated) - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "NotificationManagement/nom_dtc.h" - -#include - -TEST(nom_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_nom_enums.cpp b/qt6-after/qt6-migrated-legatus/tests/test_nom_enums.cpp deleted file mode 100644 index f5caa775a..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_nom_enums.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_nom_enums.cpp - * @brief Compilation test for NotificationManagement/nom_enums.hpp - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "Lts/Services/NotificationManagement/nom_enums.hpp" - -#include - -TEST(nom_enums_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_opm_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_opm_dtc.cpp deleted file mode 100644 index 5e98830fb..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_opm_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_opm_dtc.cpp - * @brief Compilation test for OperatorManagement/opm_dtc.h (generated) - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "OperatorManagement/opm_dtc.h" - -#include - -TEST(opm_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_oss_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_oss_dtc.cpp deleted file mode 100644 index c8c724f3b..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_oss_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_oss_dtc.cpp - * @brief Compilation test for OcSituationServer/oss_dtc.h (generated) - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "OcSituationServer/oss_dtc.h" - -#include - -TEST(oss_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_passiveeventcontainer.cpp b/qt6-after/qt6-migrated-legatus/tests/test_passiveeventcontainer.cpp deleted file mode 100644 index 08e97910c..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_passiveeventcontainer.cpp +++ /dev/null @@ -1,76 +0,0 @@ -#include "Lts/Common/LtsTimelineClassic/Event.h" -#include "Lts/Common/LtsTimelineClassic/EventGraphic.h" -#include "Lts/Common/LtsTimelineClassic/EventTools.h" -#include "Lts/Common/LtsTimelineClassic/PassiveEventContainer.h" - -#include -#include -#include -#include - -namespace LtsTimelineClassic -{ - -class PassiveEventContainerTest : public ::testing::Test -{ - protected: - void SetUp() override {} - - void TearDown() override {} -}; - -TEST(PassiveEventContainerTest, CreateContainer) -{ - PassiveEventContainer container(false); - EXPECT_TRUE(container.getEventGraphicList().isEmpty()); -} - -TEST(PassiveEventContainerTest, SetEventList) -{ - PassiveEventContainer container(false); - - Event event1(1, 100, 0, 1000, -1, -1, -1, QStringList() << QStringLiteral("path1"), nullptr, Qt::red, QJsonObject(), -1, LtsUtils::QPoint3D()); - Event event2(2, 100, 500, 1500, -1, -1, -1, QStringList() << QStringLiteral("path2"), nullptr, Qt::blue, QJsonObject(), -1, LtsUtils::QPoint3D()); - - EventGraphic graphic1(&event1); - EventGraphic graphic2(&event2); - - EventGraphicList list; - list.append(&graphic1); - list.append(&graphic2); - - container.setEventList(list); - - EXPECT_EQ(container.getEventGraphicList().size(), 2); -} - -TEST(PassiveEventContainerTest, PaintDoesNotCrash) -{ - PassiveEventContainer container(false); - - Event event1(1, 100, 0, 1000, -1, -1, -1, QStringList() << QStringLiteral("path1"), nullptr, Qt::red, QJsonObject(), -1, LtsUtils::QPoint3D()); - EventGraphic graphic1(&event1); - - EventGraphicList list; - list.append(&graphic1); - container.setEventList(list); - - EventTools::setValues(0, 1000, 0, 500); - EventTools::setSection(0, 1000); - - QPixmap pixmap(800, 600); - QPainter painter(&pixmap); - - QStyleOptionViewItem option; - option.rect = QRect(0, 0, 800, 50); - option.features = QStyleOptionViewItem::ViewItemFeature::None; - - LineMap lineMap; - lineMap.insert(100, 1000); - - QVector knownRanges; - - EXPECT_NO_THROW(container.paint(&painter, option, lineMap, knownRanges)); -} - -} // namespace LtsTimelineClassic \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_pdm_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_pdm_dtc.cpp deleted file mode 100644 index 332f89df2..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_pdm_dtc.cpp +++ /dev/null @@ -1,75 +0,0 @@ -/** - * @file test_pdm_dtc.cpp - * @brief Verhaltenstests für die generierte ProjectDataManagement Dtc/Ftc-Schnittstelle - * - * Diese Tests prüfen den von CODEGEN_CLIENT_TOPICS_IFC aus pdm_service.xml - * generierten Header (Lts/Services/ProjectDataManagement/pdm_dtc.h bzw. - * pdm_ftc.h) aus dem Build-Tree. Es darf keinen Stub-Header im Quellbaum geben. - * Zusätzlich werden die plainen DDS-Typ-Member aus pdm.hpp verifiziert, auf die - * der migrierte Code (pdm_dtc_impl_custom.cpp, translation.cpp) zugreift. - */ - -#include "ProjectDataManagement/pdm_dtc.h" -#include "ProjectDataManagement/pdm_ftc.h" - -#include -#include -#include - -/** - * @test Der generierte Dtc muss von QObject abgeleitet sein (Signale für Topic-Updates); - * beide Schnittstellen sind abstrakt. - */ -TEST(pdm_dtc_Generated, DtcIsQObjectDerived) -{ - static_assert(std::is_base_of::value, - "generierter Dtc muss von QObject abgeleitet sein"); - static_assert(std::is_abstract::value, - "Dtc muss abstrakt sein"); - static_assert(std::is_abstract::value, - "Ftc muss abstrakt sein"); - EXPECT_TRUE(true); -} - -/** - * @test Die generierten Identifier müssen dem Service-Namensschema folgen. - */ -TEST(pdm_dtc_Generated, IdentifiersMatchService) -{ - EXPECT_STREQ(ProjectDataManagement::Interface::Dtc::identifier(), "ProjectDataManagement.Interface.Dtc"); - EXPECT_STREQ(ProjectDataManagement::Interface::Ftc::identifier(), "ProjectDataManagement.Interface.Ftc"); -} - -/** - * @test Die DDS-Typen aus pdm.hpp müssen plain-Member bereitstellen (rtiddsgen 7.7): - * ChargeType (id, name, properties, legacyId), die pdm_dtc_impl_custom.cpp - * direkt als Felder nutzt (ct.id, ct.properties). - */ -TEST(pdm_dtc_Generated, ChargeTypeHasPlainMembers) -{ - using ChargeType = ProjectDataManagement::ChargeType; - - static_assert(std::is_base_of<::ProjectDataManagement::PdmBaseName, ChargeType>::value, - "ChargeType muss von PdmBaseName abgeleitet sein (id/name)"); - static_assert(std::is_same::value, - "id muss ein plain int32_t-Member sein"); - static_assert(std::is_same::value, - "name muss ein plain std::string-Member sein"); - static_assert(std::is_same::value, - "properties muss ein plain std::string-Member sein"); - static_assert(std::is_same::value, - "legacyId muss ein plain int32_t-Member sein"); - - EXPECT_TRUE(true); -} - -/** - * @test Include-Guard: mehrfaches Einbinden der generierten Header ist erlaubt. - */ -TEST(pdm_dtc_Generated, MultipleIncludeGuard) -{ -// Including the header multiple times should not cause errors -#include "ProjectDataManagement/pdm_dtc.h" -#include "ProjectDataManagement/pdm_ftc.h" - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_pdm_enums.cpp b/qt6-after/qt6-migrated-legatus/tests/test_pdm_enums.cpp deleted file mode 100644 index 74475a50b..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_pdm_enums.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_pdm_enums.cpp - * @brief Compilation test for ProjectDataManagement/pdm_enums.hpp - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "Lts/Services/ProjectDataManagement/pdm_enums.hpp" - -#include - -TEST(pdm_enums_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_ppm_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_ppm_dtc.cpp deleted file mode 100644 index bfc1809e2..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_ppm_dtc.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/** - * @file test_ppm_dtc.cpp - * @brief Verhaltenstests für die generierte ParticipantManagement Dtc/Ftc-Schnittstelle - * - * Diese Tests prüfen den von CODEGEN_CLIENT_TOPICS_IFC aus ppm_service.xml - * generierten Header (Lts/Services/ParticipantManagement/ppm_dtc.h bzw. - * ppm_ftc.h) aus dem Build-Tree. Es darf keinen Stub-Header im Quellbaum geben. - * Zusätzlich werden die plainen DDS-Typ-Member aus ppm.hpp verifiziert, auf die - * der migrierte ParticipantManagement-Code zugreift. - */ - -#include "ParticipantManagement/ppm_dtc.h" -#include "ParticipantManagement/ppm_ftc.h" - -#include -#include -#include - -/** - * @test Der generierte Dtc muss von QObject abgeleitet sein (Signale für Topic-Updates); - * beide Schnittstellen sind abstrakt. - */ -TEST(ppm_dtc_Generated, DtcIsQObjectDerived) -{ - static_assert(std::is_base_of::value, - "generierter Dtc muss von QObject abgeleitet sein"); - static_assert(std::is_abstract::value, - "Dtc muss abstrakt sein"); - static_assert(std::is_abstract::value, - "Ftc muss abstrakt sein"); - EXPECT_TRUE(true); -} - -/** - * @test Die generierten Identifier müssen dem Service-Namensschema folgen. - */ -TEST(ppm_dtc_Generated, IdentifiersMatchService) -{ - EXPECT_STREQ(ParticipantManagement::Interface::Dtc::identifier(), "ParticipantManagement.Interface.Dtc"); - EXPECT_STREQ(ParticipantManagement::Interface::Ftc::identifier(), "ParticipantManagement.Interface.Ftc"); -} - -/** - * @test Die DDS-Typen aus ppm.hpp müssen plain-Member bereitstellen (rtiddsgen 7.7): - * ParticipantBase (id, name, equipmentNumber als optional) und Participant - * (inferiorIds als sequence), die der migrierte Code direkt als Felder nutzt. - */ -TEST(ppm_dtc_Generated, ParticipantTypesHavePlainMembers) -{ - using ParticipantBase = ParticipantManagement::ParticipantBase; - using Participant = ParticipantManagement::Participant; - - static_assert(std::is_same::value, - "id muss ein plain int32_t-Member sein"); - static_assert(std::is_same::value, - "name muss ein plain std::string-Member sein"); - static_assert(std::is_same>::value, - "equipmentNumber muss ein omg::types::optional-Member sein"); - - static_assert(std::is_base_of::value, - "Participant muss von ParticipantBase abgeleitet sein"); - static_assert(std::is_same>::value, - "inferiorIds muss eine omg::types::sequence sein"); - - EXPECT_TRUE(true); -} - -/** - * @test Include-Guard: mehrfaches Einbinden der generierten Header ist erlaubt. - */ -TEST(ppm_dtc_Generated, MultipleIncludeGuard) -{ -// Including the header multiple times should not cause errors -#include "ParticipantManagement/ppm_dtc.h" -#include "ParticipantManagement/ppm_ftc.h" - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_ppm_enums.cpp b/qt6-after/qt6-migrated-legatus/tests/test_ppm_enums.cpp deleted file mode 100644 index c77a0a4e0..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_ppm_enums.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_ppm_enums.cpp - * @brief Compilation test for ParticipantManagement/ppm_enums.hpp - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "Lts/Services/ParticipantManagement/ppm_enums.hpp" - -#include - -TEST(ppm_enums_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_pre_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_pre_dtc.cpp deleted file mode 100644 index 5470c4603..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_pre_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_pre_dtc.cpp - * @brief Compilation test for PresentationManagement/pre_dtc.h (generated) - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "PresentationManagement/pre_dtc.h" - -#include - -TEST(pre_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_printing.cpp b/qt6-after/qt6-migrated-legatus/tests/test_printing.cpp deleted file mode 100644 index 038fdd519..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_printing.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(printingTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(printingTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(printingTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_printing_base.cpp b/qt6-after/qt6-migrated-legatus/tests/test_printing_base.cpp deleted file mode 100644 index 2c745113b..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_printing_base.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(printing_baseTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(printing_baseTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(printing_baseTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_qt6_api_migrations.cpp b/qt6-after/qt6-migrated-legatus/tests/test_qt6_api_migrations.cpp deleted file mode 100644 index 794758d27..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_qt6_api_migrations.cpp +++ /dev/null @@ -1,285 +0,0 @@ -/** - * @file test_qt6_api_migrations.cpp - * @brief Tests für Qt6 API-Migrationen - * - * Tests verify that: - * 1. QStringView works correctly (replacing QStringRef) - * 2. std::list works correctly (replacing QLinkedList) - * 3. QMultiMap works correctly (replacing QMap with multi-values) - * 4. QFontMetricsF::horizontalAdvance() works (replacing width()) - * 5. QVariant::fromValue() works for custom types - * 6. QXmlStreamWriter UTF-8 handling (no setCodec needed) - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// Custom type for QVariant test -struct CustomData -{ - int value; - QString text; - - bool operator==(const CustomData& other) const - { - return value == other.value && text == other.text; - } -}; - -// Register custom type with Qt meta-type system -Q_DECLARE_METATYPE(CustomData) - -// Test 1: QStringView basic functionality (replacing QStringRef) -TEST(Qt6ApiMigrations, QStringViewBasic) -{ - QString original = QStringLiteral("Hello Qt6 Migration"); - QStringView view = original; - - // Test substring view (similar to QStringRef behavior) - QStringView subView = view.mid(6, 4); // "Qt6 " - EXPECT_EQ(subView.toString(), QStringLiteral("Qt6 ")); - - // Test that view doesn't allocate memory: QStringView is a non-owning - // view onto the original's buffer. Note: the non-const QString::data() - // detaches the shared QString (copy-on-write) and would move the buffer, - // so the comparison has to use the const overload (constData()). - EXPECT_EQ(view.data(), original.constData()); -} - -// Test 2: QStringView with function parameters -TEST(Qt6ApiMigrations, QStringViewInParameter) -{ - auto processString = [](QStringView sv) -> int { return static_cast(sv.length()); }; - - QString str = QStringLiteral("Test String"); - int result = processString(str); - EXPECT_EQ(result, 11); -} - -// Test 3: std::list replacement for QLinkedList -TEST(Qt6ApiMigrations, StdListReplacement) -{ - std::list intList; - intList.push_back(1); - intList.push_back(2); - intList.push_back(3); - - EXPECT_EQ(intList.size(), 3u); - EXPECT_EQ(intList.front(), 1); - EXPECT_EQ(intList.back(), 3); - - // Test iteration - std::vector vec(intList.begin(), intList.end()); - EXPECT_EQ(vec, std::vector({1, 2, 3})); -} - -// Test 4: std::list with custom types -TEST(Qt6ApiMigrations, StdListWithCustomTypes) -{ - std::list stringList; - stringList.push_back(QStringLiteral("First")); - stringList.push_back(QStringLiteral("Second")); - stringList.push_back(QStringLiteral("Third")); - - EXPECT_EQ(stringList.size(), 3u); - - // Test contains-like operation - bool found = std::find(stringList.begin(), stringList.end(), QStringLiteral("Second")) != stringList.end(); - EXPECT_TRUE(found); -} - -// Test 5: QMultiMap for multi-value keys (replacing QMap::insertMulti) -TEST(Qt6ApiMigrations, QMultiMapMultiValue) -{ - QMultiMap multiMap; - multiMap.insert(QStringLiteral("key"), 1); - multiMap.insert(QStringLiteral("key"), 2); - multiMap.insert(QStringLiteral("key"), 3); - - EXPECT_EQ(multiMap.size(), 3); - EXPECT_EQ(multiMap.count(QStringLiteral("key")), 3); - - // Test values() method - verify all values present - QList values = multiMap.values(QStringLiteral("key")); - EXPECT_EQ(values.size(), 3); - // QMultiMap ordering may vary, just verify all values exist - std::sort(values.begin(), values.end()); - EXPECT_EQ(values[0], 1); - EXPECT_EQ(values[1], 2); - EXPECT_EQ(values[2], 3); -} - -// Test 6: QMultiMap iteration -TEST(Qt6ApiMigrations, QMultiMapIteration) -{ - QMultiMap multiMap; - multiMap.insert(QStringLiteral("a"), 1); - multiMap.insert(QStringLiteral("b"), 2); - multiMap.insert(QStringLiteral("a"), 3); - - int aCount = 0; - int bCount = 0; - - for (auto it = multiMap.begin(); it != multiMap.end(); ++it) - { - if (it.key() == QStringLiteral("a")) - { - aCount++; - } - else if (it.key() == QStringLiteral("b")) - { - bCount++; - } - } - - EXPECT_EQ(aCount, 2); - EXPECT_EQ(bCount, 1); -} - -// Test 7: QFontMetricsF::horizontalAdvance (replacing width()) -TEST(Qt6ApiMigrations, QFontMetricsFHorizontalAdvance) -{ - // QFontMetricsF::width() removed in Qt6, use horizontalAdvance() - // Note: QFontMetricsF requires QGuiApplication for proper font database access - // This test just verifies the code compiles - actual runtime requires GUI app - // In production code, this would be used within a QWidget/QGuiApplication context - SUCCEED() << "QFontMetricsF::horizontalAdvance() API exists (verified by compilation)"; -} - -// Test 8: QFontMetricsF with single character overload -TEST(Qt6ApiMigrations, QFontMetricsFChar) -{ - // QFontMetricsF::horizontalAdvance(QChar) overload exists in Qt6 - // Note: Actual font metrics require QGuiApplication for font database - // This test verifies the API compiles - in production code this would be - // used within a QWidget/QGuiApplication context - SUCCEED() << "QFontMetricsF::horizontalAdvance(QChar) overload exists (verified by compilation)"; -} - -// Test 9: QVariant::fromValue with custom types -TEST(Qt6ApiMigrations, QVariantFromValueCustomType) -{ - // Register the type - qRegisterMetaType("CustomData"); - - CustomData data{42, QStringLiteral("Test")}; - QVariant variant = QVariant::fromValue(data); - - EXPECT_TRUE(variant.canConvert()); - - CustomData retrieved = variant.value(); - EXPECT_EQ(retrieved.value, 42); - EXPECT_EQ(retrieved.text, QStringLiteral("Test")); -} - -// Test 10: QVariant with standard types -TEST(Qt6ApiMigrations, QVariantFromValueStandard) -{ - QVariant intVariant = QVariant::fromValue(42); - EXPECT_EQ(intVariant.toInt(), 42); - - QVariant stringVariant = QVariant::fromValue(QStringLiteral("Hello")); - EXPECT_EQ(stringVariant.toString(), QStringLiteral("Hello")); -} - -// Test 11: QXmlStreamWriter UTF-8 (no setCodec needed) -TEST(Qt6ApiMigrations, QXmlStreamWriterUtf8) -{ - QByteArray buffer; - QBuffer qBuffer(&buffer); - qBuffer.open(QIODevice::WriteOnly); - - QXmlStreamWriter writer(&qBuffer); - writer.setAutoFormatting(true); - - // Qt6 uses UTF-8 by default, no setCodec needed - writer.writeStartDocument(); - writer.writeStartElement("root"); - writer.writeTextElement("text", "Hello Qt6 with UTF-8: äöü"); - writer.writeEndElement(); - writer.writeEndDocument(); - - qBuffer.close(); - - // Verify XML was written - EXPECT_GT(buffer.size(), 0); - EXPECT_TRUE(buffer.contains("Hello Qt6 with UTF-8")); -} - -// Test 12: QXmlStreamWriter with attributes -TEST(Qt6ApiMigrations, QXmlStreamWriterAttributes) -{ - QByteArray buffer; - QBuffer qBuffer(&buffer); - qBuffer.open(QIODevice::WriteOnly); - - QXmlStreamWriter writer(&qBuffer); - - writer.writeStartDocument(); - writer.writeStartElement("element"); - writer.writeAttribute("name", "value"); - writer.writeAttribute("id", "123"); - writer.writeEndElement(); - writer.writeEndDocument(); - - qBuffer.close(); - - EXPECT_GT(buffer.size(), 0); - EXPECT_TRUE(buffer.contains("name=\"value\"")); - EXPECT_TRUE(buffer.contains("id=\"123\"")); -} - -// Test 13: QStringView comparison with QString -TEST(Qt6ApiMigrations, QStringViewComparison) -{ - QString str = QStringLiteral("Hello"); - QStringView view = str; - - EXPECT_EQ(view, str); - EXPECT_TRUE(view == QStringLiteral("Hello")); - EXPECT_TRUE(str == view); -} - -// Test 14: std::list algorithms -TEST(Qt6ApiMigrations, StdListAlgorithms) -{ - std::list numbers = {5, 2, 8, 1, 9}; - - // Test sorting - numbers.sort(); - EXPECT_EQ(numbers.front(), 1); - EXPECT_EQ(numbers.back(), 9); - - // Test remove - numbers.remove(2); - EXPECT_EQ(numbers.size(), 4u); - bool found = std::find(numbers.begin(), numbers.end(), 2) != numbers.end(); - EXPECT_FALSE(found); -} - -// Test 15: QMultiMap contains and remove -TEST(Qt6ApiMigrations, QMultiMapOperations) -{ - QMultiMap map; - map.insert(QStringLiteral("key1"), 1); - map.insert(QStringLiteral("key2"), 2); - - EXPECT_TRUE(map.contains(QStringLiteral("key1"))); - EXPECT_FALSE(map.contains(QStringLiteral("key3"))); - - // Remove all values for a key - int removed = map.remove(QStringLiteral("key1")); - EXPECT_EQ(removed, 1); - EXPECT_FALSE(map.contains(QStringLiteral("key1"))); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_qt6_compatibility.cpp b/qt6-after/qt6-migrated-legatus/tests/test_qt6_compatibility.cpp deleted file mode 100644 index eb03b2d8c..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_qt6_compatibility.cpp +++ /dev/null @@ -1,85 +0,0 @@ -/** - * @file test_qt6_compatibility.cpp - * @brief Tests für Qt6-Kompatibilitätsfixes - * - * Tests verify that: - * 1. QRandomGenerator works correctly (replacing qrand()) - * 2. QChar conversions work with static_cast - * 3. Qt6 APIs function correctly - */ - -#include -#include -#include -#include -#include -#include - -// Test 1: QRandomGenerator basic functionality -TEST(Qt6Compatibility, QRandomGeneratorBasic) -{ - // Test bounded random number generation (Qt6 replacement for qrand() % n) - auto* generator = QRandomGenerator::global(); - ASSERT_NE(generator, nullptr); - - int value = generator->bounded(100); - EXPECT_GE(value, 0); - EXPECT_LT(value, 100); -} - -// Test 2: QRandomGenerator seeded generation -TEST(Qt6Compatibility, QRandomGeneratorSeeded) -{ - QRandomGenerator generator(42); // Fixed seed for reproducibility - int value1 = generator.bounded(1000); - - QRandomGenerator generator2(42); // Same seed - int value2 = generator2.bounded(1000); - - EXPECT_EQ(value1, value2); // Should produce same sequence -} - -// Test 3: QChar construction with static_cast -TEST(Qt6Compatibility, QCharConstruction) -{ - // Qt6 has stricter QChar constructors - char c = 'A'; - QChar qchar = QChar(static_cast(c)); - EXPECT_EQ(qchar, QChar(u'A')); -} - -// Test 4: QChar Unicode handling -TEST(Qt6Compatibility, QCharUnicode) -{ - // Test Unicode character handling in Qt6 - QChar unicodeChar(0x00E9); // é - EXPECT_EQ(unicodeChar.unicode(), 0x00E9); - - QString str(unicodeChar); - EXPECT_EQ(str, QStringLiteral("é")); -} - -// Test 5: QVector with Qt6 -TEST(Qt6Compatibility, QVectorBasic) -{ - QVector vec; - vec.append(1); - vec.append(2); - vec.append(3); - - EXPECT_EQ(vec.size(), 3); - EXPECT_EQ(vec[0], 1); - EXPECT_EQ(vec.contains(2), true); -} - -// Test 6: QString Qt6 compatibility -TEST(Qt6Compatibility, QStringBasic) -{ - QString str = QStringLiteral("Hello Qt6"); - EXPECT_EQ(str.length(), 9); - EXPECT_TRUE(str.contains(QStringLiteral("Qt6"))); - - // Test Qt6 string methods - use QStringView instead of toStdStringView - QStringView view = str; - EXPECT_EQ(view.size(), 9); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_range.cpp b/qt6-after/qt6-migrated-legatus/tests/test_range.cpp deleted file mode 100644 index 5b4617382..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_range.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include "Lts/Common/LtsTimelineClassic/Range.h" - -#include - -namespace LtsTimelineClassic -{ - -class RangeTest : public ::testing::Test -{ - protected: - void SetUp() override {} - - void TearDown() override {} -}; - -TEST(RangeTest, DefaultConstructorInitializesToZero) -{ - Range range; - EXPECT_EQ(range.start, 0); - EXPECT_EQ(range.end, 0); -} - -TEST(RangeTest, ParameterizedConstructorSetsValues) -{ - Range range(100, 500); - EXPECT_EQ(range.start, 100); - EXPECT_EQ(range.end, 500); -} - -TEST(RangeTest, CopyConstructorWorks) -{ - Range range1(100, 500); - Range range2(range1); - - EXPECT_EQ(range2.start, 100); - EXPECT_EQ(range2.end, 500); -} - -} // namespace LtsTimelineClassic \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_rep_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_rep_dtc.cpp deleted file mode 100644 index dd3fd07eb..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_rep_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_rep_dtc.cpp - * @brief Compilation test for ReportManagement/rep_dtc.h (generated) - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "ReportManagement/rep_dtc.h" - -#include - -TEST(rep_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_rep_enums.cpp b/qt6-after/qt6-migrated-legatus/tests/test_rep_enums.cpp deleted file mode 100644 index 9e5a1a989..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_rep_enums.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_rep_enums.cpp - * @brief Compilation test for ReportManagement/rep_enums.hpp - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "Lts/Services/ReportManagement/rep_enums.hpp" - -#include - -TEST(rep_enums_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_reply_message.cpp b/qt6-after/qt6-migrated-legatus/tests/test_reply_message.cpp deleted file mode 100644 index 1ef062e8d..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_reply_message.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(reply_messageTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(reply_messageTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(reply_messageTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_rti_integration.cpp b/qt6-after/qt6-migrated-legatus/tests/test_rti_integration.cpp deleted file mode 100644 index 766c09f1c..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_rti_integration.cpp +++ /dev/null @@ -1,80 +0,0 @@ -/** - * @file test_rti_integration.cpp - * @brief Tests für RTI Connext DDS Integration - * - * Tests verify that: - * 1. RTI library detection works correctly - * 2. RTI-dependent code is properly guarded - * 3. Fallback behavior when RTI is not available - */ - -#include -#include - -// Test 1: RTI library path detection -TEST(RTIIntegration, LibraryPathDetection) -{ - // Test that RTI library path can be configured - std::string rti_dir = "./external/rti_connext_dds-7.7.0"; - EXPECT_FALSE(rti_dir.empty()); -} - -// Test 2: BUILD_RTI configuration -TEST(RTIIntegration, BuildRTIConfiguration) -{ -#if BUILD_RTI - // RTI build mode - EXPECT_TRUE(true); // RTI is enabled -#else - // Fallback mode - SUCCEED(); // Fallback mode is valid -#endif -} - -// Test 3: RTI version detection (mock) -TEST(RTIIntegration, RTIVersionDetection) -{ - // Mock test for RTI version detection - std::string expected_version = "7.7.0"; - std::string detected_version = expected_version; // In real code, this would be detected - - EXPECT_EQ(detected_version, expected_version); -} - -// Test 4: DDS module conditional compilation -TEST(RTIIntegration, DDSModuleGuards) -{ - // Verify DDS modules compile with BUILD_RTI guards - bool dds_available = false; -#if BUILD_RTI - dds_available = true; -#endif - - // In fallback mode, DDS should not be available - // In RTI mode, DDS should be available - // This test just verifies the guard works - (void)dds_available; - SUCCEED(); -} - -// Test 5: ProjectDataManagement with RTI guards -TEST(RTIIntegration, ProjectDataManagementGuards) -{ - // Verify ProjectDataManagement compiles with BUILD_RTI guards -#if BUILD_RTI - // RTI-specific PDM functionality would be tested here - SUCCEED(); -#else - // Fallback PDM functionality - SUCCEED(); -#endif -} - -// Test 6: Architecture-specific RTI library path -TEST(RTIIntegration, ArchitecturePath) -{ - // Test architecture-specific path detection - std::string arch_path = "x64Linux4gcc8.5.0"; - EXPECT_FALSE(arch_path.empty()); - EXPECT_TRUE(arch_path.find("Linux") != std::string::npos); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_saa_telegrams.cpp b/qt6-after/qt6-migrated-legatus/tests/test_saa_telegrams.cpp deleted file mode 100644 index 747b7a7c9..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_saa_telegrams.cpp +++ /dev/null @@ -1,90 +0,0 @@ -/** - * @file test_saa_telegrams.cpp - * @brief Tests für saaTelegrams mit BUILD_RTI guards - * - * Tests verify that: - * 1. saaTelegrams compiles with BUILD_RTI guards - * 2. Telegram structures are properly defined - * 3. Serialization/deserialization works in fallback mode - */ - -#include -#include -#include - -// Mock structures for testing without full RTI dependency -namespace saa -{ - -// Simple telegram structure for testing -struct TestTelegram -{ - uint32_t id; - uint32_t timestamp; - char data[64]; - - TestTelegram() : id(0), timestamp(0) - { - std::memset(data, 0, sizeof(data)); - } -}; - -} // namespace saa - -// Test 1: Telegram structure size -TEST(SAATelegrams, TelegramStructureSize) -{ - saa::TestTelegram telegram; - EXPECT_GT(sizeof(telegram), 0); - EXPECT_EQ(sizeof(telegram.data), 64u); -} - -// Test 2: Telegram initialization -TEST(SAATelegrams, TelegramInitialization) -{ - saa::TestTelegram telegram; - EXPECT_EQ(telegram.id, 0u); - EXPECT_EQ(telegram.timestamp, 0u); -} - -// Test 3: Telegram data handling -TEST(SAATelegrams, TelegramDataHandling) -{ - saa::TestTelegram telegram; - const char* test_data = "test message"; - std::strncpy(telegram.data, test_data, sizeof(telegram.data) - 1); - - EXPECT_STREQ(telegram.data, test_data); -} - -// Test 4: BUILD_RTI conditional compilation for saaTelegrams -TEST(SAATelegrams, BuildRTIGuards) -{ - // Verify saaTelegrams compiles correctly with BUILD_RTI guards -#if BUILD_RTI - // When BUILD_RTI is on, full RTI functionality should be available - SUCCEED(); // Placeholder for RTI-specific tests -#else - // When BUILD_RTI is off, fallback implementation should work - saa::TestTelegram telegram; - EXPECT_EQ(telegram.id, 0u); -#endif -} - -// Test 5: Telegram serialization (fallback mode) -TEST(SAATelegrams, SerializationFallback) -{ - saa::TestTelegram telegram1; - telegram1.id = 12345; - telegram1.timestamp = 987654321; - - // Simple serialization test - uint8_t buffer[sizeof(saa::TestTelegram)]; - std::memcpy(buffer, &telegram1, sizeof(telegram1)); - - saa::TestTelegram telegram2; - std::memcpy(&telegram2, buffer, sizeof(telegram2)); - - EXPECT_EQ(telegram1.id, telegram2.id); - EXPECT_EQ(telegram1.timestamp, telegram2.timestamp); -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_scm_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_scm_dtc.cpp deleted file mode 100644 index 6ddbd9431..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_scm_dtc.cpp +++ /dev/null @@ -1,17 +0,0 @@ -/** - * @file test_scm_dtc.cpp - * @brief Compilation test for the migrated ServiceManagement/scm_dtc.h - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - * Resolves to the codegen-generated header (BUILD_GRANTLEE=ON / BUILD_RTI=ON). - */ - -#include "ServiceManagement/scm_dtc.h" - -#include - -TEST(scm_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_script_timeline.cpp b/qt6-after/qt6-migrated-legatus/tests/test_script_timeline.cpp deleted file mode 100644 index 56059d0a2..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_script_timeline.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(script_timelineTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(script_timelineTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(script_timelineTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_som_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_som_dtc.cpp deleted file mode 100644 index 823e67e55..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_som_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_som_dtc.cpp - * @brief Compilation test for SoundManagement/som_dtc.h (generated) - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "SoundManagement/som_dtc.h" - -#include - -TEST(som_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_srm_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_srm_dtc.cpp deleted file mode 100644 index 556860292..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_srm_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_srm_dtc.cpp - * @brief Compilation test for SituationReplayManagement/srm_dtc.h (generated) - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "SituationReplayManagement/srm_dtc.h" - -#include - -TEST(srm_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_srp_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_srp_dtc.cpp deleted file mode 100644 index 1c4694719..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_srp_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_srp_dtc.cpp - * @brief Compilation test for SituationReplay/srp_dtc.h (generated) - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "SituationReplay/srp_dtc.h" - -#include - -TEST(srp_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_srp_enums.cpp b/qt6-after/qt6-migrated-legatus/tests/test_srp_enums.cpp deleted file mode 100644 index deb2862a9..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_srp_enums.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_srp_enums.cpp - * @brief Compilation test for SituationReplay/srp_enums.hpp - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "Lts/Services/SituationReplay/srp_enums.hpp" - -#include - -TEST(srp_enums_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_symbology_xml.cpp b/qt6-after/qt6-migrated-legatus/tests/test_symbology_xml.cpp deleted file mode 100644 index 8ae2ac968..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_symbology_xml.cpp +++ /dev/null @@ -1,120 +0,0 @@ -/** - * @file test_symbology_xml.cpp - * @brief Tests für SymbologyXML Qt6 API Migrationen - * - * Tests verify that: - * 1. QStringView works correctly (replaced QStringRef) - * 2. std::list works correctly (replaced QLinkedList) - * 3. QMultiMap works correctly (replaced QMap for multi-value keys) - * 4. QFontMetricsF::horizontalAdvance() works (replaced width()) - * 5. QVariant::fromValue() works for custom types - * 6. QXmlStreamWriter without setCodec() works (UTF-8 default) - */ - -#include - -// Qt6 headers with proper module prefixes -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// Test 1: QStringView compatibility (replaced QStringRef) -TEST(SymbologyXML, QStringViewCompatibility) -{ - QString text = QStringLiteral("Test SymbologyXML"); - QStringView view = text; - - EXPECT_EQ(view.toString(), text); - EXPECT_EQ(view.length(), text.length()); - EXPECT_EQ(view.first(4).toString(), QStringLiteral("Test")); -} - -// Test 2: std::list compatibility (replaced QLinkedList) -TEST(SymbologyXML, StdListCompatibility) -{ - std::list symbolIds = {1, 2, 3, 4, 5}; - - EXPECT_EQ(symbolIds.size(), 5); - EXPECT_EQ(symbolIds.front(), 1); - EXPECT_EQ(symbolIds.back(), 5); - - // Test iteration - int sum = 0; - for (int id : symbolIds) - { - sum += id; - } - EXPECT_EQ(sum, 15); -} - -// Test 3: QMultiMap compatibility (replaced QMap for multi-value keys) -TEST(SymbologyXML, QMultiMapCompatibility) -{ - QMultiMap symbolTable; - - // Insert multiple values for same key - symbolTable.insert(QStringLiteral("symbol"), 1); - symbolTable.insert(QStringLiteral("symbol"), 2); - symbolTable.insert(QStringLiteral("symbol"), 3); - - EXPECT_EQ(symbolTable.count(QStringLiteral("symbol")), 3); - - auto values = symbolTable.values(QStringLiteral("symbol")); - EXPECT_EQ(values.size(), 3); - - // Note: QMultiMap values() order is undefined (not necessarily insertion order) - // Sort values to verify all expected values are present - std::sort(values.begin(), values.end()); - EXPECT_EQ(values[0], 1); - EXPECT_EQ(values[1], 2); - EXPECT_EQ(values[2], 3); -} - -// Test 4: QFontMetricsF::horizontalAdvance (replaced width()) -TEST(SymbologyXML, QFontMetricsFHorizontalAdvance) -{ - // QFontMetricsF::horizontalAdvance() exists in Qt6 - // Note: Actual font metrics require QGuiApplication for font database - // This test verifies the API compiles - in production code this would be - // used within a QWidget/QGuiApplication context - SUCCEED() << "QFontMetricsF::horizontalAdvance() exists (verified by compilation)"; -} - -// Test 5: QVariant::fromValue for custom types -TEST(SymbologyXML, QVariantFromValue) -{ - struct SymbolData - { - int id; - QString name; - }; - - SymbolData data{42, QStringLiteral("TestSymbol")}; - QVariant variant = QVariant::fromValue(data); - - EXPECT_TRUE(variant.canConvert()); - SymbolData retrieved = variant.value(); - EXPECT_EQ(retrieved.id, 42); - EXPECT_EQ(retrieved.name, QStringLiteral("TestSymbol")); -} - -// Test 6: QXmlStreamWriter without setCodec (UTF-8 default in Qt6) -TEST(SymbologyXML, QXmlStreamWriterUtf8Default) -{ - QByteArray buffer; - QXmlStreamWriter writer(&buffer); - - writer.writeStartDocument(); - writer.writeTextElement("symbol", QStringLiteral("Testäöü")); - writer.writeEndDocument(); - - QString xml = QString::fromUtf8(buffer); - EXPECT_TRUE(xml.contains(QStringLiteral("Testäöü"))); - // Qt6 uses UTF-8 by default, no setCodec needed -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_tab_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_tab_dtc.cpp deleted file mode 100644 index 124ad10c4..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_tab_dtc.cpp +++ /dev/null @@ -1,80 +0,0 @@ -/** - * @file test_tab_dtc.cpp - * @brief Verhaltenstests für die generierte TrainingAreaBase Dtc/Ftc-Schnittstelle - * - * Diese Tests prüfen den von CODEGEN_CLIENT_TOPICS_IFC aus der tab-XML - * generierten Header (Lts/Proxies/TrainingAreaBase/tab_dtc.h bzw. tab_ftc.h) - * aus dem Build-Tree. Der OFF-Stub include/TrainingAreaBase/tab_dtc.h wurde - * entfernt, da er den generierten Header verschattet hat. Zusätzlich werden - * die plainen DDS-Typ-Member aus tab.hpp verifiziert (EquipmentBase/BatteryAlarm), - * auf die die migrierten Proxy-Consumer zugreifen. - */ - -#include "TrainingAreaBase/tab_dtc.h" -#include "TrainingAreaBase/tab_ftc.h" - -#include -#include -#include - -/** - * @test Der generierte Dtc muss von QObject abgeleitet sein (Signale für Topic-Updates); - * beide Schnittstellen sind abstrakt. - */ -TEST(tab_dtc_Generated, DtcIsQObjectDerived) -{ - static_assert(std::is_base_of::value, - "generierter Dtc muss von QObject abgeleitet sein"); - static_assert(std::is_abstract::value, - "Dtc muss abstrakt sein"); - static_assert(std::is_abstract::value, - "Ftc muss abstrakt sein"); - EXPECT_TRUE(true); -} - -/** - * @test Die generierten Identifier müssen dem Proxy-Namensschema folgen. - */ -TEST(tab_dtc_Generated, IdentifiersMatchProxy) -{ - EXPECT_STREQ(TrainingAreaBase::Interface::Dtc::identifier(), "TrainingAreaBase.Interface.Dtc"); - EXPECT_STREQ(TrainingAreaBase::Interface::Ftc::identifier(), "TrainingAreaBase.Interface.Ftc"); -} - -/** - * @test Die DDS-Typen aus tab.hpp müssen plain-Member bereitstellen (rtiddsgen 7.7): - * EquipmentBase (equipmentNumber/sampleTime) und der abgeleitete - * BatteryAlarm (batteryPort/description/acknowledge). - */ -TEST(tab_dtc_Generated, EquipmentTypesHavePlainMembers) -{ - using EquipmentBase = TrainingAreaBase::EquipmentBase; - using BatteryAlarm = TrainingAreaBase::BatteryAlarm; - - static_assert(std::is_same::value, - "equipmentNumber muss ein plain int32_t-Member sein"); - static_assert(std::is_same::value, - "sampleTime muss ein plain int64_t-Member sein"); - - static_assert(std::is_base_of::value, - "BatteryAlarm muss von EquipmentBase abgeleitet sein"); - static_assert(std::is_same::value, - "batteryPort muss ein plain int32_t-Member sein"); - static_assert(std::is_same::value, - "description muss ein plain std::string-Member sein"); - static_assert(std::is_same::value, - "acknowledge muss ein plain bool-Member sein"); - - EXPECT_TRUE(true); -} - -/** - * @test Include-Guard: mehrfaches Einbinden der generierten Header ist erlaubt. - */ -TEST(tab_dtc_Generated, MultipleIncludeGuard) -{ -// Including the header multiple times should not cause errors -#include "TrainingAreaBase/tab_dtc.h" -#include "TrainingAreaBase/tab_ftc.h" - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_taboc_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_taboc_dtc.cpp deleted file mode 100644 index 2912895d0..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_taboc_dtc.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/** - * @file test_taboc_dtc.cpp - * @brief Verhaltenstests für die generierte TrainingAreaBaseOC Dtc/Ftc-Schnittstelle - * - * Diese Tests prüfen den von CODEGEN_CLIENT_TOPICS_IFC aus der taboc-XML - * generierten Header (Lts/Proxies/TrainingAreaBaseOC/taboc_dtc.h bzw. - * taboc_ftc.h) aus dem Build-Tree. Der OFF-Stub include/TrainingAreaBaseOC/ - * taboc_dtc.h wurde entfernt, da er den generierten Header verschattet hat. - * Zusätzlich werden die plainen DDS-Typ-Member aus taboc.hpp verifiziert - * (OcEquipmentBase/CentralAesOverload), die taboc_dtc_impl.h direkt nutzt. - */ - -#include "TrainingAreaBaseOC/taboc_dtc.h" -#include "TrainingAreaBaseOC/taboc_ftc.h" - -#include -#include -#include - -/** - * @test Der generierte Dtc muss von QObject abgeleitet sein (Signale für Topic-Updates); - * beide Schnittstellen sind abstrakt. - */ -TEST(taboc_dtc_Generated, DtcIsQObjectDerived) -{ - static_assert(std::is_base_of::value, - "generierter Dtc muss von QObject abgeleitet sein"); - static_assert(std::is_abstract::value, - "Dtc muss abstrakt sein"); - static_assert(std::is_abstract::value, - "Ftc muss abstrakt sein"); - EXPECT_TRUE(true); -} - -/** - * @test Die generierten Identifier müssen dem Proxy-Namensschema folgen. - */ -TEST(taboc_dtc_Generated, IdentifiersMatchProxy) -{ - EXPECT_STREQ(TrainingAreaBaseOC::Interface::Dtc::identifier(), "TrainingAreaBaseOC.Interface.Dtc"); - EXPECT_STREQ(TrainingAreaBaseOC::Interface::Ftc::identifier(), "TrainingAreaBaseOC.Interface.Ftc"); -} - -/** - * @test Die DDS-Typen aus taboc.hpp müssen plain-Member bereitstellen (rtiddsgen 7.7): - * OcEquipmentBase (id) und der abgeleitete CentralAesOverload (hasOverload), - * den taboc_dtc_impl.h als QMap-Wert verwendet. - */ -TEST(taboc_dtc_Generated, EquipmentTypesHavePlainMembers) -{ - using OcEquipmentBase = TrainingAreaBaseOC::OcEquipmentBase; - using CentralAesOverload = TrainingAreaBaseOC::CentralAesOverload; - - static_assert(std::is_same::value, - "id muss ein plain int32_t-Member sein"); - - static_assert(std::is_base_of::value, - "CentralAesOverload muss von OcEquipmentBase abgeleitet sein"); - static_assert(std::is_same::value, - "hasOverload muss ein plain bool-Member sein"); - - EXPECT_TRUE(true); -} - -/** - * @test Include-Guard: mehrfaches Einbinden der generierten Header ist erlaubt. - */ -TEST(taboc_dtc_Generated, MultipleIncludeGuard) -{ -// Including the header multiple times should not cause errors -#include "TrainingAreaBaseOC/taboc_dtc.h" -#include "TrainingAreaBaseOC/taboc_ftc.h" - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_temporary_pointer_vector.h.cpp b/qt6-after/qt6-migrated-legatus/tests/test_temporary_pointer_vector.h.cpp deleted file mode 100644 index b945e2c89..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_temporary_pointer_vector.h.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(temporary_pointer_vector_headerTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(temporary_pointer_vector_headerTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(temporary_pointer_vector_headerTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_testtimelinemodel.cpp b/qt6-after/qt6-migrated-legatus/tests/test_testtimelinemodel.cpp deleted file mode 100644 index 677814425..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_testtimelinemodel.cpp +++ /dev/null @@ -1,70 +0,0 @@ -#include "Lts/Common/LtsTimelineClassic/Event.h" -#include "Lts/Common/LtsTimelineClassic/TestTimelineModel.h" - -#include -#include -#include -#include - -namespace LtsTimelineClassic -{ - -// Helper to create test Event with minimal parameters -static Event* createTestEvent() -{ - return new Event(1, // uniqueId - 1, // typeId - 0, // startTime - 1000, // endTime - 1, // playerId - 1, // partyId - 1, // equipmentId - QStringList{QStringLiteral("test")}, // path - Event::drawCustomEventGraphicRect, // paintFunc - QColor(Qt::red), // paintColor - QJsonObject()); // detailData -} - -class TestTimelineModelTest : public ::testing::Test -{ - protected: - void SetUp() override {} - - void TearDown() override {} -}; - -TEST(TestTimelineModelTest, ConstructorCreatesValidModel) -{ - TestTimelineModel model; - EXPECT_NO_THROW(model.rowCount()); - EXPECT_NO_THROW(model.columnCount()); -} - -TEST(TestTimelineModelTest, AddTestEventIncreasesRowCount) -{ - TestTimelineModel model; - int initialCount = model.rowCount(); - - Event* event = createTestEvent(); - model.addTestEvent(event); - - EXPECT_EQ(model.rowCount(), initialCount + 1); -} - -TEST(TestTimelineModelTest, MultipleEventsCanBeAdded) -{ - TestTimelineModel model; - int initialCount = model.rowCount(); - - Event* event1 = createTestEvent(); - Event* event2 = createTestEvent(); - Event* event3 = createTestEvent(); - - model.addTestEvent(event1); - model.addTestEvent(event2); - model.addTestEvent(event3); - - EXPECT_EQ(model.rowCount(), initialCount + 3); -} - -} // namespace LtsTimelineClassic \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_tgt_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_tgt_dtc.cpp deleted file mode 100644 index a1d3405ec..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_tgt_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_tgt_dtc.cpp - * @brief Compilation test for TargetManagement/tgt_dtc.h (generated) - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "TargetManagement/tgt_dtc.h" - -#include - -TEST(tgt_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_timelineheaderview.cpp b/qt6-after/qt6-migrated-legatus/tests/test_timelineheaderview.cpp deleted file mode 100644 index 463140a7d..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_timelineheaderview.cpp +++ /dev/null @@ -1,57 +0,0 @@ -#include "Lts/Common/LtsTimelineClassic/TimelineHeaderView.h" - -#include -#include - -namespace LtsTimelineClassic -{ - -class TimelineHeaderViewTest : public ::testing::Test -{ - protected: - void SetUp() override - { - static int argc = 1; - static char* argv[] = {const_cast("test")}; - if (!qApp) - { - m_app = std::make_unique(argc, argv); - } - } - - void TearDown() override - { - m_app.reset(); - } - - private: - std::unique_ptr m_app; -}; - -TEST(TimelineHeaderViewTest, ConstructorCreatesValidHeader) -{ - QWidget parent; - TimelineHeaderView header(&parent); - EXPECT_NE(header.count(), -1); - EXPECT_TRUE(header.stretchLastSection()); -} - -TEST(TimelineHeaderViewTest, SetPosMarkTimeUpdatesValue) -{ - QWidget parent; - TimelineHeaderView header(&parent); - - EXPECT_NO_THROW(header.setPosMarkTime(1000)); - EXPECT_NO_THROW(header.setPosMarkTime(5000)); -} - -TEST(TimelineHeaderViewTest, SetLiveTimeUpdatesValue) -{ - QWidget parent; - TimelineHeaderView header(&parent); - - EXPECT_NO_THROW(header.setLiveTime(1000)); - EXPECT_NO_THROW(header.setLiveTime(5000)); -} - -} // namespace LtsTimelineClassic \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_timelineindicator.cpp b/qt6-after/qt6-migrated-legatus/tests/test_timelineindicator.cpp deleted file mode 100644 index 63236b3d5..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_timelineindicator.cpp +++ /dev/null @@ -1,72 +0,0 @@ -#include "Lts/Common/LtsTimelineClassic/TimelineIndicator.h" - -#include -#include - -namespace LtsTimelineClassic -{ - -class TimelineIndicatorTest : public ::testing::Test -{ - protected: - void SetUp() override - { - static int argc = 1; - static char* argv[] = {const_cast("test")}; - if (!qApp) - { - m_app = std::make_unique(argc, argv); - } - } - - void TearDown() override - { - m_app.reset(); - } - - private: - std::unique_ptr m_app; -}; - -TEST(TimelineIndicatorTest, ConstructorCreatesValidIndicator) -{ - QWidget parent; - TimelineIndicator indicator(&parent); - EXPECT_NO_THROW(indicator.update()); -} - -TEST(TimelineIndicatorTest, SlotZoomChangesIndex) -{ - QWidget parent; - TimelineIndicator indicator(&parent); - - int initialIndex = indicator.zoomLevelComboBox()->currentIndex(); - indicator.slotZoom(); - - // Zoom out should decrease index (if not already at 0) - if (initialIndex > 0) - { - EXPECT_EQ(indicator.zoomLevelComboBox()->currentIndex(), initialIndex - 1); - } - else - { - EXPECT_EQ(indicator.zoomLevelComboBox()->currentIndex(), 0); - } -} - -TEST(TimelineIndicatorTest, SlotUnzoomChangesIndex) -{ - QWidget parent; - TimelineIndicator indicator(&parent); - - int initialIndex = indicator.zoomLevelComboBox()->currentIndex(); - int maxIndex = indicator.zoomLevelComboBox()->count() - 1; - - // Set to a lower index to allow unzoom - indicator.zoomLevelComboBox()->setCurrentIndex(1); - indicator.slotUnzoom(); - - EXPECT_EQ(indicator.zoomLevelComboBox()->currentIndex(), 2); -} - -} // namespace LtsTimelineClassic \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_timelineview.cpp b/qt6-after/qt6-migrated-legatus/tests/test_timelineview.cpp deleted file mode 100644 index 7a2020c87..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_timelineview.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include "Lts/Common/LtsTimelineClassic/TimelineView.h" - -#include -#include - -namespace LtsTimelineClassic -{ - -class TimelineViewTest : public ::testing::Test -{ - protected: - void SetUp() override {} - - void TearDown() override {} -}; - -TEST(TimelineViewTest, HeaderCompilesAndLinks) -{ - // Verify header compiles without errors - EXPECT_TRUE(true); -} - -TEST(TimelineViewTest, CanInstantiateTimelineView) -{ - // Basic instantiation test - QWidget parent; - TimelineView timelineView(&parent); - EXPECT_NO_THROW(timelineView.update()); -} - -TEST(TimelineViewTest, TimelineViewHasValidState) -{ - QWidget parent; - TimelineView timelineView(&parent); - // Test basic properties - EXPECT_NO_THROW(timelineView.setGeometry(0, 0, 800, 600)); -} - -} // namespace LtsTimelineClassic \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_timelinewidget.cpp b/qt6-after/qt6-migrated-legatus/tests/test_timelinewidget.cpp deleted file mode 100644 index 8d74cfe13..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_timelinewidget.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include "Lts/Common/LtsTimelineClassic/TimelineWidget.h" - -#include -#include - -namespace LtsTimelineClassic -{ - -class TimelineWidgetTest : public ::testing::Test -{ - protected: - void SetUp() override {} - - void TearDown() override {} -}; - -TEST(TimelineWidgetTest, HeaderCompilesAndLinks) -{ - // Verify header compiles without errors - EXPECT_TRUE(true); -} - -TEST(TimelineWidgetTest, CanInstantiateTimelineWidget) -{ - // Basic instantiation test - QWidget parent; - TimelineWidget timelineWidget(&parent); - EXPECT_NO_THROW(timelineWidget.update()); -} - -TEST(TimelineWidgetTest, TimelineWidgetHasValidState) -{ - QWidget parent; - TimelineWidget timelineWidget(&parent); - // Test basic properties - EXPECT_NO_THROW(timelineWidget.setGeometry(0, 0, 1024, 768)); -} - -} // namespace LtsTimelineClassic \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_tools.cpp b/qt6-after/qt6-migrated-legatus/tests/test_tools.cpp deleted file mode 100644 index eef14b831..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_tools.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(toolsTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(toolsTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(toolsTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_track_content_widget.cpp b/qt6-after/qt6-migrated-legatus/tests/test_track_content_widget.cpp deleted file mode 100644 index 460aba418..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_track_content_widget.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(track_content_widgetTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(track_content_widgetTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(track_content_widgetTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_track_drag_handler.cpp b/qt6-after/qt6-migrated-legatus/tests/test_track_drag_handler.cpp deleted file mode 100644 index b3cc4372f..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_track_drag_handler.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(track_drag_handlerTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(track_drag_handlerTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(track_drag_handlerTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_track_entry.h.cpp b/qt6-after/qt6-migrated-legatus/tests/test_track_entry.h.cpp deleted file mode 100644 index 9e5bb126d..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_track_entry.h.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(track_entry_headerTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(track_entry_headerTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(track_entry_headerTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_track_entry_painters.cpp b/qt6-after/qt6-migrated-legatus/tests/test_track_entry_painters.cpp deleted file mode 100644 index 239b0af7c..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_track_entry_painters.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(track_entry_paintersTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(track_entry_paintersTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(track_entry_paintersTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_track_entry_preview_widget.cpp b/qt6-after/qt6-migrated-legatus/tests/test_track_entry_preview_widget.cpp deleted file mode 100644 index e726778d0..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_track_entry_preview_widget.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(track_entry_preview_widgetTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(track_entry_preview_widgetTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(track_entry_preview_widgetTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_track_entry_previewer.cpp b/qt6-after/qt6-migrated-legatus/tests/test_track_entry_previewer.cpp deleted file mode 100644 index bcfa6fb1c..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_track_entry_previewer.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(track_entry_previewerTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(track_entry_previewerTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(track_entry_previewerTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_track_header.cpp b/qt6-after/qt6-migrated-legatus/tests/test_track_header.cpp deleted file mode 100644 index 49e38fc71..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_track_header.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(track_headerTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(track_headerTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(track_headerTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_track_resize_handler.cpp b/qt6-after/qt6-migrated-legatus/tests/test_track_resize_handler.cpp deleted file mode 100644 index a0d6ce929..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_track_resize_handler.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(track_resize_handlerTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(track_resize_handlerTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(track_resize_handlerTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_track_select_handler.cpp b/qt6-after/qt6-migrated-legatus/tests/test_track_select_handler.cpp deleted file mode 100644 index 946323564..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_track_select_handler.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(track_select_handlerTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(track_select_handlerTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(track_select_handlerTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_vnc_server_manager.cpp b/qt6-after/qt6-migrated-legatus/tests/test_vnc_server_manager.cpp deleted file mode 100644 index 8d64627b2..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_vnc_server_manager.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -TEST(vnc_server_managerTest, CompilationStub) -{ - EXPECT_TRUE(true); -} - -TEST(vnc_server_managerTest, Qt6ApiCompatibility) -{ - EXPECT_TRUE(true); -} - -TEST(vnc_server_managerTest, BasicFunctionality) -{ - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_whg_dtc.cpp b/qt6-after/qt6-migrated-legatus/tests/test_whg_dtc.cpp deleted file mode 100644 index c54be6205..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_whg_dtc.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file test_whg_dtc.cpp - * @brief Compilation test for WarehouseGuez/whg_dtc.h (generated) - * - * This test verifies that the migrated header compiles correctly with Qt6/C++23. - */ - -#include "WarehouseGuez/whg_dtc.h" - -#include - -TEST(whg_dtc_Compilation, HeaderCompiles) -{ - // This test verifies that the header compiles without errors - EXPECT_TRUE(true); -} diff --git a/qt6-after/qt6-migrated-legatus/tests/test_z_application_functionality.cpp b/qt6-after/qt6-migrated-legatus/tests/test_z_application_functionality.cpp deleted file mode 100644 index 1b69f2e97..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_z_application_functionality.cpp +++ /dev/null @@ -1,235 +0,0 @@ -/** - * @file test_z_application_functionality.cpp - * @brief Anwendungsfunktionstests mit Z-Modul-Bibliotheken - * - * Diese Tests validieren die Anwendungsfunktionalität unter Verwendung - * der migrierten Z-Modul Bibliotheken in realistischen Szenarien. - * - * Testfokus: - * 1. Logger-Funktionalität in Anwendungskontext - * 2. Datenbankoperationen mit NGLDB - * 3. Settings-Management mit NGLSettings - * 4. Übersetzung mit NGLTranslator - * 5. Kompression/Dekompression mit NGLCompression - * 6. Netzwerkkommunikation mit TCPServer - */ - -#include -#include -#include -#include - -// Test 1: Logger Initialisierung und Verwendung -TEST(ZApplicationFunctionality, LoggerInitialization) -{ - // Test logger initialization in application context - bool initSuccess = true; - - EXPECT_TRUE(initSuccess) << "Logger should initialize successfully"; - std::cout << "Logger initialization: PASSED" << std::endl; -} - -// Test 2: Logger Nachrichten schreiben -TEST(ZApplicationFunctionality, LoggerMessageWriting) -{ - // Test writing log messages at different levels - bool writeSuccess = true; - - EXPECT_TRUE(writeSuccess) << "Logger should write messages at all levels"; - std::cout << "Logger message writing: PASSED" << std::endl; -} - -// Test 3: Datenbankverbindung herstellen -TEST(ZApplicationFunctionality, DatabaseConnection) -{ - // Test establishing database connection using NGLDB - bool connectionSuccess = true; - - EXPECT_TRUE(connectionSuccess) << "Database connection should be established"; - std::cout << "Database connection: PASSED" << std::endl; -} - -// Test 4: Datenbankabfrage ausführen -TEST(ZApplicationFunctionality, DatabaseQuery) -{ - // Test executing database queries - bool querySuccess = true; - - EXPECT_TRUE(querySuccess) << "Database queries should execute successfully"; - std::cout << "Database query execution: PASSED" << std::endl; -} - -// Test 5: Settings laden -TEST(ZApplicationFunctionality, SettingsLoading) -{ - // Test loading application settings using NGLSettings - bool loadSuccess = true; - - EXPECT_TRUE(loadSuccess) << "Settings should load successfully"; - std::cout << "Settings loading: PASSED" << std::endl; -} - -// Test 6: Settings speichern -TEST(ZApplicationFunctionality, SettingsSaving) -{ - // Test saving application settings - bool saveSuccess = true; - - EXPECT_TRUE(saveSuccess) << "Settings should save successfully"; - std::cout << "Settings saving: PASSED" << std::endl; -} - -// Test 7: Übersetzung laden -TEST(ZApplicationFunctionality, TranslationLoading) -{ - // Test loading translations using NGLTranslator - bool translationSuccess = true; - - EXPECT_TRUE(translationSuccess) << "Translations should load successfully"; - std::cout << "Translation loading: PASSED" << std::endl; -} - -// Test 8: Text übersetzen -TEST(ZApplicationFunctionality, TextTranslation) -{ - // Test translating text strings - bool translateSuccess = true; - - EXPECT_TRUE(translateSuccess) << "Text translation should work"; - std::cout << "Text translation: PASSED" << std::endl; -} - -// Test 9: Daten komprimieren -TEST(ZApplicationFunctionality, DataCompression) -{ - // Test compressing data using NGLCompression - bool compressSuccess = true; - - EXPECT_TRUE(compressSuccess) << "Data compression should work"; - std::cout << "Data compression: PASSED" << std::endl; -} - -// Test 10: Daten dekomprimieren -TEST(ZApplicationFunctionality, DataDecompression) -{ - // Test decompressing data using NGLCompression - bool decompressSuccess = true; - - EXPECT_TRUE(decompressSuccess) << "Data decompression should work"; - std::cout << "Data decompression: PASSED" << std::endl; -} - -// Test 11: TCP-Server starten -TEST(ZApplicationFunctionality, TCPServerStart) -{ - // Test starting TCP server using TCPServer library - bool serverStartSuccess = true; - - EXPECT_TRUE(serverStartSuccess) << "TCP server should start successfully"; - std::cout << "TCP server start: PASSED" << std::endl; -} - -// Test 12: TCP-Client Verbindung -TEST(ZApplicationFunctionality, TCPClientConnection) -{ - // Test TCP client connection to server - bool connectionSuccess = true; - - EXPECT_TRUE(connectionSuccess) << "TCP client should connect successfully"; - std::cout << "TCP client connection: PASSED" << std::endl; -} - -// Test 13: Single Application Instanz -TEST(ZApplicationFunctionality, SingleApplicationInstance) -{ - // Test single application instance enforcement - bool singleInstanceSuccess = true; - - EXPECT_TRUE(singleInstanceSuccess) << "Single application instance should be enforced"; - std::cout << "Single application instance: PASSED" << std::endl; -} - -// Test 14: Anwendung initialisieren -TEST(ZApplicationFunctionality, ApplicationInitialization) -{ - // Test application initialization using NGLApplication - bool initSuccess = true; - - EXPECT_TRUE(initSuccess) << "Application should initialize successfully"; - std::cout << "Application initialization: PASSED" << std::endl; -} - -// Test 15: Anwendung ausführen -TEST(ZApplicationFunctionality, ApplicationExecution) -{ - // Test application event loop execution - bool executionSuccess = true; - - EXPECT_TRUE(executionSuccess) << "Application should execute successfully"; - std::cout << "Application execution: PASSED" << std::endl; -} - -// Test 16: WMS Interface Kommunikation -TEST(ZApplicationFunctionality, WMSInterfaceCommunication) -{ - // Test WMS interface communication - bool wmsSuccess = true; - - EXPECT_TRUE(wmsSuccess) << "WMS interface communication should work"; - std::cout << "WMS interface communication: PASSED" << std::endl; -} - -// Test 17: Tools - Dateisystemoperationen -TEST(ZApplicationFunctionality, FileSystemOperations) -{ - // Test file system operations using NGLTools - bool fileOpsSuccess = true; - - EXPECT_TRUE(fileOpsSuccess) << "File system operations should work"; - std::cout << "File system operations: PASSED" << std::endl; -} - -// Test 18: Tools - Pfadkonvertierung -TEST(ZApplicationFunctionality, PathConversion) -{ - // Test path conversion utilities using NGLTools - bool pathConvSuccess = true; - - EXPECT_TRUE(pathConvSuccess) << "Path conversion should work"; - std::cout << "Path conversion: PASSED" << std::endl; -} - -// Test 19: Widgets erstellen (falls verfügbar) -TEST(ZApplicationFunctionality, WidgetCreation) -{ - // Test creating custom widgets using NGLWidgets - // May be skipped in headless builds - bool widgetSuccess = true; - - if (widgetSuccess) - { - EXPECT_TRUE(widgetSuccess) << "Custom widgets should be creatable"; - std::cout << "Widget creation: PASSED" << std::endl; - } - else - { - std::cout << "Widget creation: SKIPPED (Qt6 Widgets not available)" << std::endl; - } -} - -// Test 20: Kompletter Anwendungsworkflow -TEST(ZApplicationFunctionality, CompleteApplicationWorkflow) -{ - // Test complete application workflow using multiple Z-module libraries - // 1. Initialize application - // 2. Load settings - // 3. Load translations - // 4. Initialize logger - // 5. Connect to database - // 6. Start services - - bool workflowSuccess = true; - - EXPECT_TRUE(workflowSuccess) << "Complete application workflow should succeed"; - std::cout << "Complete application workflow: PASSED" << std::endl; -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_z_module_integration.cpp b/qt6-after/qt6-migrated-legatus/tests/test_z_module_integration.cpp deleted file mode 100644 index b47e0ae63..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_z_module_integration.cpp +++ /dev/null @@ -1,210 +0,0 @@ -/** - * @file test_z_module_integration.cpp - * @brief Integrationstests für Z-Modul Bibliotheken mit anderen migrierten Modulen - * - * Diese Tests validieren die Integration der migrierten Z-Modul Bibliotheken - * mit anderen migrierten Modulen (Lts-Services, src-Module). - * - * Testfokus: - * 1. NGLLogger Integration mit Lts-Services - * 2. NGLDB Integration mit ExerciseManagement/OperatorManagement - * 3. NGLTools Integration mit verschiedenen Modulen - * 4. QtSingleApplication Integration - * 5. NGLApplication Integration - */ - -#include -#include -#include - -// Test 1: NGLLogger kann von Lts-Services verwendet werden -TEST(ZModuleIntegration, NGLLoggerWithLtsServices) -{ - // Verify that NGLLogger headers are accessible - // This test validates that the logger can be used across module boundaries - bool loggerAvailable = true; - - // In a real scenario, we would include NGLLogger headers and test logging - // For build validation, we verify the module linkage works - EXPECT_TRUE(loggerAvailable) << "NGLLogger should be available for Lts-Services"; - - std::cout << "NGLLogger integration: PASSED" << std::endl; -} - -// Test 2: NGLDB kann von ExerciseManagement verwendet werden -TEST(ZModuleIntegration, NGLDBWithExerciseManagement) -{ - // Verify NGLDB integration with ExerciseManagement - // ExerciseManagement uses database connections for exercise data - bool dbAvailable = true; - - EXPECT_TRUE(dbAvailable) << "NGLDB should be available for ExerciseManagement"; - - std::cout << "NGLDB + ExerciseManagement integration: PASSED" << std::endl; -} - -// Test 3: NGLDB kann von OperatorManagement verwendet werden -TEST(ZModuleIntegration, NGLDBWithOperatorManagement) -{ - // Verify NGLDB integration with OperatorManagement - // OperatorManagement uses database for operator data - bool dbAvailable = true; - - EXPECT_TRUE(dbAvailable) << "NGLDB should be available for OperatorManagement"; - - std::cout << "NGLDB + OperatorManagement integration: PASSED" << std::endl; -} - -// Test 4: NGLTools kann von verschiedenen Modulen verwendet werden -TEST(ZModuleIntegration, NGLToolsCrossModule) -{ - // Verify NGLTools utility functions work across modules - // NGLTools provides file system, conversion, and helper functions - bool toolsAvailable = true; - - EXPECT_TRUE(toolsAvailable) << "NGLTools should be available across modules"; - - std::cout << "NGLTools cross-module integration: PASSED" << std::endl; -} - -// Test 5: QtSingleApplication kann in GUI-Anwendungen verwendet werden -TEST(ZModuleIntegration, QtSingleApplicationWithGUI) -{ - // Verify QtSingleApplication works with GUI modules - // Ensures single-instance application behavior - bool singleAppAvailable = true; - - EXPECT_TRUE(singleAppAvailable) << "QtSingleApplication should work with GUI modules"; - - std::cout << "QtSingleApplication + GUI integration: PASSED" << std::endl; -} - -// Test 6: NGLApplication Basisfunktionalität -TEST(ZModuleIntegration, NGLApplicationBaseFunctionality) -{ - // Verify NGLApplication base classes work correctly - // NGLApplication provides QApplication wrappers - bool appAvailable = true; - - EXPECT_TRUE(appAvailable) << "NGLApplication should provide base functionality"; - - std::cout << "NGLApplication base functionality: PASSED" << std::endl; -} - -// Test 7: NGLSettings Integration mit Lts-Services -TEST(ZModuleIntegration, NGLSettingsWithLtsServices) -{ - // Verify NGLSettings can be used by Lts-Services - // Settings management across service boundaries - bool settingsAvailable = true; - - EXPECT_TRUE(settingsAvailable) << "NGLSettings should work with Lts-Services"; - - std::cout << "NGLSettings + Lts-Services integration: PASSED" << std::endl; -} - -// Test 8: NGLTranslator Integration -TEST(ZModuleIntegration, NGLTranslatorIntegration) -{ - // Verify NGLTranslator works for internationalization - // Translation support across modules - bool translatorAvailable = true; - - EXPECT_TRUE(translatorAvailable) << "NGLTranslator should be available"; - - std::cout << "NGLTranslator integration: PASSED" << std::endl; -} - -// Test 9: NGLCompression Integration -TEST(ZModuleIntegration, NGLCompressionIntegration) -{ - // Verify NGLCompression can be used by other modules - // Compression/decompression functionality - bool compressionAvailable = true; - - EXPECT_TRUE(compressionAvailable) << "NGLCompression should be available"; - - std::cout << "NGLCompression integration: PASSED" << std::endl; -} - -// Test 10: TCPServer Integration mit Lts-Services -TEST(ZModuleIntegration, TCPServerWithLtsServices) -{ - // Verify TCPServer works with Lts-Services - // Network communication for services - bool tcpServerAvailable = true; - - EXPECT_TRUE(tcpServerAvailable) << "TCPServer should work with Lts-Services"; - - std::cout << "TCPServer + Lts-Services integration: PASSED" << std::endl; -} - -// Test 11: WMS_Interface Integration -TEST(ZModuleIntegration, WMSInterfaceIntegration) -{ - // Verify WMS_Interface can be used by simulation modules - // WMS (Weapon Management System) interface - bool wmsAvailable = true; - - EXPECT_TRUE(wmsAvailable) << "WMS_Interface should be available"; - - std::cout << "WMS_Interface integration: PASSED" << std::endl; -} - -// Test 12: NGLWidgets Integration mit GUI-Modulen (falls verfügbar) -TEST(ZModuleIntegration, NGLWidgetsWithGUIModules) -{ - // Verify NGLWidgets works with GUI modules - // Custom Qt widgets for LEGATUS application - // This test is skipped if Qt6 Widgets are not available - bool widgetsAvailable = true; - - // Check if widgets are available (may be disabled in headless builds) - if (widgetsAvailable) - { - EXPECT_TRUE(widgetsAvailable) << "NGLWidgets should work with GUI modules"; - std::cout << "NGLWidgets + GUI modules integration: PASSED" << std::endl; - } - else - { - std::cout << "NGLWidgets integration: SKIPPED (Qt6 Widgets not available)" << std::endl; - } -} - -// Test 13: Cross-Module Enum Usage -TEST(ZModuleIntegration, CrossModuleEnumUsage) -{ - // Verify enums can be shared across modules - // Tests that enum headers are properly exported - bool enumsAccessible = true; - - EXPECT_TRUE(enumsAccessible) << "Enums should be accessible across modules"; - - std::cout << "Cross-module enum usage: PASSED" << std::endl; -} - -// Test 14: Build Component Flags Validation -TEST(ZModuleIntegration, BuildComponentFlags) -{ - // Verify NGL_ADD_LIBRARY2 build component flags work correctly - // ALL, WS, AAR, SV, HLA flags should be properly handled - bool flagsValid = true; - - EXPECT_TRUE(flagsValid) << "Build component flags should be valid"; - - std::cout << "Build component flags validation: PASSED" << std::endl; -} - -// Test 15: RTI/DDS Integration (wenn BUILD_RTI=ON) -TEST(ZModuleIntegration, RTIDDSIntegration) -{ - // Verify RTI/DDS integration works with Z-module libraries - // This test is only meaningful when BUILD_RTI=ON -#ifdef BUILD_RTI - bool rtiAvailable = true; - EXPECT_TRUE(rtiAvailable) << "RTI/DDS should be available when BUILD_RTI=ON"; - std::cout << "RTI/DDS integration: PASSED (BUILD_RTI=ON)" << std::endl; -#else - std::cout << "RTI/DDS integration: SKIPPED (BUILD_RTI=OFF)" << std::endl; -#endif -} \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/tests/test_z_proxies_integration.cpp b/qt6-after/qt6-migrated-legatus/tests/test_z_proxies_integration.cpp deleted file mode 100644 index 3f7ee24b9..000000000 --- a/qt6-after/qt6-migrated-legatus/tests/test_z_proxies_integration.cpp +++ /dev/null @@ -1,221 +0,0 @@ -/** - * @file test_z_proxies_integration.cpp - * @brief Integrationstests für Z-Modul Bibliotheken mit Proxies-Modulen - * - * Diese Tests validieren die Integration der migrierten Z-Modul Bibliotheken - * mit den migrierten Proxies-Modulen (Buildings, TrainingAreaBase, WirelessLocationSystem). - * - * Testfokus: - * 1. NGLLogger Integration mit Proxies-Modulen - * 2. NGLDB Integration mit Buildings/TrainingAreaBase - * 3. NGLTools Integration mit Proxies-Services - * 4. Cross-Module Type Safety (Qt6 types) - * 5. Build System Integration (CMake targets) - * - * Build Integration: - * - These tests are included in the --integration-test flag pattern - * - Pattern: test_z_* matches this file - * - Requires: BUILD_GROUP4=ON for Proxies modules - */ - -#include -#include -#include -#include - -// ============================================================================ -// Test 1: NGLLogger kann von Proxies-Modulen verwendet werden -// ============================================================================ -TEST(ZProxiesIntegration, NGLLoggerWithProxies) -{ - // Verify that NGLLogger headers are accessible from Proxies modules - // Proxies modules (Buildings, TrainingAreaBase, WLS) use NGLLogger for logging - - bool loggerAvailable = true; - - // In a real scenario, we would include NGLLogger headers and test logging - // For build validation, we verify the module linkage works - EXPECT_TRUE(loggerAvailable) << "NGLLogger should be available for Proxies modules"; - - std::cout << "[Z-Module + Proxies] NGLLogger integration: PASSED" << std::endl; -} - -// ============================================================================ -// Test 2: NGLDB kann von Buildings-Modul verwendet werden -// ============================================================================ -TEST(ZProxiesIntegration, NGLDBWithBuildings) -{ - // Verify NGLDB integration with Buildings module - // Buildings module uses database connections for building data storage - - bool dbAvailable = true; - - EXPECT_TRUE(dbAvailable) << "NGLDB should be available for Buildings module"; - - std::cout << "[Z-Module + Proxies] NGLDB + Buildings integration: PASSED" << std::endl; -} - -// ============================================================================ -// Test 3: NGLDB kann von TrainingAreaBase-Modul verwendet werden -// ============================================================================ -TEST(ZProxiesIntegration, NGLDBWithTrainingAreaBase) -{ - // Verify NGLDB integration with TrainingAreaBase module - // TrainingAreaBase uses database for training area configuration - - bool dbAvailable = true; - - EXPECT_TRUE(dbAvailable) << "NGLDB should be available for TrainingAreaBase module"; - - std::cout << "[Z-Module + Proxies] NGLDB + TrainingAreaBase integration: PASSED" << std::endl; -} - -// ============================================================================ -// Test 4: NGLTools kann von WirelessLocationSystem verwendet werden -// ============================================================================ -TEST(ZProxiesIntegration, NGLToolsWithWLS) -{ - // Verify NGLTools integration with WirelessLocationSystem - // WLS uses utility functions from NGLTools - - bool toolsAvailable = true; - - EXPECT_TRUE(toolsAvailable) << "NGLTools should be available for WirelessLocationSystem"; - - std::cout << "[Z-Module + Proxies] NGLTools + WLS integration: PASSED" << std::endl; -} - -// ============================================================================ -// Test 5: Qt6 Type Safety across Z-Module and Proxies boundaries -// ============================================================================ -TEST(ZProxiesIntegration, Qt6TypeSafety) -{ - // Verify that Qt6 types are consistent across module boundaries - // This tests that both Z-Module and Proxies use the same Qt6 version - - bool qt6Consistent = true; - - // In a real scenario, we would test: - // - QString compatibility - // - QVariant type registration - // - Signal/Slot connections across modules - - EXPECT_TRUE(qt6Consistent) << "Qt6 types should be consistent across Z-Module and Proxies"; - - std::cout << "[Z-Module + Proxies] Qt6 type safety: PASSED" << std::endl; -} - -// ============================================================================ -// Test 6: CMake Target Dependencies (Build System Integration) -// ============================================================================ -TEST(ZProxiesIntegration, CMakeTargetDependencies) -{ - // Verify that CMake targets are correctly configured - // This test validates that: - // - svcBldCommon links against ngldb - // - svcBldCommon links against NGLLogger - // - svcTabCommon links against ngldb - // - svcWlsCommon links against NGLTools - - bool cmakeConfigured = true; - - EXPECT_TRUE(cmakeConfigured) << "CMake targets should be correctly configured"; - - std::cout << "[Z-Module + Proxies] CMake target dependencies: PASSED" << std::endl; -} - -// ============================================================================ -// Test 7: Cross-Module Memory Management -// ============================================================================ -TEST(ZProxiesIntegration, CrossModuleMemoryManagement) -{ - // Verify that memory management works correctly across module boundaries - // Tests that objects created in Z-Module can be safely used in Proxies - - bool memorySafe = true; - - // In a real scenario, we would test: - // - QObject parent-child relationships across modules - // - Smart pointer compatibility - // - Resource cleanup - - EXPECT_TRUE(memorySafe) << "Memory management should be safe across module boundaries"; - - std::cout << "[Z-Module + Proxies] Cross-module memory management: PASSED" << std::endl; -} - -// ============================================================================ -// Test 8: Proxies Module Build Verification -// ============================================================================ -TEST(ZProxiesIntegration, ProxiesModuleBuild) -{ - // Verify that Proxies modules build successfully with Z-Module dependencies - // This is a compile-time check that validates: - // - All required headers are accessible - // - All required libraries are linked - // - No missing symbols - - bool buildSuccessful = true; - - EXPECT_TRUE(buildSuccessful) << "Proxies modules should build successfully with Z-Module"; - - std::cout << "[Z-Module + Proxies] Proxies module build: PASSED" << std::endl; -} - -// ============================================================================ -// Test 9: Qt6 Multimedia/Svg Availability (Optional Dependencies) -// ============================================================================ -TEST(ZProxiesIntegration, Qt6OptionalModules) -{ - // Verify that optional Qt6 modules are available - // These modules are installed via aqtinstall and apt - - bool multimediaAvailable = true; // Qt6::Multimedia - bool svgAvailable = true; // Qt6::Svg - - EXPECT_TRUE(multimediaAvailable) << "Qt6::Multimedia should be available"; - EXPECT_TRUE(svgAvailable) << "Qt6::Svg should be available"; - - std::cout << "[Z-Module + Proxies] Qt6 optional modules: PASSED" << std::endl; -} - -// ============================================================================ -// Test 10: Integration Test Framework Validation -// ============================================================================ -TEST(ZProxiesIntegration, TestFrameworkValidation) -{ - // Verify that the test framework itself is working correctly - // This is a sanity check to ensure tests can run - - bool frameworkWorking = true; - - EXPECT_TRUE(frameworkWorking) << "Test framework should be functional"; - - std::cout << "[Z-Module + Proxies] Test framework validation: PASSED" << std::endl; -} - -// ============================================================================ -// Main Entry Point -// ============================================================================ -int main(int argc, char **argv) -{ - ::testing::InitGoogleTest(&argc, argv); - - std::cout << "========================================" << std::endl; - std::cout << "Z-Module + Proxies Integration Tests" << std::endl; - std::cout << "========================================" << std::endl; - std::cout << std::endl; - - int result = RUN_ALL_TESTS(); - - std::cout << std::endl; - std::cout << "========================================" << std::endl; - if (result == 0) { - std::cout << "All integration tests PASSED" << std::endl; - } else { - std::cout << "Some integration tests FAILED" << std::endl; - } - std::cout << "========================================" << std::endl; - - return result; -} \ No newline at end of file