├── test
├── configuration
│ ├── environment.json
│ ├── test_cases
│ │ ├── test_00_tool_help.xml
│ │ ├── test_46_guidless_discovery.xml
│ │ ├── test_80_auto.xml
│ │ ├── test_87_set_modifies_env_var_B.xml
│ │ ├── test_87_set_modifies_env_var_A.xml
│ │ ├── test_81_auto_ros_domain_id_env_var.xml
│ │ ├── test_101_trivial_xtypes_servers.xml
│ │ ├── test_45_trivial_client_reconnect_server.xml
│ │ ├── test_40_trivial_server_reconnect_B.xml
│ │ ├── test_39_trivial_reconnect_A.xml
│ │ ├── test_24_backup.xml
│ │ ├── test_36_dns_environment_variable_setup.xml
│ │ ├── test_45_trivial_client_reconnect_client.xml
│ │ ├── test_39_trivial_reconnect_B.xml
│ │ ├── test_40_trivial_server_reconnect_A.xml
│ │ ├── test_108_server_endpoints_four_clients_xtypes_servers.xml
│ │ ├── test_18_disposals_remote_servers_multiprocess_1.xml
│ │ ├── test_16_lease_duration_single_client_1.xml
│ │ ├── test_18_disposals_remote_servers_multiprocess_2.xml
│ │ ├── test_26_backup_restore_1.xml
│ │ ├── test_20_break_builtin_connections_1.xml
│ │ ├── test_17_lease_duration_remove_client_server_1.xml
│ │ ├── test_26_backup_restore.xml
│ │ ├── test_18_disposals_remote_servers_multiprocess.xml
│ │ ├── test_60_disconnection_A.xml
│ │ ├── test_43_complex_reconnect_A2.xml
│ │ ├── test_101_trivial_xtypes_clients.xml
│ │ ├── test_22_environment_variable_setup.xml
│ │ ├── test_41_reconnect_with_clients_A.xml
│ │ ├── test_42_server_reconnect_with_clients_B.xml
│ │ ├── test_43_complex_reconnect_A1.xml
│ │ ├── test_60_disconnection_B.xml
│ │ ├── test_04_server_ping.xml
│ │ ├── test_43_complex_reconnect_B1.xml
│ │ ├── test_41_reconnect_with_clients_B.xml
│ │ ├── test_83_start.xml
│ │ └── test_84_add.xml
│ ├── intraprocess_full.xml
│ ├── intraprocess_off.xml
│ └── test_solutions
│ │ ├── test_24_backup.snapshot
│ │ ├── test_04_server_ping.snapshot
│ │ ├── test_39_trivial_reconnect_B.snapshot
│ │ ├── test_40_trivial_server_reconnect_B.snapshot
│ │ ├── test_101_trivial_xtypes_servers.snapshot
│ │ ├── test_39_trivial_reconnect_A.snapshot
│ │ ├── test_40_trivial_server_reconnect_A.snapshot
│ │ ├── test_26_backup_restore.snapshot
│ │ ├── test_36_dns_environment_variable_setup.snapshot
│ │ ├── test_07_server_endpoints_two_servers.snapshot
│ │ ├── test_26_backup_restore_1.snapshot
│ │ ├── test_87_set_modifies_env_var_A.snapshot
│ │ ├── test_22_environment_variable_setup.snapshot
│ │ ├── test_60_disconnection_B.snapshot
│ │ ├── test_101_trivial_xtypes_clients.snapshot
│ │ ├── test_43_complex_reconnect_B1.snapshot
│ │ ├── test_95_tcpv4_cli.snapshot
│ │ ├── test_35_fds_two_connected_servers_with_clients.snapshot
│ │ ├── test_96_tcpv6_cli.snapshot
│ │ ├── test_80_auto.snapshot
│ │ ├── test_84_add.snapshot
│ │ ├── test_83_start.snapshot
│ │ ├── test_94_tcpv4_custom_guid_transform_locators.snapshot
│ │ ├── test_46_guidless_discovery.snapshot
│ │ ├── test_87_set_modifies_env_var_B.snapshot
│ │ ├── test_81_auto_ros_domain_id_env_var.snapshot
│ │ ├── test_82_auto_ros_static_peers_env_var.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_45_trivial_client_reconnect_client.snapshot
│ │ ├── test_108_server_endpoints_four_clients_xtypes_servers.snapshot
│ │ ├── test_10_server_redundancy.snapshot
│ │ ├── test_97_tcpv4_env_var.snapshot
│ │ ├── test_98_tcpv6_env_var.snapshot
│ │ ├── test_01_trivial.snapshot
│ │ ├── test_38_self_connection.snapshot
│ │ └── test_09_servers_serial.snapshot
└── validation
│ ├── ExitCodeValidation.py
│ ├── StderrOutputValidation.py
│ └── CountLinesValidator.py
├── resources
├── images
│ └── ds_uml.png
├── xtypes
│ ├── HelloWorld.idl
│ ├── HelloWorldCdrAux.hpp
│ └── HelloWorldTypeObjectSupport.hpp
└── xml
│ ├── examples
│ ├── HelloWorld_config.xml
│ ├── HelloWorld_UDP_config.xml
│ ├── HelloWorld_config_minimal_profile.xml
│ ├── HelloWorld_TCP_config.xml
│ └── HelloWorld_UDP_TCP_config.xml
│ └── test_schema.xml
├── colcon.pkg
├── .github
├── workflows
│ ├── config
│ │ ├── build.meta
│ │ ├── test.repos
│ │ └── test.meta
│ ├── mirror.yml
│ ├── weekly-ubuntu-ci.yml
│ ├── ubuntu-ci.yml
│ └── nightly-ubuntu-ci.yml
└── pull_request_template.md
├── discovery-server.repos
├── cmake
└── common
│ └── random_ports.cmake
├── RELEASE_SUPPORT.md
├── src
├── config.h.in
├── DSLog.h.in
└── arguments.h
├── utils
└── scripts
│ └── update_generated_code_from_idl.sh
└── include
└── IDs.h
/test/configuration/environment.json:
--------------------------------------------------------------------------------
1 | {
2 | "ROS_DISCOVERY_SERVER" :";;localhost:65000"
3 | }
4 |
--------------------------------------------------------------------------------
/resources/images/ds_uml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eProsima/Discovery-Server/HEAD/resources/images/ds_uml.png
--------------------------------------------------------------------------------
/colcon.pkg:
--------------------------------------------------------------------------------
1 | {
2 | "name": "discovery-server",
3 | "type": "cmake",
4 | "build-dependencies": ["fastcdr", "fastdds", "tinyxml2"]
5 | }
6 |
--------------------------------------------------------------------------------
/resources/xtypes/HelloWorld.idl:
--------------------------------------------------------------------------------
1 | @extensibility(APPENDABLE)
2 | struct HelloWorld
3 | {
4 | unsigned long index;
5 | string message;
6 | };
7 |
--------------------------------------------------------------------------------
/.github/workflows/config/build.meta:
--------------------------------------------------------------------------------
1 | names:
2 | fastdds:
3 | cmake-args:
4 | - "-DNO_TLS=ON"
5 | - "-DSECURITY=OFF"
6 |
--------------------------------------------------------------------------------
/test/configuration/test_cases/test_00_tool_help.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/.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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/.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 |
--------------------------------------------------------------------------------
/test/configuration/test_solutions/test_24_backup.snapshot:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | test_24_backup_snapshot_server
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.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.2.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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/.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 |
--------------------------------------------------------------------------------
/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_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_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_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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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_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 |
--------------------------------------------------------------------------------
/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()
--------------------------------------------------------------------------------
/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_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 |
--------------------------------------------------------------------------------
/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.4|2.2.0|[v2.2.0](https://github.com/eProsima/Discovery-Server/releases/tag/v2.2.0)|
14 | |3.3|2.1.0|[v2.1.0](https://github.com/eProsima/Discovery-Server/releases/tag/v2.1.0)|
15 | |3.2|2.0.1|[v2.0.1](https://github.com/eProsima/Discovery-Server/releases/tag/v2.0.1)|
16 | |2.14|1.2.2|[v1.2.2](https://github.com/eProsima/Discovery-Server/releases/tag/v1.2.2)|
17 | |2.6|1.2.1|[v1.2.1](https://github.com/eProsima/Discovery-Server/releases/tag/v1.2.1)|
18 |
19 | 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).
20 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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_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_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 |
--------------------------------------------------------------------------------
/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 (version: 4.2.0).
20 | */
21 |
22 | #ifndef FAST_DDS_GENERATED__HELLOWORLDCDRAUX_HPP
23 | #define FAST_DDS_GENERATED__HELLOWORLDCDRAUX_HPP
24 |
25 | #include "HelloWorld.hpp"
26 | constexpr uint32_t HelloWorld_max_cdr_typesize {268UL};
27 | constexpr uint32_t HelloWorld_max_key_cdr_typesize {0UL};
28 |
29 |
30 | namespace eprosima {
31 | namespace fastcdr {
32 |
33 | class Cdr;
34 | class CdrSizeCalculator;
35 |
36 | eProsima_user_DllExport void serialize_key(
37 | eprosima::fastcdr::Cdr& scdr,
38 | const HelloWorld& data);
39 |
40 |
41 | } // namespace fastcdr
42 | } // namespace eprosima
43 |
44 | #endif // FAST_DDS_GENERATED__HELLOWORLDCDRAUX_HPP
45 |
46 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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_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_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_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_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_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_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_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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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_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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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/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 |
--------------------------------------------------------------------------------
/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_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_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_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_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_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_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_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_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_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_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_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_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_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 |
--------------------------------------------------------------------------------
/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 (version: 4.2.0).
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] type_ids 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 |
--------------------------------------------------------------------------------
/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_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_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_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_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_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_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_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_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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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_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/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 |
--------------------------------------------------------------------------------
/.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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/.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 || '3.4.x' }}
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 |
--------------------------------------------------------------------------------
/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_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/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_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_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_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_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_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_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_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 |
--------------------------------------------------------------------------------
/.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-3.4.x'
16 | discovery-server-branch: 'master'
17 | fastdds-branch: '3.4.x'
18 | ctest-args: "-LE xfail"
19 | run-build: true
20 | run-tests: true
21 | use-ccache: false
22 |
23 | nightly-ubuntu-ci-2_1_x:
24 | uses: eProsima/Discovery-Server/.github/workflows/reusable-ubuntu-ci.yml@2.1.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.1.x-3.3.x'
30 | discovery-server-branch: '2.1.x'
31 | fastdds-branch: '3.3.x'
32 | ctest-args: "-LE xfail"
33 | run-build: true
34 | run-tests: true
35 | use-ccache: false
36 |
37 | nightly-ubuntu-ci-2_0_x:
38 | uses: eProsima/Discovery-Server/.github/workflows/reusable-ubuntu-ci.yml@2.0.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-2.0.x-3.2.x'
44 | discovery-server-branch: '2.0.x'
45 | fastdds-branch: '3.2.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_2:
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.2-2.14.x'
58 | discovery-server-branch: 'v1.2.2'
59 | fastdds-branch: '2.14.x'
60 | ctest-args: "-LE xfail"
61 | run-build: true
62 | run-tests: true
63 | use-ccache: false
64 |
65 | nightly-ubuntu-ci-v1_2_1:
66 | uses: eProsima/Discovery-Server/.github/workflows/reusable-ubuntu-ci.yml@1.2.x
67 | with:
68 | # It would be desirable to have a matrix of ubuntu OS for this job, but due to the issue opened in this ticket:
69 | # https://github.com/orgs/community/discussions/128118 , it has been set as a single OS job.
70 | os-version: 'ubuntu-22.04'
71 | label: 'nightly-ubuntu-ci-v1.2.1-2.10.x'
72 | discovery-server-branch: 'v1.2.1'
73 | fastdds-branch: '2.10.x'
74 | ctest-args: "-LE xfail"
75 | run-build: true
76 | run-tests: true
77 | use-ccache: false
78 |
--------------------------------------------------------------------------------
/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_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_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_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_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_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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------