├── .github ├── pull_request_template.md └── workflows │ ├── config │ ├── build.meta │ ├── test.meta │ └── test.repos │ ├── mirror.yml │ ├── nightly-ubuntu-ci.yml │ ├── reusable-ubuntu-ci.yml │ ├── ubuntu-ci.yml │ └── weekly-ubuntu-ci.yml ├── .gitignore ├── CMakeLists.txt ├── README.md ├── RELEASE_SUPPORT.md ├── cmake └── common │ ├── check_configuration.cmake │ └── random_ports.cmake ├── colcon.pkg ├── discovery-server.repos ├── include ├── DiscoveryItem.h ├── DiscoveryServerManager.h ├── IDs.h └── LateJoiner.h ├── license └── LICENSE ├── resources ├── images │ └── ds_uml.png ├── xml │ ├── examples │ │ ├── HelloWorld_TCP_config.xml │ │ ├── HelloWorld_UDP_TCP_config.xml │ │ ├── HelloWorld_UDP_config.xml │ │ ├── HelloWorld_config.xml │ │ └── HelloWorld_config_minimal_profile.xml │ ├── test_schema.xml │ └── test_schema2.xml ├── xsd │ └── ds-snapshot.xsd └── xtypes │ ├── HelloWorld.hpp │ ├── HelloWorld.idl │ ├── HelloWorldCdrAux.hpp │ ├── HelloWorldCdrAux.ipp │ ├── HelloWorldPubSubTypes.cxx │ ├── HelloWorldPubSubTypes.hpp │ ├── HelloWorldTypeObjectSupport.cxx │ └── HelloWorldTypeObjectSupport.hpp ├── src ├── DSLog.h.in ├── DiscoveryItem.cpp ├── DiscoveryServerManager.cpp ├── LateJoiner.cpp ├── arguments.h ├── config.h.in ├── main.cpp └── optionparser.h ├── test ├── CMakeLists.txt ├── configuration │ ├── environment.json │ ├── intraprocess_full.xml │ ├── intraprocess_off.xml │ ├── test_cases │ │ ├── test_00_tool_help.xml │ │ ├── test_01_trivial.xml │ │ ├── test_02_single_server_medium.xml │ │ ├── test_03_single_server_large.xml │ │ ├── test_04_server_ping.xml │ │ ├── test_05_server_double_ping.xml │ │ ├── test_06_diamond_servers.xml │ │ ├── test_07_server_endpoints_two_servers.xml │ │ ├── test_08_server_endpoints_four_clients.xml │ │ ├── test_09_servers_serial.xml │ │ ├── test_101_trivial_xtypes_clients.xml │ │ ├── test_101_trivial_xtypes_servers.xml │ │ ├── test_102_single_server_medium_xtypes.xml │ │ ├── test_103_single_server_large_xtypes.xml │ │ ├── test_106_diamond_servers_xtypes_clients.xml │ │ ├── test_106_diamond_servers_xtypes_server1.xml │ │ ├── test_106_diamond_servers_xtypes_server2.xml │ │ ├── test_106_diamond_servers_xtypes_server3.xml │ │ ├── test_106_diamond_servers_xtypes_server4.xml │ │ ├── test_108_server_endpoints_four_clients_xtypes_clients.xml │ │ ├── test_108_server_endpoints_four_clients_xtypes_servers.xml │ │ ├── test_10_server_redundancy.xml │ │ ├── test_114_disposals_remote_servers_xtypes_clients.xml │ │ ├── test_114_disposals_remote_servers_xtypes_servers.xml │ │ ├── test_11_remote_servers.xml │ │ ├── test_128_slow_arise_interconnection_xtypes_clients.xml │ │ ├── test_12_virtual_topics.xml │ │ ├── test_13_disposals_single_server.xml │ │ ├── test_14_disposals_remote_servers.xml │ │ ├── test_15_disposals_client_servers.xml │ │ ├── test_16_lease_duration_single_client.xml │ │ ├── test_16_lease_duration_single_client_1.xml │ │ ├── test_17_lease_duration_remove_client_server.xml │ │ ├── test_17_lease_duration_remove_client_server_1.xml │ │ ├── test_18_disposals_remote_servers_multiprocess.xml │ │ ├── test_18_disposals_remote_servers_multiprocess_1.xml │ │ ├── test_18_disposals_remote_servers_multiprocess_2.xml │ │ ├── test_19_disposals_break_builtin_connections.xml │ │ ├── test_20_break_builtin_connections.xml │ │ ├── test_20_break_builtin_connections_1.xml │ │ ├── test_21_disposals_remote_server_trivial.xml │ │ ├── test_22_environment_variable_setup.xml │ │ ├── test_23_fast_discovery_server_tool.xml │ │ ├── test_24_backup.xml │ │ ├── test_24_backup_1.xml │ │ ├── test_25_backup_compatibility.xml │ │ ├── test_26_backup_restore.xml │ │ ├── test_26_backup_restore_1.xml │ │ ├── test_27_slow_arise.xml │ │ ├── test_28_slow_arise_interconnection.xml │ │ ├── test_29_server_ping_late_joiner.xml │ │ ├── test_30_connect_locally_with_remote_entity.xml │ │ ├── test_31_matched_servers_not_share_info.xml │ │ ├── test_32_superclient_trivial.xml │ │ ├── test_33_superclient_complex.xml │ │ ├── test_34_connect_locally_with_remote_server.xml │ │ ├── test_35_fds_two_connected_servers_with_clients.xml │ │ ├── test_36_dns_environment_variable_setup.xml │ │ ├── test_37_dns_fast_discovery_server_tool.xml │ │ ├── test_38_self_connection.xml │ │ ├── test_39_trivial_reconnect_A.xml │ │ ├── test_39_trivial_reconnect_B.xml │ │ ├── test_40_trivial_server_reconnect_A.xml │ │ ├── test_40_trivial_server_reconnect_B.xml │ │ ├── test_41_reconnect_with_clients_A.xml │ │ ├── test_41_reconnect_with_clients_B.xml │ │ ├── test_42_server_reconnect_with_clients_A.xml │ │ ├── test_42_server_reconnect_with_clients_B.xml │ │ ├── test_43_complex_reconnect_A1.xml │ │ ├── test_43_complex_reconnect_A2.xml │ │ ├── test_43_complex_reconnect_B1.xml │ │ ├── test_43_complex_reconnect_B2.xml │ │ ├── test_44_fast_discovery_server_tool_reconnect.xml │ │ ├── test_45_trivial_client_reconnect_client.xml │ │ ├── test_45_trivial_client_reconnect_server.xml │ │ ├── test_46_guidless_discovery.xml │ │ ├── test_47_guidless_server_double_ping.xml │ │ ├── test_48_guidless_complex.xml │ │ ├── test_50_environment_modification.xml │ │ ├── test_60_disconnection_A.xml │ │ ├── test_60_disconnection_B.xml │ │ ├── test_61_superclient_environment_variable.xml │ │ ├── test_80_auto.xml │ │ ├── test_81_auto_ros_domain_id_env_var.xml │ │ ├── test_82_auto_ros_static_peers_env_var.xml │ │ ├── test_83_start.xml │ │ ├── test_84_add.xml │ │ ├── test_85_set_add_stop.xml │ │ ├── test_86_stop_all_servers.xml │ │ ├── test_87_set_modifies_env_var_A.xml │ │ ├── test_87_set_modifies_env_var_B.xml │ │ ├── test_93_tcp_reconnect_with_clients_A.xml │ │ ├── test_93_tcp_reconnect_with_clients_B.xml │ │ ├── test_94_tcpv4_custom_guid_transform_locators.xml │ │ ├── test_95_tcpv4_cli.xml │ │ ├── test_96_tcpv6_cli.xml │ │ ├── test_97_tcpv4_env_var.xml │ │ ├── test_98_tcpv6_env_var.xml │ │ └── test_99_tcp.xml │ ├── test_solutions │ │ ├── test_01_trivial.snapshot │ │ ├── test_02_single_server_medium.snapshot │ │ ├── test_03_single_server_large.snapshot │ │ ├── test_04_server_ping.snapshot │ │ ├── test_05_server_double_ping.snapshot │ │ ├── test_06_diamond_servers.snapshot │ │ ├── test_07_server_endpoints_two_servers.snapshot │ │ ├── test_08_server_endpoints_four_clients.snapshot │ │ ├── test_09_servers_serial.snapshot │ │ ├── test_101_trivial_xtypes_clients.snapshot │ │ ├── test_101_trivial_xtypes_servers.snapshot │ │ ├── test_102_single_server_medium_xtypes.snapshot │ │ ├── test_103_single_server_large_xtypes.snapshot │ │ ├── test_106_diamond_servers_xtypes_clients.snapshot │ │ ├── test_106_diamond_servers_xtypes_server1.snapshot │ │ ├── test_106_diamond_servers_xtypes_server2.snapshot │ │ ├── test_106_diamond_servers_xtypes_server3.snapshot │ │ ├── test_106_diamond_servers_xtypes_server4.snapshot │ │ ├── test_108_server_endpoints_four_clients_xtypes_clients.snapshot │ │ ├── test_108_server_endpoints_four_clients_xtypes_servers.snapshot │ │ ├── test_10_server_redundancy.snapshot │ │ ├── test_114_disposals_remote_servers_xtypes_clients.snapshot │ │ ├── test_114_disposals_remote_servers_xtypes_servers.snapshot │ │ ├── test_11_remote_servers.snapshot │ │ ├── test_12_virtual_topics.snapshot │ │ ├── test_13_disposals_single_server.snapshot │ │ ├── test_14_disposals_remote_servers.snapshot │ │ ├── test_15_disposals_client_servers.snapshot │ │ ├── test_16_lease_duration_single_client.snapshot │ │ ├── test_17_lease_duration_remove_client_server.snapshot │ │ ├── test_18_disposals_remote_servers_multiprocess.snapshot │ │ ├── test_19_disposals_break_builtin_connections.snapshot │ │ ├── test_20_break_builtin_connections.snapshot │ │ ├── test_21_disposals_remote_server_trivial.snapshot │ │ ├── test_22_environment_variable_setup.snapshot │ │ ├── test_23_fast_discovery_server_tool.snapshot │ │ ├── test_24_backup.snapshot │ │ ├── test_24_backup_1.snapshot │ │ ├── test_25_backup_compatibility.snapshot │ │ ├── test_26_backup_restore.snapshot │ │ ├── test_26_backup_restore_1.snapshot │ │ ├── test_27_slow_arise.snapshot │ │ ├── test_28_slow_arise_interconnection.snapshot │ │ ├── test_29_server_ping_late_joiner.snapshot │ │ ├── test_30_connect_locally_with_remote_entity.snapshot │ │ ├── test_31_matched_servers_not_share_info.snapshot │ │ ├── test_32_superclient_trivial.snapshot │ │ ├── test_33_superclient_complex.snapshot │ │ ├── test_34_connect_locally_with_remote_server.snapshot │ │ ├── test_35_fds_two_connected_servers_with_clients.snapshot │ │ ├── test_36_dns_environment_variable_setup.snapshot │ │ ├── test_37_dns_fast_discovery_server_tool.snapshot │ │ ├── test_38_self_connection.snapshot │ │ ├── test_39_trivial_reconnect_A.snapshot │ │ ├── test_39_trivial_reconnect_B.snapshot │ │ ├── test_40_trivial_server_reconnect_A.snapshot │ │ ├── test_40_trivial_server_reconnect_B.snapshot │ │ ├── test_41_reconnect_with_clients_A.snapshot │ │ ├── test_41_reconnect_with_clients_B.snapshot │ │ ├── test_42_server_reconnect_with_clients_A.snapshot │ │ ├── test_42_server_reconnect_with_clients_B.snapshot │ │ ├── test_43_complex_reconnect_A1.snapshot │ │ ├── test_43_complex_reconnect_A2.snapshot │ │ ├── test_43_complex_reconnect_B1.snapshot │ │ ├── test_43_complex_reconnect_B2.snapshot │ │ ├── test_44_fast_discovery_server_tool_reconnect.snapshot │ │ ├── test_45_trivial_client_reconnect_client.snapshot │ │ ├── test_46_guidless_discovery.snapshot │ │ ├── test_47_guidless_server_double_ping.snapshot │ │ ├── test_48_guidless_complex.snapshot │ │ ├── test_50_environment_modification.snapshot │ │ ├── test_60_disconnection_A.snapshot │ │ ├── test_60_disconnection_B.snapshot │ │ ├── test_61_superclient_environment_variable.snapshot │ │ ├── test_80_auto.snapshot │ │ ├── test_81_auto_ros_domain_id_env_var.snapshot │ │ ├── test_82_auto_ros_static_peers_env_var.snapshot │ │ ├── test_83_start.snapshot │ │ ├── test_84_add.snapshot │ │ ├── test_85_set_add_stop.snapshot │ │ ├── test_86_stop_all_servers.snapshot │ │ ├── test_87_set_modifies_env_var_A.snapshot │ │ ├── test_87_set_modifies_env_var_B.snapshot │ │ ├── test_93_tcp_reconnect_with_clients_A.snapshot │ │ ├── test_93_tcp_reconnect_with_clients_B.snapshot │ │ ├── test_94_tcpv4_custom_guid_transform_locators.snapshot │ │ ├── test_95_tcpv4_cli.snapshot │ │ ├── test_96_tcpv6_cli.snapshot │ │ ├── test_97_tcpv4_env_var.snapshot │ │ ├── test_98_tcpv6_env_var.snapshot │ │ └── test_99_tcp.snapshot │ ├── tests_params.json │ └── tests_params_definition.json ├── run_test.py ├── shared │ └── shared.py └── validation │ ├── CountLinesValidator.py │ ├── ExitCodeValidation.py │ ├── GenerateValidator.py │ ├── GroundTruthValidator.py │ ├── StderrOutputValidation.py │ ├── Validator.py │ └── validation.py └── utils └── scripts └── update_generated_code_from_idl.sh /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | ## Description 13 | 14 | 19 | 20 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | ## Contributor Checklist 33 | 34 | 38 | 39 | - [ ] Commit messages follow the project guidelines. 40 | - [ ] The added tests pass locally. 41 | - [ ] Changes are backwards compatible. 42 | - [ ] New feature has been documented/Current behavior is correctly described in the documentation. 43 | - [ ] Applicable backports have been included in the description. 44 | 45 | ## Reviewer Checklist 46 | 47 | - [ ] The PR has a milestone assigned. 48 | - [ ] The title and description correctly express the PR's purpose. 49 | - [ ] Check contributor checklist is correct. 50 | - [ ] Check CI results: changes do not issue any warning. 51 | - [ ] Check CI results: failing tests are unrelated with the changes. 52 | -------------------------------------------------------------------------------- /.github/workflows/config/build.meta: -------------------------------------------------------------------------------- 1 | names: 2 | fastdds: 3 | cmake-args: 4 | - "-DNO_TLS=ON" 5 | - "-DSECURITY=OFF" 6 | -------------------------------------------------------------------------------- /.github/workflows/config/test.meta: -------------------------------------------------------------------------------- 1 | names: 2 | fastdds: 3 | cmake-args: 4 | - "-DCOMPILE_TOOLS=ON" 5 | - "-DINSTALL_TOOLS=ON" 6 | discovery-server: 7 | ctest-args: [ 8 | "--repeat", "until-pass:3", 9 | "--timeout", "300", 10 | "--label-exclude", "xfail" 11 | ] 12 | -------------------------------------------------------------------------------- /.github/workflows/config/test.repos: -------------------------------------------------------------------------------- 1 | repositories: 2 | googletest-distribution: 3 | type: git 4 | url: https://github.com/google/googletest.git 5 | version: release-1.11.0 6 | -------------------------------------------------------------------------------- /.github/workflows/mirror.yml: -------------------------------------------------------------------------------- 1 | # .github/workflows/mirror.yml 2 | name: Mirror 3 | on: 4 | push: 5 | branches: 6 | - 'master' 7 | 8 | jobs: 9 | mirror_job: 10 | runs-on: ubuntu-latest 11 | name: Mirror master branch to API & ABI compatible minor version branches 12 | strategy: 13 | fail-fast: false 14 | matrix: 15 | dest_branch: 16 | - '2.1.x' 17 | - '2.x' 18 | steps: 19 | - name: Mirror action step 20 | id: mirror 21 | uses: eProsima/eProsima-CI/external/mirror-branch-action@v0 22 | with: 23 | github-token: ${{ secrets.GITHUB_TOKEN }} 24 | source: 'master' 25 | dest: ${{ matrix.dest_branch }} 26 | -------------------------------------------------------------------------------- /.github/workflows/nightly-ubuntu-ci.yml: -------------------------------------------------------------------------------- 1 | name: Fast DDS Discovery Server Ubuntu CI (nightly) 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: '0 1 * * *' 7 | 8 | jobs: 9 | nightly-ubuntu-ci-master: 10 | uses: eProsima/Discovery-Server/.github/workflows/reusable-ubuntu-ci.yml@master 11 | with: 12 | # It would be desirable to have a matrix of ubuntu OS for this job, but due to the issue opened in this ticket: 13 | # https://github.com/orgs/community/discussions/128118 , it has been set as a single OS job. 14 | os-version: 'ubuntu-22.04' 15 | label: 'nightly-ubuntu-ci-master' 16 | discovery-server-branch: 'master' 17 | fastdds-branch: 'master' 18 | ctest-args: "-LE xfail" 19 | run-build: true 20 | run-tests: true 21 | use-ccache: false 22 | 23 | nightly-ubuntu-ci-2_0_x: 24 | uses: eProsima/Discovery-Server/.github/workflows/reusable-ubuntu-ci.yml@2.0.x 25 | with: 26 | # It would be desirable to have a matrix of ubuntu OS for this job, but due to the issue opened in this ticket: 27 | # https://github.com/orgs/community/discussions/128118 , it has been set as a single OS job. 28 | os-version: 'ubuntu-22.04' 29 | label: 'nightly-ubuntu-ci-2.0.x-3.1.x' 30 | discovery-server-branch: '2.0.x' 31 | fastdds-branch: '3.1.x' 32 | ctest-args: "-LE xfail" 33 | run-build: true 34 | run-tests: true 35 | use-ccache: false 36 | 37 | nightly-ubuntu-ci-v1_2_2: 38 | uses: eProsima/Discovery-Server/.github/workflows/reusable-ubuntu-ci.yml@1.2.x 39 | with: 40 | # It would be desirable to have a matrix of ubuntu OS for this job, but due to the issue opened in this ticket: 41 | # https://github.com/orgs/community/discussions/128118 , it has been set as a single OS job. 42 | os-version: 'ubuntu-22.04' 43 | label: 'nightly-ubuntu-ci-v1.2.2-2.14.x' 44 | discovery-server-branch: 'v1.2.2' 45 | fastdds-branch: '2.14.x' 46 | ctest-args: "-LE xfail" 47 | run-build: true 48 | run-tests: true 49 | use-ccache: false 50 | 51 | nightly-ubuntu-ci-v1_2_1: 52 | uses: eProsima/Discovery-Server/.github/workflows/reusable-ubuntu-ci.yml@1.2.x 53 | with: 54 | # It would be desirable to have a matrix of ubuntu OS for this job, but due to the issue opened in this ticket: 55 | # https://github.com/orgs/community/discussions/128118 , it has been set as a single OS job. 56 | os-version: 'ubuntu-22.04' 57 | label: 'nightly-ubuntu-ci-v1.2.1-2.10.x' 58 | discovery-server-branch: 'v1.2.1' 59 | fastdds-branch: '2.10.x' 60 | ctest-args: "-LE xfail" 61 | run-build: true 62 | run-tests: true 63 | use-ccache: false 64 | -------------------------------------------------------------------------------- /.github/workflows/ubuntu-ci.yml: -------------------------------------------------------------------------------- 1 | name: Fast DDS Discovery Server Ubuntu CI 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | os-version: 7 | description: 'OS version to run the workflow' 8 | required: false 9 | default: 'ubuntu-22.04' 10 | type: string 11 | colcon-args: 12 | description: 'Extra arguments for colcon cli' 13 | required: false 14 | type: string 15 | cmake-args: 16 | description: 'Extra arguments for cmake cli' 17 | required: false 18 | type: string 19 | ctest-args: 20 | description: 'Extra arguments for ctest cli' 21 | required: false 22 | type: string 23 | discovery-server-branch: 24 | description: 'Branch or tag of Discovery Server repository' 25 | type: string 26 | required: true 27 | fastdds-branch: 28 | description: 'Branch or tag of Fast DDS repository' 29 | type: string 30 | required: true 31 | run-tests: 32 | description: 'Run test suite of Fast DDS Discovery Server' 33 | required: false 34 | type: boolean 35 | default: true 36 | use-ccache: 37 | description: 'Use CCache to speed up the build' 38 | required: false 39 | type: boolean 40 | default: false 41 | 42 | pull_request: 43 | types: 44 | - review_requested 45 | paths-ignore: 46 | - '**.md' 47 | - '**.txt' 48 | - '!**/CMakeLists.txt' 49 | 50 | concurrency: 51 | group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} 52 | cancel-in-progress: true 53 | 54 | jobs: 55 | ubuntu-ci: 56 | if: ${{ !(github.event_name == 'pull_request') || !contains(github.event.pull_request.labels.*.name, 'conflicts') }} 57 | uses: ./.github/workflows/reusable-ubuntu-ci.yml 58 | with: 59 | # It would be desirable to have a matrix of ubuntu OS for this job, but due to the issue opened in this ticket: 60 | # https://github.com/orgs/community/discussions/128118 , it has been set as a single OS job. 61 | os-version: ${{ inputs.os-version || 'ubuntu-22.04' }} 62 | label: 'ubuntu-ci' 63 | colcon-args: ${{ inputs.colcon-args }} 64 | cmake-args: ${{ inputs.cmake-args }} 65 | ctest-args: ${{ inputs.ctest-args || '-LE xfail' }} 66 | discovery-server-branch: ${{ inputs.discovery-server-branch || github.ref }} 67 | fastdds-branch: ${{ inputs.fastdds-branch || 'master' }} 68 | run-build: ${{ !(github.event_name == 'pull_request') || !contains(github.event.pull_request.labels.*.name, 'skip-ci') }} 69 | run-tests: ${{ (inputs.run-tests == true) || ((github.event_name == 'pull_request') && (!contains(github.event.pull_request.labels.*.name, 'no-test'))) }} 70 | use-ccache: ${{ inputs.use-ccache || false }} 71 | -------------------------------------------------------------------------------- /.github/workflows/weekly-ubuntu-ci.yml: -------------------------------------------------------------------------------- 1 | name: Fast DDS Discovery Server Ubuntu CI (weekly) 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: '0 0 * * 1' # Run at minute 0 on Monday 7 | 8 | jobs: 9 | weekly-ubuntu-ci-v1_2_1: 10 | uses: eProsima/Discovery-Server/.github/workflows/reusable-ubuntu-ci.yml@1.2.x 11 | with: 12 | # It would be desirable to have a matrix of ubuntu OS for this job, but due to the issue opened in this ticket: 13 | # https://github.com/orgs/community/discussions/128118 , it has been set as a single OS job. 14 | os-version: 'ubuntu-20.04' 15 | label: 'weekly-ubuntu-ci-v1.2.1-2.6.x' 16 | discovery-server-branch: 'v1.2.1' 17 | fastdds-branch: '2.6.x' 18 | ctest-args: "-LE xfail" 19 | run-build: true 20 | run-tests: true 21 | use-ccache: false 22 | -------------------------------------------------------------------------------- /RELEASE_SUPPORT.md: -------------------------------------------------------------------------------- 1 | # Release support 2 | 3 | 4 | Please, refer to the [master branch](https://github.com/eProsima/Discovery-Server/blob/master/RELEASE_SUPPORT.md) for the latest version of this document. 5 | 6 | *eProsima Fast DDS Discovery Server* maintains several releases with different support cycles. 7 | **All of them are attached to different *eProsima Fast DDS* releases.** 8 | 9 | ## *eProsima Fast DDS* and *Discovery Server* version compatibility 10 | 11 | |Fast DDS Version|Discovery Server Version|Discovery Server Latest Release| 12 | |----------------|------------------------|-------------------------------| 13 | |3.2|2.1.0|[v2.1.0](https://github.com/eProsima/Discovery-Server/releases/tag/v2.1.0)| 14 | |3.1|2.0.0|[v2.0.0](https://github.com/eProsima/Discovery-Server/releases/tag/v2.0.0)| 15 | |3.0|2.0.0|[v2.0.0](https://github.com/eProsima/Discovery-Server/releases/tag/v2.0.0)| 16 | |2.14|1.2.2|[v1.2.2](https://github.com/eProsima/Discovery-Server/releases/tag/v1.2.2)| 17 | |2.10|1.2.1|[v1.2.1](https://github.com/eProsima/Discovery-Server/releases/tag/v1.2.1)| 18 | |2.6|1.2.1|[v1.2.1](https://github.com/eProsima/Discovery-Server/releases/tag/v1.2.1)| 19 | 20 | For detailed information about the lifecycle of the different *Fast DDS* versions (and their corresponding counterpart in this repository), please refer to the [release support section of the Fast DDS repository](https://github.com/eProsima/Fast-DDS/blob/master/RELEASE_SUPPORT.md). 21 | -------------------------------------------------------------------------------- /cmake/common/random_ports.cmake: -------------------------------------------------------------------------------- 1 | # Copyright 2019 Proyectos y Sistemas de Mantenimiento SL (eProsima). 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # min lowered admissible port 16 | # max higher admissible port 17 | function( random_port min max output_variable) 18 | 19 | set(PORT_NUMBER 0) 20 | 21 | while (NOT PORT_NUMBER) 22 | string(RANDOM LENGTH 5 ALPHABET 0123456789 PORT_NUMBER) 23 | 24 | if( PORT_NUMBER LESS_EQUAL min OR PORT_NUMBER GREATER_EQUAL max) 25 | set(PORT_NUMBER 0) 26 | endif() 27 | 28 | endwhile() 29 | 30 | set( ${output_variable} ${PORT_NUMBER} PARENT_SCOPE) 31 | 32 | endfunction() -------------------------------------------------------------------------------- /colcon.pkg: -------------------------------------------------------------------------------- 1 | { 2 | "name": "discovery-server", 3 | "type": "cmake", 4 | "build-dependencies": ["fastcdr", "fastdds", "tinyxml2"] 5 | } 6 | -------------------------------------------------------------------------------- /discovery-server.repos: -------------------------------------------------------------------------------- 1 | repositories: 2 | fastcdr: 3 | type: git 4 | url: https://github.com/eProsima/Fast-CDR.git 5 | version: master 6 | fastdds: 7 | type: git 8 | url: https://github.com/eProsima/Fast-DDS.git 9 | version: master 10 | discovery_server: 11 | type: git 12 | url: https://github.com/eProsima/Discovery-Server.git 13 | version: master 14 | leethomason/tinyxml2: 15 | type: git 16 | url: https://github.com/leethomason/tinyxml2.git 17 | version: master 18 | foonathan_memory_vendor: 19 | type: git 20 | url: https://github.com/eProsima/foonathan_memory_vendor.git 21 | version: master 22 | -------------------------------------------------------------------------------- /include/IDs.h: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Proyectos y Sistemas de Mantenimiento SL (eProsima). 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | 16 | #ifndef _IDS_H_ 17 | #define _IDS_H_ 18 | 19 | #include 20 | 21 | namespace eprosima { 22 | namespace discovery_server { 23 | 24 | // specific discovery server schema string literals: 25 | static const std::string s_sDS("DS"); 26 | static const std::string s_sServers("servers"); 27 | static const std::string s_sServer("server"); 28 | static const std::string s_sClients("clients"); 29 | static const std::string s_sClient("client"); 30 | static const std::string s_sSimples("simples"); 31 | static const std::string s_sSimple("simple"); 32 | static const std::string s_sPersist("persist"); 33 | static const std::string s_sLP("ListeningPorts"); 34 | static const std::string s_sTime("time"); 35 | static const std::string s_sSomeone("someone"); 36 | static const std::string s_sShowLiveliness("show_liveliness"); 37 | static const std::string s_sCreationTime("creation_time"); 38 | static const std::string s_sRemovalTime("removal_time"); 39 | static const std::string s_sSnapshot("snapshot"); 40 | static const std::string s_sSnapshots("snapshots"); 41 | static const std::string s_sFile("file"); 42 | static const std::string s_sUserShutdown("user_shutdown"); 43 | static const std::string s_sPrefixValidation("prefix_validation"); 44 | static const std::string s_sListeningPort("listening_port"); 45 | static const std::string s_sEnvironment("environment"); 46 | static const std::string s_sChange("change"); 47 | static const std::string s_sVariable("variable"); 48 | static const std::string s_sKey("key"); 49 | static const std::string s_sValue("value"); 50 | 51 | // specific Snapshot schema string literals 52 | static const std::string s_sDS_Snapshots("DS_Snapshots"); 53 | static const std::string s_sDS_Snapshot("DS_Snapshot"); 54 | static const std::string s_sTimestamp("timestamp"); 55 | static const std::string s_sProcessTime("process_time"); 56 | static const std::string s_sLastPdpCallback("last_pdp_callback_time"); 57 | static const std::string s_sLastEdpCallback("last_edp_callback_time"); 58 | static const std::string s_sDescription("description"); 59 | static const std::string s_sPtDB("ptdb"); 60 | static const std::string s_sPtDI("ptdi"); 61 | static const std::string s_sPublisher("publisher"); 62 | static const std::string s_sSubscriber("subscriber"); 63 | static const std::string s_sGUID_prefix("guid_prefix"); 64 | static const std::string s_sGUID_entity("guid_entity"); 65 | static const std::string s_sAlive("alive"); 66 | static const std::string s_sName("name"); 67 | static const std::string s_sTopic("topic"); 68 | static const std::string s_sType("type"); 69 | static const std::string s_sAliveCount("alive_count"); 70 | static const std::string s_sNotAliveCount("not_alive_count"); 71 | static const std::string s_sDiscovered_timestamp("discovered_timestamp"); 72 | 73 | } // discovery_server 74 | } // eprosima 75 | 76 | #endif // _IDS_H_ 77 | -------------------------------------------------------------------------------- /resources/images/ds_uml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eProsima/Discovery-Server/07c5d08df2a5e72c93012652d093e31e0ac61461/resources/images/ds_uml.png -------------------------------------------------------------------------------- /resources/xml/examples/HelloWorld_TCP_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | TCPv4_SERVER 12 | TCPv4 13 | 14 | 9843 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 4D.49.47.55.45.4c.5f.42.41.52.52.4f 23 | 24 | 25 | TCPv4_SERVER 26 | 27 | false 28 | 29 | 30 | SERVER 31 | 32 | DURATION_INFINITY 33 | 34 | 35 | 36 | 37 | 38 | 65215 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /resources/xml/examples/HelloWorld_UDP_TCP_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | TCPv4_SERVER 12 | TCPv4 13 | 14 | 9843 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 4D.49.47.55.45.4c.5f.42.41.52.52.4f 23 | 24 | 25 | TCPv4_SERVER 26 | 27 | true 28 | 29 | 30 | SERVER 31 | 32 | DURATION_INFINITY 33 | 34 | 35 | 36 | 37 | 38 | 65215 39 | 40 | 41 | 42 | 43 |
127.0.0.1
44 | 65215 45 |
46 |
47 |
48 |
49 |
50 |
51 | 52 |
53 | 54 |
-------------------------------------------------------------------------------- /resources/xml/examples/HelloWorld_UDP_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 4D.49.47.55.45.4c.5f.42.41.52.52.4f 14 | 15 | 16 | 17 | SERVER 18 | 19 | DURATION_INFINITY 20 | 21 | 22 | 23 | 24 | 25 |
127.0.0.1
26 | 65215 27 |
28 |
29 |
30 |
31 |
32 |
33 | 34 |
35 | 36 |
-------------------------------------------------------------------------------- /resources/xml/examples/HelloWorld_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 4D.49.47.55.45.4c.5f.42.41.52.52.4f 16 | 17 | 18 | 19 | SERVER 20 | 21 | 22 | 23 | 24 |
127.0.0.1
25 | 65215 26 |
27 |
28 |
29 |
30 |
31 |
32 | 33 |
34 | 35 |
-------------------------------------------------------------------------------- /resources/xml/examples/HelloWorld_config_minimal_profile.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
127.0.0.1
11 | 65215 12 |
13 |
14 |
15 |
16 |
17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 | SERVER 25 | 26 | DURATION_INFINITY 27 | 28 | 29 | 30 | 31 | 32 |
127.0.0.1
33 | 65215 34 |
35 |
36 |
37 |
38 |
39 |
40 | 41 |
42 | 43 |
44 | -------------------------------------------------------------------------------- /resources/xml/test_schema.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | Check all clients met the server and know each other 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | CLIENT 27 | 28 | 29 | 30 |
127.0.0.1
31 | 65215 32 |
33 |
34 |
35 |
36 |
37 |
38 | 39 | 40 | 41 | 42 | 4D.49.47.55.45.4c.5f.42.41.52.52.4f 43 | 44 | 45 | SERVER 46 | 47 | 48 | 49 |
127.0.0.1
50 | 65215 51 |
52 |
53 |
54 |
55 |
56 |
57 | 58 |
59 | 60 |
-------------------------------------------------------------------------------- /resources/xtypes/HelloWorld.idl: -------------------------------------------------------------------------------- 1 | @extensibility(APPENDABLE) 2 | struct HelloWorld 3 | { 4 | unsigned long index; 5 | string message; 6 | }; 7 | -------------------------------------------------------------------------------- /resources/xtypes/HelloWorldCdrAux.hpp: -------------------------------------------------------------------------------- 1 | // Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima). 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | /*! 16 | * @file HelloWorldCdrAux.hpp 17 | * This source file contains some definitions of CDR related functions. 18 | * 19 | * This file was generated by the tool fastddsgen. 20 | */ 21 | 22 | #ifndef FAST_DDS_GENERATED__HELLOWORLDCDRAUX_HPP 23 | #define FAST_DDS_GENERATED__HELLOWORLDCDRAUX_HPP 24 | 25 | #include "HelloWorld.hpp" 26 | 27 | constexpr uint32_t HelloWorld_max_cdr_typesize {268UL}; 28 | constexpr uint32_t HelloWorld_max_key_cdr_typesize {0UL}; 29 | 30 | 31 | namespace eprosima { 32 | namespace fastcdr { 33 | 34 | class Cdr; 35 | class CdrSizeCalculator; 36 | 37 | eProsima_user_DllExport void serialize_key( 38 | eprosima::fastcdr::Cdr& scdr, 39 | const HelloWorld& data); 40 | 41 | 42 | } // namespace fastcdr 43 | } // namespace eprosima 44 | 45 | #endif // FAST_DDS_GENERATED__HELLOWORLDCDRAUX_HPP 46 | 47 | -------------------------------------------------------------------------------- /resources/xtypes/HelloWorldTypeObjectSupport.hpp: -------------------------------------------------------------------------------- 1 | // Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima). 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | /*! 16 | * @file HelloWorldTypeObjectSupport.hpp 17 | * Header file containing the API required to register the TypeObject representation of the described types in the IDL file 18 | * 19 | * This file was generated by the tool fastddsgen. 20 | */ 21 | 22 | #ifndef FAST_DDS_GENERATED__HELLOWORLD_TYPE_OBJECT_SUPPORT_HPP 23 | #define FAST_DDS_GENERATED__HELLOWORLD_TYPE_OBJECT_SUPPORT_HPP 24 | 25 | #include 26 | 27 | 28 | #if defined(_WIN32) 29 | #if defined(EPROSIMA_USER_DLL_EXPORT) 30 | #define eProsima_user_DllExport __declspec( dllexport ) 31 | #else 32 | #define eProsima_user_DllExport 33 | #endif // EPROSIMA_USER_DLL_EXPORT 34 | #else 35 | #define eProsima_user_DllExport 36 | #endif // _WIN32 37 | 38 | #ifndef DOXYGEN_SHOULD_SKIP_THIS_PUBLIC 39 | 40 | /** 41 | * @brief Register HelloWorld related TypeIdentifier. 42 | * Fully-descriptive TypeIdentifiers are directly registered. 43 | * Hash TypeIdentifiers require to fill the TypeObject information and hash it, consequently, the TypeObject is 44 | * indirectly registered as well. 45 | * 46 | * @param[out] TypeIdentifier of the registered type. 47 | * The returned TypeIdentifier corresponds to the complete TypeIdentifier in case of hashed TypeIdentifiers. 48 | * Invalid TypeIdentifier is returned in case of error. 49 | */ 50 | eProsima_user_DllExport void register_HelloWorld_type_identifier( 51 | eprosima::fastdds::dds::xtypes::TypeIdentifierPair& type_ids); 52 | 53 | 54 | #endif // DOXYGEN_SHOULD_SKIP_THIS_PUBLIC 55 | 56 | #endif // FAST_DDS_GENERATED__HELLOWORLD_TYPE_OBJECT_SUPPORT_HPP 57 | -------------------------------------------------------------------------------- /src/DSLog.h.in: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Proyectos y Sistemas de Mantenimiento SL (eProsima). 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #ifndef _EPROSIMA_IS_LOG_H_ 16 | #define _EPROSIMA_IS_LOG_H_ 17 | 18 | #if defined LOG_LEVEL_INFO && LOG_LEVEL_INFO 19 | #define __INTERNALDEBUG 20 | #define __DEBUG 21 | #undef LOG_NO_INFO 22 | #undef LOG_NO_WARN 23 | #undef LOG_NO_ERROR 24 | #elif defined LOG_LEVEL_WARN && LOG_LEVEL_WARN 25 | #define LOG_NO_INFO 26 | #undef LOG_NO_WARN 27 | #undef LOG_NO_ERROR 28 | #elif defined LOG_LEVEL_ERROR && LOG_LEVEL_ERROR 29 | #define LOG_NO_INFO 30 | #define LOG_NO_WARN 31 | #undef LOG_NO_ERROR 32 | #endif 33 | 34 | #include 35 | 36 | #define LOG(x) EPROSIMA_LOG_INFO(DISCOVERY_SERVER,x); 37 | #define LOG_INFO(x) EPROSIMA_LOG_INFO(DISCOVERY_SERVER,x); 38 | #define LOG_WARN(x) EPROSIMA_LOG_WARNING(DISCOVERY_SERVER,x;); 39 | #define LOG_ERROR(x) EPROSIMA_LOG_ERROR(DISCOVERY_SERVER,x); 40 | 41 | #endif // _EPROSIMA_IS_LOG_H_ 42 | -------------------------------------------------------------------------------- /src/arguments.h: -------------------------------------------------------------------------------- 1 | // Copyright 2020 Proyectos y Sistemas de Mantenimiento SL (eProsima). 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #ifndef DS_ARGUMENTS_H_ 16 | #define DS_ARGUMENTS_H_ 17 | 18 | // Parsing setup 19 | #include "optionparser.h" 20 | 21 | enum optionIndex 22 | { 23 | UNKNOWN, 24 | HELP, 25 | CONFIG_FILE, 26 | OUTPUT_FILE, 27 | SHM 28 | }; 29 | 30 | struct Arg : public option::Arg 31 | { 32 | static option::ArgStatus check_inp( 33 | const option::Option& option, 34 | bool msg); 35 | }; 36 | 37 | const option::Descriptor usage[] = { 38 | 39 | { UNKNOWN, 0, "", "", Arg::None, 40 | "\neProsima Discovery Server configuration execution tool\n" 41 | "\nUsage: tool -c donfig_file.xml [-s]\n" }, 42 | 43 | { HELP, 0, "h", "help", Arg::None, 44 | " -h \t--help Produce help message.\n" }, 45 | 46 | { CONFIG_FILE, 0, "c", "config-file", Arg::check_inp, 47 | " -c \t--config-file Mandatory configuration file path\n"}, 48 | 49 | { OUTPUT_FILE, 0, "o", "output-file", Arg::check_inp, 50 | " -o \t--output-file File to write result snapshots. If not specified" 51 | " snapshots will be written in the file specified in the snapshot\n"}, 52 | 53 | { SHM, 0, "s", "disabled-shared-memory", Arg::None, 54 | " -s \t--shared-memory Disable Shared Memory.\n" }, 55 | 56 | { 0, 0, 0, 0, 0, 0 } 57 | }; 58 | 59 | #endif // DS_ARGUMENTS_H_ 60 | -------------------------------------------------------------------------------- /src/config.h.in: -------------------------------------------------------------------------------- 1 | // Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima). 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | #ifndef _DS_CONFIG_H_ 16 | #define _DS_CONFIG_H_ 17 | 18 | #define DS_VERSION_MAJOR @PROJECT_VERSION_MAJOR@ 19 | #define DS_VERSION_MINOR @PROJECT_VERSION_MINOR@ 20 | #define DS_VERSION_MICRO @PROJECT_VERSION_PATCH@ 21 | #define DS_VERSION_STR "@PROJECT_VERSION@" 22 | 23 | // C++11 support defines 24 | #ifndef HAVE_CXX11 25 | #define HAVE_CXX11 @HAVE_CXX11@ 26 | #endif 27 | 28 | // C++0x support defines 29 | #ifndef HAVE_CXX0X 30 | #define HAVE_CXX0X @HAVE_CXX0X@ 31 | #endif 32 | 33 | // C++ constexpr support 34 | #ifndef HAVE_CXX_CONSTEXPR 35 | #define HAVE_CXX_CONSTEXPR @HAVE_CXX_CONSTEXPR@ 36 | #endif 37 | 38 | #if HAVE_CXX_CONSTEXPR 39 | #define CONSTEXPR constexpr 40 | #else 41 | #define CONSTEXPR const 42 | #endif 43 | 44 | #endif // _IS_CONFIG_H_ 45 | -------------------------------------------------------------------------------- /test/configuration/environment.json: -------------------------------------------------------------------------------- 1 | { 2 | "ROS_DISCOVERY_SERVER" :";;localhost:65000" 3 | } 4 | -------------------------------------------------------------------------------- /test/configuration/intraprocess_full.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FULL 5 | 6 | 7 | -------------------------------------------------------------------------------- /test/configuration/intraprocess_off.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | OFF 5 | 6 | 7 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_00_tool_help.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_04_server_ping.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | test_04_server_ping_snapshot_1 11 | 12 | 13 | 14 | 15 | 16 | 44.49.53.43.53.45.52.56.45.52.5F.31 17 | 18 | 19 | SERVER 20 | 21 | 5 22 | 23 | 24 | 500000000 25 | 26 | DURATION_INFINITY 27 | 28 | 29 | 30 | 31 |
127.0.0.1
32 | 04811 33 |
34 |
35 |
36 |
37 |
38 |
39 | 40 | 41 | 42 | 44.49.53.43.53.45.52.56.45.52.5F.32 43 | 44 | 45 | 46 | 47 | 48 |
127.0.0.1
49 | 04811 50 |
51 |
52 |
53 | SERVER 54 | 55 | 5 56 | 57 | 58 | 500000000 59 | 60 | DURATION_INFINITY 61 |
62 | 63 | 64 | 65 |
127.0.0.1
66 | 04812 67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_101_trivial_xtypes_clients.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | test_101_trivial_clients 15 | 16 | 17 | 18 | 19 | 20 | 63.6c.69.65.6e.74.31.5f.73.31.5f.5f 21 | 22 | 23 | CLIENT 24 | 25 | 26 | 27 |
127.0.0.1
28 | 01811 29 |
30 |
31 |
32 | 33 | 0 34 | 35 | DURATION_INFINITY 36 | DURATION_INFINITY 37 |
38 |
39 |
40 |
41 | 42 | 43 | 44 | 63.6c.69.65.6e.74.32.5f.73.31.5f.5f 45 | 46 | 47 | CLIENT 48 | 49 | 50 | 51 |
127.0.0.1
52 | 01811 53 |
54 |
55 |
56 | 57 | 0 58 | 59 | DURATION_INFINITY 60 | DURATION_INFINITY 61 |
62 |
63 |
64 |
65 | 66 | 67 | topic_1 68 | HelloWorld 69 | 70 | 71 |
72 |
73 | 74 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_101_trivial_xtypes_servers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | test_101_trivial_servers 10 | 11 | 12 | 13 | 14 | 15 | 44.49.53.43.53.45.52.56.45.52.5F.31 16 | 17 | 18 | SERVER 19 | 20 | 5 21 | 22 | 23 | 500000000 24 | 25 | DURATION_INFINITY 26 | 27 | 28 | 29 | 30 |
127.0.0.1
31 | 01811 32 |
33 |
34 |
35 |
36 |
37 |
38 | 39 |
40 |
41 | 42 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_108_server_endpoints_four_clients_xtypes_servers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | test_108_server_endpoints_four_clients_snapshot_servers 14 | 15 | 16 | 17 | 18 | 19 | 44.49.53.43.53.45.52.56.45.52.5F.31 20 | 21 | 22 | SERVER 23 | 24 | 5 25 | 26 | 27 | 500000000 28 | 29 | DURATION_INFINITY 30 | 31 | 32 | 33 | 34 |
127.0.0.1
35 | 08811 36 |
37 |
38 |
39 |
40 |
41 |
42 | 43 | 44 | topic_1 45 | HelloWorld 46 | 47 | 48 | 49 | topic_2 50 | HelloWorld 51 | 52 | 53 |
54 |
55 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_16_lease_duration_single_client_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | test_lease_duration_snapshot_3 11 | 12 | 13 | 14 | 15 | 16 | 17 | 63.6c.69.65.6e.74.33.5f.73.31.5f.5f 18 | 19 | 20 | CLIENT 21 | 22 | 23 | 24 |
127.0.0.1
25 | 16811 26 |
27 |
28 |
29 | 30 | 3 31 | 32 | 33 | 1 34 | 35 |
36 |
37 |
38 |
39 | 40 | 41 | topic_1 42 | HelloWorld 43 | 44 | 45 | 46 | topic_2 47 | HelloWorld 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 |
60 |
61 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_17_lease_duration_remove_client_server_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | test_17_lease_duration_remove_client_server_1_snapshot_1 13 | 14 | 15 | 16 | 17 | 18 | 19 | 44.49.53.43.53.45.52.56.45.52.5F.32 20 | 21 | 22 | 23 | 24 | 25 |
127.0.0.1
26 | 17811 27 |
28 |
29 |
30 | SERVER 31 | 32 | 5 33 | 34 | 35 | 3 36 | 37 | 38 | 1 39 | 40 |
41 | 42 | 43 | 44 |
127.0.0.1
45 | 17812 46 |
47 |
48 |
49 |
50 |
51 |
52 | 53 | 54 | topic_1 55 | HelloWorld 56 | 57 | 58 |
59 |
60 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_18_disposals_remote_servers_multiprocess.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | test_18_disposals_remote_servers_multiprocess_snapshot_1 17 | 18 | test_18_disposals_remote_servers_multiprocess_snapshot_2 19 | 20 | 21 | 22 | 23 | 24 | 63.6c.69.65.6e.74.31.5f.73.31.5f.5f 25 | 26 | 27 | CLIENT 28 | 29 | 30 | 31 |
127.0.0.1
32 | 18811 33 |
34 |
35 |
36 | DURATION_INFINITY 37 | DURATION_INFINITY 38 |
39 |
40 |
41 |
42 | 43 | 44 | 45 | 44.49.53.43.53.45.52.56.45.52.5F.31 46 | 47 | 48 | SERVER 49 | 50 | 500000000 51 | 52 | DURATION_INFINITY 53 | 54 | 55 | 56 | 57 |
127.0.0.1
58 | 18811 59 |
60 |
61 |
62 |
63 |
64 |
65 | 66 | 67 | topic_1 68 | HelloWorld 69 | 70 | 71 |
72 |
73 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_18_disposals_remote_servers_multiprocess_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | test_18_disposals_remote_servers_multiprocess_snapshot_1 10 | 11 | 12 | 13 | 14 | 15 | 44.49.53.43.53.45.52.56.45.52.5F.32 16 | 17 | 18 | 19 | 20 | 21 |
127.0.0.1
22 | 18811 23 |
24 |
25 |
26 | SERVER 27 | 28 | 500000000 29 | 30 | DURATION_INFINITY 31 |
32 | 33 | 34 | 35 |
127.0.0.1
36 | 18812 37 |
38 |
39 |
40 |
41 |
42 |
43 | 44 | 45 | topic_1 46 | HelloWorld 47 | 48 | 49 |
50 |
51 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_18_disposals_remote_servers_multiprocess_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | test_18_disposals_remote_servers_multiprocess_snapshot_1 12 | 13 | 14 | 15 | 16 | 17 | 18 | 44.49.53.43.53.45.52.56.45.52.5F.33 19 | 20 | 21 | 22 | 23 | 24 |
127.0.0.1
25 | 18812 26 |
27 |
28 |
29 | SERVER 30 | 31 | 500000000 32 | 33 | DURATION_INFINITY 34 |
35 | 36 | 37 | 38 |
127.0.0.1
39 | 18813 40 |
41 |
42 |
43 |
44 |
45 |
46 | 47 | 48 | topic_1 49 | HelloWorld 50 | 51 | 52 |
53 |
54 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_20_break_builtin_connections_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | test_20_break_builtin_connections_1_snapshot_1 13 | 14 | 15 | 16 | 17 | 18 | 19 | 44.49.53.43.53.45.52.56.45.52.5F.32 20 | 21 | 22 | 23 | 24 | 25 |
127.0.0.1
26 | 20811 27 |
28 |
29 |
30 | SERVER 31 | 32 | 5 33 | 34 | 35 | 5 36 | 37 | 38 | 2 39 | 40 |
41 | 42 | 43 | 44 |
127.0.0.1
45 | 20812 46 |
47 |
48 |
49 |
50 |
51 |
52 | 53 | 54 | topic_1 55 | HelloWorld 56 | 57 | 58 |
59 |
60 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_22_environment_variable_setup.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | test_22_environment_variable_setup_snapshot_1 20 | 21 | 22 | 23 | 24 | 25 | 63.6c.69.65.6e.74.31.5f.73.31.5f.5f 26 | 27 | 28 | 29 | 30 | 31 | 63.6c.69.65.6e.74.32.5f.73.31.5f.5f 32 | 33 | 34 | 35 | 36 | 37 | 63.6c.69.65.6e.74.33.5f.73.31.5f.5f 38 | 39 | 40 | 41 | 42 | 43 | 63.6c.69.65.6e.74.34.5f.73.31.5f.5f 44 | 45 | 46 | 47 | 48 | 49 | 44.53.00.5f.45.50.52.4f.53.49.4d.41 50 | 51 | 52 | 53 | 0 54 | 20000000 55 | 56 | SERVER 57 | 58 | 0 59 | 60 | 61 | 62 | 63 | 64 |
127.0.0.1
65 | 22811 66 |
67 |
68 |
69 |
70 |
71 |
72 | 73 | 74 | topic_1 75 | HelloWorld 76 | 77 | 78 |
79 | 80 |
81 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_24_backup.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | test_24_backup_snapshot_server 19 | 20 | 21 | 22 | 23 | 24 | 25 | 44.49.53.43.53.45.52.56.45.52.5F.31 26 | 27 | 28 | BACKUP 29 | 30 | 31 | 32 | 33 |
127.0.0.1
34 | 24811 35 |
36 |
37 |
38 |
39 |
40 |
41 | 42 |
43 | 44 |
45 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_26_backup_restore.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | test_26_backup_restore_snapshot_server 21 | 22 | 23 | 24 | 25 | 26 | 63.6c.69.65.6e.74.31.5f.73.31.5f.5f 27 | 28 | 29 | CLIENT 30 | 31 | 32 | 33 |
127.0.0.1
34 | 26811 35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | 43 | 44 | 45 | 44.49.53.43.53.45.52.56.45.52.5F.31 46 | 47 | 48 | BACKUP 49 | 50 | 51 | 52 | 53 |
127.0.0.1
54 | 26811 55 |
56 |
57 |
58 |
59 |
60 |
61 | 62 | 63 | topic_1 64 | HelloWorld 65 | 66 | 67 |
68 |
69 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_26_backup_restore_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | test_26_backup_restore_1_snapshot_server 16 | 17 | 18 | 19 | 20 | 21 | 63.6c.69.65.6e.74.32.5f.73.31.5f.5f 22 | 23 | 24 | CLIENT 25 | 26 | 27 | 28 |
127.0.0.1
29 | 26811 30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | 38 | 39 | 40 | 44.49.53.43.53.45.52.56.45.52.5F.31 41 | 42 | 43 | BACKUP 44 | 45 | 46 | 47 | 48 |
127.0.0.1
49 | 26811 50 |
51 |
52 |
53 |
54 |
55 |
56 | 57 | 58 | topic_1 59 | HelloWorld 60 | 61 | 62 |
63 |
64 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_36_dns_environment_variable_setup.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | test_36_dns_environment_variable_setup_snapshot_1 18 | 19 | 20 | 21 | 22 | 23 | 63.6c.69.65.6e.74.31.5f.73.31.5f.5f 24 | 25 | 26 | 27 | 28 | 29 | 63.6c.69.65.6e.74.32.5f.73.31.5f.5f 30 | 31 | 32 | 33 | 34 | 35 | 63.6c.69.65.6e.74.33.5f.73.31.5f.5f 36 | 37 | 38 | 39 | 40 | 41 | 63.6c.69.65.6e.74.34.5f.73.31.5f.5f 42 | 43 | 44 | 45 | 46 | topic_1 47 | HelloWorld 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_39_trivial_reconnect_A.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Knows server B 10 | Do not know server B 11 | Knows server B 12 | 13 | 14 | 15 | 16 | 17 | 44.49.53.43.53.45.52.56.45.52.5F.31 18 | 19 | 20 | SERVER 21 | 22 | 5 23 | 24 | 25 | 500000000 26 | 27 | DURATION_INFINITY 28 | 29 | 30 | 31 | 32 |
127.0.0.1
33 | 39811 34 |
35 |
36 |
37 |
38 |
39 |
40 | 41 |
42 |
43 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_39_trivial_reconnect_B.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Knows A 10 | Do not know A 11 | 12 | 13 | 14 | 15 | 16 | 17 | 44.49.53.43.53.45.52.56.45.52.5F.32 18 | 19 | 20 | SERVER 21 | 22 | 23 | 24 |
127.0.0.1
25 | 39811 26 |
27 |
28 |
29 | 30 | 5 31 | 32 | 33 | 500000000 34 | 35 | DURATION_INFINITY 36 |
37 | 38 | 39 | 40 |
127.0.0.1
41 | 39812 42 |
43 |
44 |
45 |
46 |
47 |
48 | 49 |
50 |
51 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_40_trivial_server_reconnect_A.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Knows server B 10 | Do not know server B 11 | Knows server B 12 | 13 | 14 | 15 | 16 | 17 | 44.49.53.43.53.45.52.56.45.52.5F.31 18 | 19 | 20 | SERVER 21 | 22 | 23 | 24 |
127.0.0.1
25 | 40812 26 |
27 |
28 |
29 | 30 | 5 31 | 32 | 33 | 500000000 34 | 35 | DURATION_INFINITY 36 |
37 | 38 | 39 | 40 |
127.0.0.1
41 | 40811 42 |
43 |
44 |
45 |
46 |
47 |
48 | 49 |
50 |
51 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_40_trivial_server_reconnect_B.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Knows A 10 | Do not know A 11 | 12 | 13 | 14 | 15 | 16 | 17 | 44.49.53.43.53.45.52.56.45.52.5F.32 18 | 19 | 20 | SERVER 21 | 22 | 5 23 | 24 | 25 | 500000000 26 | 27 | DURATION_INFINITY 28 | 29 | 30 | 31 | 32 |
127.0.0.1
33 | 40812 34 |
35 |
36 |
37 |
38 |
39 |
40 | 41 |
42 |
43 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_41_reconnect_with_clients_A.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | Knows server B, client A and client B 16 | Do not know server B 17 | Knows server B, client A and client B 18 | 19 | 20 | 21 | 22 | 23 | 24 | 63.6c.69.65.6e.74.31.5f.73.31.5f.5f 25 | 26 | 27 | CLIENT 28 | 29 | 30 | 31 |
127.0.0.1
32 | 41811 33 |
34 |
35 |
36 | 37 | 0 38 | 39 | DURATION_INFINITY 40 | DURATION_INFINITY 41 |
42 |
43 |
44 |
45 | 46 | 47 | 48 | 44.49.53.43.53.45.52.56.45.52.5F.31 49 | 50 | 51 | SERVER 52 | 53 | 0 54 | 55 | DURATION_INFINITY 56 | DURATION_INFINITY 57 | 58 | 59 | 60 | 61 |
127.0.0.1
62 | 41811 63 |
64 |
65 |
66 |
67 |
68 |
69 | 70 | 71 | topic_1 72 | HelloWorld 73 | 74 | 75 |
76 |
77 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_41_reconnect_with_clients_B.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | Knows server A, client A and client B 16 | Do not know server A 17 | 18 | 19 | 20 | 21 | 22 | 23 | 63.6c.69.65.6e.74.32.5f.73.31.5f.5f 24 | 25 | 26 | CLIENT 27 | 28 | 29 | 30 |
127.0.0.1
31 | 41812 32 |
33 |
34 |
35 | 36 | 0 37 | 38 | DURATION_INFINITY 39 | DURATION_INFINITY 40 |
41 |
42 |
43 |
44 | 45 | 46 | 47 | 44.49.53.43.53.45.52.56.45.52.5F.32 48 | 49 | 50 | SERVER 51 | 52 | 53 | 54 |
127.0.0.1
55 | 41811 56 |
57 |
58 |
59 | 60 | 5 61 | 62 | DURATION_INFINITY 63 | DURATION_INFINITY 64 |
65 | 66 | 67 | 68 |
127.0.0.1
69 | 41812 70 |
71 |
72 |
73 |
74 |
75 |
76 | 77 | 78 | topic_1 79 | HelloWorld 80 | 81 | 82 |
83 |
84 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_42_server_reconnect_with_clients_B.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | Knows server A, client A and client B 16 | Do not know server A 17 | 18 | 19 | 20 | 21 | 22 | 23 | 63.6c.69.65.6e.74.32.5f.73.31.5f.5f 24 | 25 | 26 | CLIENT 27 | 28 | 29 | 30 |
127.0.0.1
31 | 42812 32 |
33 |
34 |
35 | 36 | 0 37 | 38 | DURATION_INFINITY 39 | DURATION_INFINITY 40 |
41 |
42 |
43 |
44 | 45 | 46 | 47 | 44.49.53.43.53.45.52.56.45.52.5F.32 48 | 49 | 50 | SERVER 51 | 52 | 5 53 | 54 | 55 | 500000000 56 | 57 | DURATION_INFINITY 58 | 59 | 60 | 61 | 62 |
127.0.0.1
63 | 42812 64 |
65 |
66 |
67 |
68 |
69 |
70 | 71 | 72 | topic_1 73 | HelloWorld 74 | 75 | 76 |
77 |
78 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_43_complex_reconnect_A1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | Knows server B, client A and client B 16 | Do not know server B 17 | Knows server B, client A and client B 18 | 19 | 20 | 21 | 22 | 23 | 63.6c.69.65.6e.74.31.5f.73.31.5f.5f 24 | 25 | 26 | CLIENT 27 | 28 | 29 | 30 |
127.0.0.1
31 | 43811 32 |
33 |
34 |
35 | 36 | 0 37 | 38 | DURATION_INFINITY 39 | DURATION_INFINITY 40 |
41 |
42 |
43 |
44 | 45 | 46 | 47 | 44.49.53.43.53.45.52.56.45.52.5F.31 48 | 49 | 50 | SERVER 51 | 52 | 5 53 | 54 | 55 | 500000000 56 | 57 | DURATION_INFINITY 58 | 59 | 60 | 61 | 62 |
127.0.0.1
63 | 43811 64 |
65 |
66 |
67 |
68 |
69 |
70 | 71 | 72 | topic_1 73 | HelloWorld 74 | 75 | 76 |
77 |
78 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_43_complex_reconnect_A2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | Knows server B, client A and client B 16 | Not know B 17 | 18 | 19 | 20 | 21 | 22 | 63.6c.69.65.6e.74.31.5f.73.31.5f.5f 23 | 24 | 25 | CLIENT 26 | 27 | 28 | 29 |
127.0.0.1
30 | 43811 31 |
32 |
33 |
34 | 35 | 0 36 | 37 | DURATION_INFINITY 38 | DURATION_INFINITY 39 |
40 |
41 |
42 |
43 | 44 | 45 | 46 | 44.49.53.43.53.45.52.56.45.52.5F.31 47 | 48 | 49 | SERVER 50 | 51 | 5 52 | 53 | 54 | 500000000 55 | 56 | DURATION_INFINITY 57 | 58 | 59 | 60 | 61 |
127.0.0.1
62 | 43811 63 |
64 |
65 |
66 |
67 |
68 |
69 | 70 | 71 | topic_1 72 | HelloWorld 73 | 74 | 75 |
76 |
77 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_43_complex_reconnect_B1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | Knows server A, client A and client B 16 | 17 | 18 | 19 | 20 | 21 | 63.6c.69.65.6e.74.32.5f.73.31.5f.5f 22 | 23 | 24 | CLIENT 25 | 26 | 27 | 28 |
127.0.0.1
29 | 43812 30 |
31 |
32 |
33 | 34 | 0 35 | 36 | DURATION_INFINITY 37 | DURATION_INFINITY 38 |
39 |
40 |
41 |
42 | 43 | 44 | 45 | 44.49.53.43.53.45.52.56.45.52.5F.32 46 | 47 | 48 | SERVER 49 | 50 | 51 | 52 |
127.0.0.1
53 | 43811 54 |
55 |
56 |
57 | 58 | 5 59 | 60 | 61 | 500000000 62 | 63 | DURATION_INFINITY 64 |
65 | 66 | 67 | 68 |
127.0.0.1
69 | 43812 70 |
71 |
72 |
73 |
74 |
75 |
76 | 77 | 78 | topic_1 79 | HelloWorld 80 | 81 | 82 |
83 |
84 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_45_trivial_client_reconnect_client.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | Knows server B 12 | Do not know server B 13 | Knows server B 14 | 15 | 16 | 17 | 18 | 19 | 63.6c.69.65.6e.74.31.5f.73.31.5f.5f 20 | 21 | 22 | CLIENT 23 | 24 | 25 | 26 |
127.0.0.1
27 | 45811 28 |
29 |
30 |
31 | 32 | 0 33 | 34 | DURATION_INFINITY 35 | DURATION_INFINITY 36 |
37 |
38 |
39 |
40 | 41 | 42 | topic_1 43 | HelloWorld 44 | 45 | 46 |
47 |
48 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_45_trivial_client_reconnect_server.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Do know the client 10 | 11 | 12 | 13 | 14 | 15 | 44.49.53.43.53.45.52.56.45.52.5F.31 16 | 17 | 18 | SERVER 19 | 20 | 5 21 | 22 | 23 | 500000000 24 | 25 | DURATION_INFINITY 26 | 27 | 28 | 29 | 30 |
127.0.0.1
31 | 45811 32 |
33 |
34 |
35 |
36 |
37 |
38 | 39 |
40 |
41 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_46_guidless_discovery.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Know each other and server 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | topic_1 23 | HelloWorld 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_60_disconnection_A.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | Knows all 16 | Do not know server and client B 17 | 18 | 19 | 20 | 21 | 22 | 23 | 63.6c.69.65.6e.74.31.5f.73.31.5f.5f 24 | 25 | 26 | CLIENT 27 | 28 | 29 | 30 |
127.0.0.1
31 | 46811 32 |
33 |
34 |
35 | 36 | 0 37 | 38 | DURATION_INFINITY 39 | DURATION_INFINITY 40 |
41 |
42 |
43 |
44 | 45 | 46 | 47 | 44.49.53.43.53.45.52.56.45.52.5F.31 48 | 49 | 50 | SERVER 51 | 52 | 5 53 | 54 | 55 | 500000000 56 | 57 | DURATION_INFINITY 58 | 59 | 60 | 61 | 62 |
127.0.0.1
63 | 46811 64 |
65 |
66 |
67 |
68 |
69 |
70 | 71 | 72 | topic_1 73 | HelloWorld 74 | 75 | 76 |
77 |
78 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_60_disconnection_B.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | Knows all 16 | 17 | 18 | 19 | 20 | 21 | 22 | 63.6c.69.65.6e.74.32.5f.73.31.5f.5f 23 | 24 | 25 | CLIENT 26 | 27 | 28 | 29 |
127.0.0.1
30 | 46812 31 |
32 |
33 |
34 | 35 | 0 36 | 37 | DURATION_INFINITY 38 | DURATION_INFINITY 39 |
40 |
41 |
42 |
43 | 44 | 45 | 46 | 44.49.53.43.53.45.52.56.45.52.5F.32 47 | 48 | 49 | SERVER 50 | 51 | 52 | 53 |
127.0.0.1
54 | 46811 55 |
56 |
57 |
58 | 59 | 5 60 | 61 | 62 | 500000000 63 | 64 | DURATION_INFINITY 65 |
66 | 67 | 68 | 69 |
127.0.0.1
70 | 46812 71 |
72 |
73 |
74 |
75 |
76 |
77 | 78 | 79 | topic_1 80 | HelloWorld 81 | 82 | 83 |
84 |
85 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_80_auto.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | test_80_auto_snapshot 23 | 24 | 25 | 26 | 27 | topic_1 28 | HelloWorld 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_81_auto_ros_domain_id_env_var.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | test_81_auto_ros_domain_id_env_var 23 | 24 | 25 | 26 | 27 | topic_1 28 | HelloWorld 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_83_start.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | test_83_start 24 | 25 | 26 | 27 | 28 | 29 | 63.6c.69.65.6e.74.31.5f.73.31.5f.5f 30 | 31 | 32 | CLIENT 33 | 34 | 35 | 36 |
127.0.0.1
37 | 7402 38 |
39 |
40 |
41 | 42 | 0 43 | 44 | DURATION_INFINITY 45 | DURATION_INFINITY 46 |
47 |
48 |
49 |
50 | 51 | 52 | 53 | 63.6c.69.65.6e.74.32.5f.73.31.5f.5f 54 | 55 | 56 | CLIENT 57 | 58 | 59 | 60 |
127.0.0.1
61 | 8152 62 |
63 |
64 |
65 | 66 | 0 67 | 68 | DURATION_INFINITY 69 | DURATION_INFINITY 70 |
71 |
72 |
73 |
74 | 75 | 76 | topic_1 77 | HelloWorld 78 | 79 |
80 |
81 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_84_add.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | test_84_add 24 | 25 | 26 | 27 | 28 | 29 | 63.6c.69.65.6e.74.31.5f.73.31.5f.5f 30 | 31 | 32 | CLIENT 33 | 34 | 35 | 36 |
127.0.0.1
37 | 7402 38 |
39 |
40 |
41 | 42 | 0 43 | 44 | DURATION_INFINITY 45 | DURATION_INFINITY 46 |
47 |
48 |
49 |
50 | 51 | 52 | 53 | 63.6c.69.65.6e.74.32.5f.73.31.5f.5f 54 | 55 | 56 | CLIENT 57 | 58 | 59 | 60 |
127.0.0.1
61 | 8152 62 |
63 |
64 |
65 | 66 | 0 67 | 68 | DURATION_INFINITY 69 | DURATION_INFINITY 70 |
71 |
72 |
73 |
74 | 75 | 76 | topic_1 77 | HelloWorld 78 | 79 |
80 |
81 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_87_set_modifies_env_var_A.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | Incorrect_value 22 | 23 | 24 | 25 | 26 | topic_1 27 | HelloWorld 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /test/configuration/test_cases/test_87_set_modifies_env_var_B.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | Correct_value 22 | 23 | 24 | 25 | 26 | topic_1 27 | HelloWorld 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_01_trivial.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_01_trivial_snapshot_1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_04_server_ping.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_04_server_ping_snapshot_1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_07_server_endpoints_two_servers.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_07_server_endpoints_two_servers_snapshot_1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_09_servers_serial.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_09_servers_serial_snapshot_1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_101_trivial_xtypes_clients.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_101_trivial_clients 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_101_trivial_xtypes_servers.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_101_trivial_servers 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_106_diamond_servers_xtypes_server1.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_106_diamond_servers_snapshot_server1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_106_diamond_servers_xtypes_server2.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_106_diamond_servers_snapshot_server2 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_106_diamond_servers_xtypes_server3.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_106_diamond_servers_snapshot_server3 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_106_diamond_servers_xtypes_server4.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_106_diamond_servers_snapshot_server4 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_108_server_endpoints_four_clients_xtypes_servers.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_108_server_endpoints_four_clients_snapshot_servers 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_10_server_redundancy.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_10_server_redundancy_snapshot_1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_22_environment_variable_setup.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_22_environment_variable_setup_snapshot_1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_24_backup.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_24_backup_snapshot_server 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_26_backup_restore.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_26_backup_restore_snapshot_server 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_26_backup_restore_1.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_26_backup_restore_1_snapshot_server 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_35_fds_two_connected_servers_with_clients.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_35_fds_two_connected_servers_with_clients 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_36_dns_environment_variable_setup.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_36_dns_environment_variable_setup_snapshot_1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_38_self_connection.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_38_self_connection_snapshot_1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_39_trivial_reconnect_A.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Knows server B 5 | 6 | 7 | 8 | 9 | 10 | Do not know server B 11 | 12 | 13 | 14 | Knows server B 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_39_trivial_reconnect_B.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Knows A 5 | 6 | 7 | 8 | 9 | 10 | Do not know A 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_40_trivial_server_reconnect_A.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Knows server B 5 | 6 | 7 | 8 | 9 | 10 | Do not know server B 11 | 12 | 13 | 14 | Knows server B 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_40_trivial_server_reconnect_B.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Knows A 5 | 6 | 7 | 8 | 9 | 10 | Do not know A 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_43_complex_reconnect_B1.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Knows server A, client A and client B 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_45_trivial_client_reconnect_client.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Knows server B 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | Do not know server B 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | Knows server B 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_46_guidless_discovery.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Know each other and server 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_60_disconnection_B.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Knows all 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_80_auto.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_80_auto_snapshot 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_81_auto_ros_domain_id_env_var.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_81_auto_ros_domain_id_env_var 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_82_auto_ros_static_peers_env_var.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_82_auto_ros_static_peers_env_var 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_83_start.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_83_start 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_84_add.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | test_84_add 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_87_set_modifies_env_var_A.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Incorrect_value 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_87_set_modifies_env_var_B.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Correct_value 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_94_tcpv4_custom_guid_transform_locators.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Knows all 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_95_tcpv4_cli.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Knows all 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_96_tcpv6_cli.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Knows all 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_97_tcpv4_env_var.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Knows all 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /test/configuration/test_solutions/test_98_tcpv6_env_var.snapshot: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Knows all 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /test/validation/CountLinesValidator.py: -------------------------------------------------------------------------------- 1 | # Copyright 2020 Proyectos y Sistemas de Mantenimiento SL (eProsima). 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | """ 15 | Script implementing the CountLinesValidator class. 16 | 17 | The CountLinesValidator validates the test counting and comparing the number 18 | of lines of the output snapshot resulted from the test execution and an a 19 | priori well known output. 20 | """ 21 | import shared.shared as shared 22 | 23 | import validation.Validator as validator 24 | 25 | class CountLinesValidator(validator.Validator): 26 | """ 27 | Class to validate an snapshot resulting from a Discovery-Server test. 28 | 29 | Validate the test counting and comparing the number of lines of the 30 | output snapshot resulted from the test execution and an a priori well 31 | known output. 32 | """ 33 | 34 | def _validator_tag(self): 35 | """Return validator's tag in json parameters file.""" 36 | return 'count_lines_validation' 37 | 38 | def _validate(self): 39 | """Validate the test counting the number of lines.""" 40 | 41 | lines_get = 0 42 | lines_expected = 0 43 | 44 | try: 45 | file_name = self.validation_params_['file_path'] 46 | output_file_name = self.validator_input_.result_file 47 | 48 | self.logger.debug(f'Snapshot to validate: {file_name}') 49 | self.logger.debug(f'Output snapshot: {output_file_name}') 50 | 51 | with open(file_name) as f: 52 | lines_get = len(f.readlines()) 53 | with open(output_file_name) as f: 54 | lines_expected = len(f.readlines()) 55 | except (IOError, ValueError) as e: 56 | self.logger.error(e) 57 | return shared.ReturnCode.ERROR 58 | 59 | self.logger.debug(f'CountLinesValidator: Lines in result snapshot:' 60 | f'{lines_get}, expected lines in snapshot:' 61 | f'{lines_expected}') 62 | 63 | val = (lines_get == lines_expected) 64 | 65 | return shared.ReturnCode.OK if val else shared.ReturnCode.FAIL 66 | -------------------------------------------------------------------------------- /test/validation/ExitCodeValidation.py: -------------------------------------------------------------------------------- 1 | # Copyright 2020 Proyectos y Sistemas de Mantenimiento SL (eProsima). 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | """ 15 | Script implementing the ExitCodeValidation class. 16 | 17 | The ExitCodeValidation validates the test exit code 18 | """ 19 | import shared.shared as shared 20 | 21 | import validation.Validator as validator 22 | 23 | 24 | class ExitCodeValidation(validator.Validator): 25 | """ 26 | Class to validate an snapshot resulting from a Discovery-Server test. 27 | 28 | Validate the test counting and comparing the number of lines of the 29 | output snapshot resulted from the test execution and an a priori well 30 | known output. 31 | """ 32 | 33 | def _validator_tag(self): 34 | """Return validator's tag in json parameters file.""" 35 | return 'exit_code_validation' 36 | 37 | def _validate(self): 38 | """Validate the test exit code""" 39 | 40 | try: 41 | exit_code = self.validator_input_.exit_code 42 | expected_code = self.validation_params_['expected_exit_code'] 43 | 44 | except KeyError as e: 45 | self.logger.error(e) 46 | return shared.ReturnCode.ERROR 47 | 48 | self.logger.debug(f'ExitCodeValidation: process exit code:' 49 | f'{exit_code}, expected code:' 50 | f'{expected_code}') 51 | 52 | val = (expected_code == exit_code) 53 | 54 | return shared.ReturnCode.OK if val else shared.ReturnCode.FAIL 55 | -------------------------------------------------------------------------------- /test/validation/StderrOutputValidation.py: -------------------------------------------------------------------------------- 1 | # Copyright 2020 Proyectos y Sistemas de Mantenimiento SL (eProsima). 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | """ 15 | Script implementing the StderrOutputValidation class. 16 | 17 | The StderrOutputValidation validates the test exit code 18 | """ 19 | import shared.shared as shared 20 | 21 | import validation.Validator as validator 22 | 23 | 24 | class StderrOutputValidation(validator.Validator): 25 | """ 26 | Class to validate an snapshot resulting from a Discovery-Server test. 27 | 28 | Validate the test counting and comparing the number of lines of the 29 | output snapshot resulted from the test execution and an a priori well 30 | known output. 31 | """ 32 | 33 | def _validator_tag(self): 34 | """Return validator's tag in json parameters file.""" 35 | return 'stderr_validation' 36 | 37 | def _validate(self): 38 | """Validate the test stderr number of lines.""" 39 | try: 40 | exit_lines_count = self.validator_input_.stderr_lines 41 | expected_lines = self.validation_params_['err_expected_lines'] 42 | 43 | except KeyError as e: 44 | self.logger.error(e) 45 | return shared.ReturnCode.ERROR 46 | 47 | self.logger.debug(f'StderrOutputValidation: stderr process exit lines:' 48 | f'{exit_lines_count}, expected lines:' 49 | f'{expected_lines}') 50 | 51 | val = (exit_lines_count == expected_lines) 52 | 53 | return shared.ReturnCode.OK if val else shared.ReturnCode.FAIL 54 | -------------------------------------------------------------------------------- /utils/scripts/update_generated_code_from_idl.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | files_to_exclude=( 4 | ) 5 | 6 | files_not_needing_typeobject=( 7 | './resources/xtypes/HelloWorld.idl' 8 | ) 9 | 10 | files_needing_case_sensitive=( 11 | ) 12 | 13 | files_needing_output_dir=( 14 | ) 15 | 16 | files_needing_no_typesupport=( 17 | ) 18 | 19 | red='\E[1;31m' 20 | yellow='\E[1;33m' 21 | textreset='\E[1;0m' 22 | 23 | current_dir=$(git rev-parse --show-toplevel) 24 | 25 | if [[ ! "$(pwd -P)" -ef "$current_dir" ]]; then 26 | echo -e "${red}This script must be executed in the repository root directory.${textreset}" 27 | exit -1 28 | fi 29 | 30 | if [[ -z "$(which fastddsgen)" ]]; then 31 | echo "Cannot find fastddsgen. Please, include it in PATH environment variable" 32 | exit -1 33 | fi 34 | 35 | readarray -d '' idl_files < <(find . -iname \*.idl -print0) 36 | 37 | for del in ${files_to_exclude[@]} 38 | do 39 | idl_files=("${idl_files[@]/$del}") 40 | done 41 | 42 | idl_files=(${idl_files[@]/$files_to_exclude}) 43 | 44 | ret_value=0 45 | 46 | for idl_file in "${idl_files[@]}"; do 47 | idl_dir=$(dirname "$idl_file") 48 | file_from_gen=$(basename "$idl_file") 49 | 50 | echo -e "Processing ${yellow}$idl_file${textreset}" 51 | 52 | cd "${idl_dir}" 53 | 54 | # Detect if needs type_object. 55 | [[ ${files_not_needing_typeobject[*]} =~ $idl_file ]] && to_arg='-no-typeobjectsupport' || to_arg='' 56 | 57 | # Detect if needs case sensitive. 58 | [[ ${files_needing_case_sensitive[*]} =~ $idl_file ]] && cs_arg='-cs' || cs_arg='' 59 | 60 | [[ ${files_needing_no_typesupport[*]} =~ $idl_file ]] && nosupport_arg='-no-typesupport' || nosupport_arg='' 61 | 62 | # Detect if needs output directories. 63 | not_processed=true 64 | for od_entry in ${files_needing_output_dir[@]}; do 65 | if [[ $od_entry = $idl_file\|* ]]; then 66 | not_processed=false; 67 | od_entry_split=(${od_entry//\|/ }) 68 | for od_entry_split_element in ${od_entry_split[@]:1}; do 69 | od_arg="-d ${od_entry_split_element}" 70 | fastddsgen -replace -genapi $to_arg $cs_arg $od_arg "$file_from_gen" -no-dependencies 71 | done 72 | break 73 | fi 74 | done 75 | 76 | if $not_processed ; then 77 | fastddsgen -replace -genapi $to_arg $cs_arg $nosupport_arg "$file_from_gen" -no-dependencies 78 | fi 79 | 80 | if [[ $? != 0 ]]; then 81 | ret_value=-1 82 | fi 83 | 84 | cd - 85 | done 86 | 87 | exit $ret_value 88 | --------------------------------------------------------------------------------