1# Copyright (C) 2015-2017 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
2# This Source Code Form is subject to the terms of the Mozilla Public
3# License, v. 2.0. If a copy of the MPL was not distributed with this
4# file, You can obtain one at http://mozilla.org/MPL/2.0/.
5
6cmake_minimum_required (VERSION 2.8.1)
7
8# Add the gtest header files to the include files
9include_directories(
10    .
11    ${gtest_SOURCE_DIR}/include
12)
13
14set(TEST_LINK_LIBRARIES gtest)
15
16# Function to copy files into the build directory (or anywhere else)
17# On unixoid systems this function will create symlinks instead
18# SOURCE_PATH: Path to the file which should be copied
19# DESTINATION_PATH: destination file
20# TARGET_TO_DEPEND: The copying of the file will be added as
21#                   a dependency to this target
22function(copy_to_builddir SOURCE_PATH DESTINATION_PATH TARGET_TO_DEPEND)
23    if(${CMAKE_SYSTEM_NAME} MATCHES "Windows" OR NOT ${TEST_SYMLINK_CONFIG_FILES})
24        ADD_CUSTOM_COMMAND(
25            OUTPUT "${DESTINATION_PATH}"
26            COMMAND ${CMAKE_COMMAND} -E copy "${SOURCE_PATH}" "${DESTINATION_PATH}"
27            DEPENDS "${SOURCE_PATH}"
28            COMMENT "Copying \"${SOURCE_PATH}\" into build directory"
29        )
30    else()
31        if(${TEST_SYMLINK_CONFIG_FILES_RELATIVE})
32            ADD_CUSTOM_COMMAND(
33                OUTPUT "${DESTINATION_PATH}"
34                # Create a relative link
35                COMMAND ln -s -r "${SOURCE_PATH}" "${DESTINATION_PATH}"
36                DEPENDS "${SOURCE_PATH}"
37                COMMENT "Symlinking \"${SOURCE_PATH}\" into build directory"
38            )
39        else()
40            ADD_CUSTOM_COMMAND(
41                OUTPUT "${DESTINATION_PATH}"
42                # Create an absolute link
43                COMMAND ${CMAKE_COMMAND} -E create_symlink "${SOURCE_PATH}" "${DESTINATION_PATH}"
44                DEPENDS "${SOURCE_PATH}"
45                COMMENT "Symlinking \"${SOURCE_PATH}\" into build directory"
46            )
47        endif()
48    endif()
49    # Add a random number to the end of the string to avoid problems with
50    # duplicate filenames
51    set(FILENAME "")
52    get_filename_component(FILENAME ${SOURCE_PATH} NAME )
53    string(RANDOM LENGTH 4 ALPHABET 0123456789 RANDOMNUMBER)
54    if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
55        ADD_CUSTOM_TARGET(copy_${FILENAME}_${RANDOMNUMBER}
56            DEPENDS "${DESTINATION_PATH}"
57        )
58        ADD_DEPENDENCIES(${TARGET_TO_DEPEND} copy_${FILENAME}_${RANDOMNUMBER})
59    else()
60        ADD_CUSTOM_TARGET(symlink_${FILENAME}_${RANDOMNUMBER}
61            DEPENDS "${DESTINATION_PATH}"
62        )
63        ADD_DEPENDENCIES(${TARGET_TO_DEPEND} symlink_${FILENAME}_${RANDOMNUMBER})
64    endif()
65endfunction()
66
67##############################################################################
68# configuration-test
69##############################################################################
70if(NOT ${TESTS_BAT})
71    set(TEST_CONFIGURATION configuration-test)
72
73    add_executable(${TEST_CONFIGURATION}
74        configuration_tests/configuration-test.cpp
75        ${PROJECT_SOURCE_DIR}/implementation/plugin/src/plugin_manager_impl.cpp
76    )
77    target_link_libraries(${TEST_CONFIGURATION}
78        vsomeip3
79        vsomeip3-cfg
80        ${Boost_LIBRARIES}
81        ${DL_LIBRARY}
82        ${TEST_LINK_LIBRARIES}
83    )
84
85    # The following will make sure that ${TEST_CONFIGURATION_CONFIG_FILE} is copied
86    # from the config folder into the test folder in the builddirectory
87    # This makes it possible to call the configuration test within the build directory
88    set(TEST_CONFIGURATION_CONFIG_FILE configuration-test.json)
89    set(TEST_CONFIGURATION_DEPRECATED_CONFIG_FILE configuration-test-deprecated.json)
90    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/configuration_tests/${TEST_CONFIGURATION_CONFIG_FILE}
91        ${PROJECT_BINARY_DIR}/test/${TEST_CONFIGURATION_CONFIG_FILE}
92        ${TEST_CONFIGURATION}
93    )
94    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/configuration_tests/${TEST_CONFIGURATION_DEPRECATED_CONFIG_FILE}
95        ${PROJECT_BINARY_DIR}/test/${TEST_CONFIGURATION_DEPRECATED_CONFIG_FILE}
96        ${TEST_CONFIGURATION}
97    )
98endif()
99##############################################################################
100# application test
101##############################################################################
102if(NOT ${TESTS_BAT})
103    set(TEST_APPLICATION application_test)
104
105    add_executable(${TEST_APPLICATION} application_tests/${TEST_APPLICATION}.cpp)
106    target_link_libraries(${TEST_APPLICATION}
107        vsomeip3
108        ${Boost_LIBRARIES}
109        ${DL_LIBRARY}
110        ${TEST_LINK_LIBRARIES}
111    )
112
113    set(TEST_APPLICATION_SINGLE_PROCESS_NAME ${TEST_APPLICATION}_single_process)
114    add_executable(${TEST_APPLICATION_SINGLE_PROCESS_NAME} application_tests/${TEST_APPLICATION_SINGLE_PROCESS_NAME}.cpp)
115    target_link_libraries(${TEST_APPLICATION_SINGLE_PROCESS_NAME}
116        vsomeip3
117        ${Boost_LIBRARIES}
118        ${DL_LIBRARY}
119        ${TEST_LINK_LIBRARIES}
120    )
121
122    set(TEST_APPLICATION_AVAILABILITY_NAME ${TEST_APPLICATION}_availability)
123    add_executable(${TEST_APPLICATION_AVAILABILITY_NAME} application_tests/${TEST_APPLICATION_AVAILABILITY_NAME}.cpp)
124    target_link_libraries(${TEST_APPLICATION_AVAILABILITY_NAME}
125        vsomeip3
126        ${Boost_LIBRARIES}
127        ${DL_LIBRARY}
128        ${TEST_LINK_LIBRARIES}
129    )
130
131    set(TEST_APPLICATION_SINGLE_PROCESS_CONFIGURATION_FILE ${TEST_APPLICATION}_single_process.json)
132    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/application_tests/${TEST_APPLICATION_SINGLE_PROCESS_CONFIGURATION_FILE}
133        ${PROJECT_BINARY_DIR}/test/${TEST_APPLICATION_SINGLE_PROCESS_CONFIGURATION_FILE}
134        ${TEST_APPLICATION}_single_process
135    )
136
137    set(TEST_APPLICATION_CONFIGURATION_FILE ${TEST_APPLICATION}.json)
138    configure_file(
139        ${PROJECT_SOURCE_DIR}/test/application_tests/conf/${TEST_APPLICATION_CONFIGURATION_FILE}.in
140        ${PROJECT_SOURCE_DIR}/test/application_tests/${TEST_APPLICATION_CONFIGURATION_FILE}
141        @ONLY)
142    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/application_tests/${TEST_APPLICATION_CONFIGURATION_FILE}
143        ${PROJECT_BINARY_DIR}/test/${TEST_APPLICATION_CONFIGURATION_FILE}
144        ${TEST_APPLICATION}
145    )
146
147    set(TEST_APPLICATION_CONFIGURATION_FILE_DAEMON ${TEST_APPLICATION}_daemon.json)
148    configure_file(
149        ${PROJECT_SOURCE_DIR}/test/application_tests/conf/${TEST_APPLICATION_CONFIGURATION_FILE_DAEMON}.in
150        ${PROJECT_SOURCE_DIR}/test/application_tests/${TEST_APPLICATION_CONFIGURATION_FILE_DAEMON}
151        @ONLY)
152    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/application_tests/${TEST_APPLICATION_CONFIGURATION_FILE_DAEMON}
153        ${PROJECT_BINARY_DIR}/test/${TEST_APPLICATION_CONFIGURATION_FILE_DAEMON}
154        ${TEST_APPLICATION}
155    )
156
157    set(TEST_APPLICATION_NO_DISPATCH_CONFIGURATION_FILE ${TEST_APPLICATION}_no_dispatch_threads.json)
158    configure_file(
159        ${PROJECT_SOURCE_DIR}/test/application_tests/conf/${TEST_APPLICATION_NO_DISPATCH_CONFIGURATION_FILE}.in
160        ${PROJECT_SOURCE_DIR}/test/application_tests/${TEST_APPLICATION_NO_DISPATCH_CONFIGURATION_FILE}
161        @ONLY)
162    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/application_tests/${TEST_APPLICATION_NO_DISPATCH_CONFIGURATION_FILE}
163        ${PROJECT_BINARY_DIR}/test/${TEST_APPLICATION_NO_DISPATCH_CONFIGURATION_FILE}
164        ${TEST_APPLICATION}
165    )
166
167    set(TEST_APPLICATION_NO_DISPATCH_CONFIGURATION_FILE_DAEMON ${TEST_APPLICATION}_no_dispatch_threads_daemon.json)
168    configure_file(
169        ${PROJECT_SOURCE_DIR}/test/application_tests/conf/${TEST_APPLICATION_NO_DISPATCH_CONFIGURATION_FILE_DAEMON}.in
170        ${PROJECT_SOURCE_DIR}/test/application_tests/${TEST_APPLICATION_NO_DISPATCH_CONFIGURATION_FILE_DAEMON}
171        @ONLY)
172    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/application_tests/${TEST_APPLICATION_NO_DISPATCH_CONFIGURATION_FILE_DAEMON}
173        ${PROJECT_BINARY_DIR}/test/${TEST_APPLICATION_NO_DISPATCH_CONFIGURATION_FILE_DAEMON}
174        ${TEST_APPLICATION}
175    )
176
177    set(TEST_APPLICATION_STARTER ${TEST_APPLICATION}_starter.sh)
178    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/application_tests/${TEST_APPLICATION_STARTER}
179        ${PROJECT_BINARY_DIR}/test/${TEST_APPLICATION_STARTER}
180        ${TEST_APPLICATION}
181    )
182
183    set(TEST_APPLICATION_SINGLE_PROCESS_STARTER ${TEST_APPLICATION}_single_process_starter.sh)
184    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/application_tests/${TEST_APPLICATION_SINGLE_PROCESS_STARTER}
185        ${PROJECT_BINARY_DIR}/test/${TEST_APPLICATION_SINGLE_PROCESS_STARTER}
186        ${TEST_APPLICATION}_single_process
187    )
188
189    set(TEST_APPLICATION_AVAILABILITY_STARTER ${TEST_APPLICATION_AVAILABILITY_NAME}_starter.sh)
190    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/application_tests/${TEST_APPLICATION_AVAILABILITY_STARTER}
191        ${PROJECT_BINARY_DIR}/test/${TEST_APPLICATION_AVAILABILITY_STARTER}
192        ${TEST_APPLICATION_SINGLE_PROCESS_NAME}
193    )
194endif()
195##############################################################################
196# magic-cookies-test-client
197##############################################################################
198if(NOT ${TESTS_BAT})
199    set(TEST_MAGIC_COOKIES_NAME magic_cookies_test)
200
201    set(TEST_MAGIC_COOKIES_CLIENT ${TEST_MAGIC_COOKIES_NAME}_client)
202    add_executable(${TEST_MAGIC_COOKIES_CLIENT} magic_cookies_tests/${TEST_MAGIC_COOKIES_CLIENT}.cpp)
203    target_link_libraries(${TEST_MAGIC_COOKIES_CLIENT}
204        vsomeip3
205        ${Boost_LIBRARIES}
206        ${DL_LIBRARY}
207        ${CMAKE_THREAD_LIBS_INIT}
208        ${TEST_LINK_LIBRARIES}
209    )
210
211    set(TEST_MAGIC_COOKIES_SERVICE ${TEST_MAGIC_COOKIES_NAME}_service)
212    add_executable(${TEST_MAGIC_COOKIES_SERVICE} magic_cookies_tests/${TEST_MAGIC_COOKIES_SERVICE}.cpp)
213    target_link_libraries(${TEST_MAGIC_COOKIES_SERVICE}
214        vsomeip3
215        ${Boost_LIBRARIES}
216        ${DL_LIBRARY}
217        ${CMAKE_THREAD_LIBS_INIT}
218        ${TEST_LINK_LIBRARIES}
219    )
220
221    # Copy config file for client into $BUILDDIR/test
222    set(TEST_MAGIC_COOKIES_CLIENT_CONFIG_FILE ${TEST_MAGIC_COOKIES_CLIENT}.json)
223    configure_file(
224        ${PROJECT_SOURCE_DIR}/test/magic_cookies_tests/conf/${TEST_MAGIC_COOKIES_CLIENT_CONFIG_FILE}.in
225        ${PROJECT_SOURCE_DIR}/test/magic_cookies_tests/${TEST_MAGIC_COOKIES_CLIENT_CONFIG_FILE}
226        @ONLY)
227    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/magic_cookies_tests/${TEST_MAGIC_COOKIES_CLIENT_CONFIG_FILE}
228        ${PROJECT_BINARY_DIR}/test/${TEST_MAGIC_COOKIES_CLIENT_CONFIG_FILE}
229        ${TEST_MAGIC_COOKIES_CLIENT}
230    )
231
232    # Copy bashscript to start client into $BUILDDIR/test
233    set(TEST_MAGIC_COOKIES_CLIENT_START_SCRIPT ${TEST_MAGIC_COOKIES_CLIENT}_start.sh)
234    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/magic_cookies_tests/${TEST_MAGIC_COOKIES_CLIENT_START_SCRIPT}
235        ${PROJECT_BINARY_DIR}/test/${TEST_MAGIC_COOKIES_CLIENT_START_SCRIPT}
236        ${TEST_MAGIC_COOKIES_CLIENT}
237    )
238
239    set(TEST_MAGIC_COOKIES_SERVICE magic_cookies_test_service)
240    # Copy config file for service into $BUILDDIR/test
241    set(TEST_MAGIC_COOKIES_SERVICE_CONFIG_FILE ${TEST_MAGIC_COOKIES_SERVICE}.json)
242    configure_file(
243        ${PROJECT_SOURCE_DIR}/test/magic_cookies_tests/conf/${TEST_MAGIC_COOKIES_SERVICE_CONFIG_FILE}.in
244        ${PROJECT_SOURCE_DIR}/test/magic_cookies_tests/${TEST_MAGIC_COOKIES_SERVICE_CONFIG_FILE}
245        @ONLY)
246    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/magic_cookies_tests/${TEST_MAGIC_COOKIES_SERVICE_CONFIG_FILE}
247        ${PROJECT_BINARY_DIR}/test/${TEST_MAGIC_COOKIES_SERVICE_CONFIG_FILE}
248        ${TEST_MAGIC_COOKIES_SERVICE}
249    )
250
251    # Copy bashscript to start service into $BUILDDIR/test
252    set(TEST_MAGIC_COOKIES_SERVICE_START_SCRIPT ${TEST_MAGIC_COOKIES_SERVICE}_start.sh)
253    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/magic_cookies_tests/${TEST_MAGIC_COOKIES_SERVICE_START_SCRIPT}
254        ${PROJECT_BINARY_DIR}/test/${TEST_MAGIC_COOKIES_SERVICE_START_SCRIPT}
255        ${TEST_MAGIC_COOKIES_CLIENT}
256    )
257
258    # Copy bashscript to start client and server $BUILDDIR/test
259    set(TEST_MAGIC_COOKIES_STARTER ${TEST_MAGIC_COOKIES_NAME}_starter.sh)
260    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/magic_cookies_tests/${TEST_MAGIC_COOKIES_STARTER}
261        ${PROJECT_BINARY_DIR}/test/${TEST_MAGIC_COOKIES_STARTER}
262        ${TEST_MAGIC_COOKIES_CLIENT}
263    )
264endif()
265##############################################################################
266# someip-header-factory-test
267##############################################################################
268if(NOT ${TESTS_BAT})
269    set(TEST_HEADER_FACTORY_NAME header_factory_test)
270
271    set(TEST_HEADER_FACTORY header_factory_test)
272    add_executable(${TEST_HEADER_FACTORY} header_factory_tests/header_factory_test.cpp)
273    target_link_libraries(${TEST_HEADER_FACTORY}
274        vsomeip3
275        ${Boost_LIBRARIES}
276        ${DL_LIBRARY}
277        ${CMAKE_THREAD_LIBS_INIT}
278        ${TEST_LINK_LIBRARIES}
279    )
280
281    ##############################################################################
282    # Now comes the second part of the header factory test which consists of ouf
283    # a client and a service both with settings file and bash scripts to start them
284    set(TEST_HEADER_FACTORY_CLIENT header_factory_test_client)
285    add_executable(${TEST_HEADER_FACTORY_CLIENT} header_factory_tests/${TEST_HEADER_FACTORY_CLIENT}.cpp)
286    target_link_libraries(${TEST_HEADER_FACTORY_CLIENT}
287        vsomeip3
288        ${Boost_LIBRARIES}
289        ${DL_LIBRARY}
290        ${CMAKE_THREAD_LIBS_INIT}
291        ${TEST_LINK_LIBRARIES}
292    )
293
294    # Copy config file for client into $BUILDDIR/test
295    set(TEST_HEADER_FACTORY_CLIENT_CONFIG_FILE ${TEST_HEADER_FACTORY_CLIENT}.json)
296    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/header_factory_tests/${TEST_HEADER_FACTORY_CLIENT_CONFIG_FILE}
297        ${PROJECT_BINARY_DIR}/test/${TEST_HEADER_FACTORY_CLIENT_CONFIG_FILE}
298        ${TEST_HEADER_FACTORY_CLIENT}
299    )
300
301    # Copy bashscript to start client into $BUILDDIR/test
302    set(TEST_HEADER_FACTORY_CLIENT_START_SCRIPT ${TEST_HEADER_FACTORY_CLIENT}_start.sh)
303    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/header_factory_tests/${TEST_HEADER_FACTORY_CLIENT_START_SCRIPT}
304        ${PROJECT_BINARY_DIR}/test/${TEST_HEADER_FACTORY_CLIENT_START_SCRIPT}
305        ${TEST_HEADER_FACTORY_CLIENT}
306    )
307
308    set(TEST_HEADER_FACTORY_SERVICE header_factory_test_service)
309    add_executable(${TEST_HEADER_FACTORY_SERVICE} header_factory_tests/${TEST_HEADER_FACTORY_SERVICE}.cpp)
310    target_link_libraries(${TEST_HEADER_FACTORY_SERVICE}
311        vsomeip3
312        ${Boost_LIBRARIES}
313        ${DL_LIBRARY}
314        ${CMAKE_THREAD_LIBS_INIT}
315        ${TEST_LINK_LIBRARIES}
316    )
317
318    # Copy config file for service into $BUILDDIR/test
319    set(TEST_HEADER_FACTORY_SERVICE_CONFIG_FILE ${TEST_HEADER_FACTORY_SERVICE}.json)
320    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/header_factory_tests/${TEST_HEADER_FACTORY_SERVICE_CONFIG_FILE}
321        ${PROJECT_BINARY_DIR}/test/${TEST_HEADER_FACTORY_SERVICE_CONFIG_FILE}
322        ${TEST_HEADER_FACTORY_SERVICE}
323    )
324
325    # Copy bashscript to start service into $BUILDDIR/test
326    set(TEST_HEADER_FACTORY_SERVICE_START_SCRIPT ${TEST_HEADER_FACTORY_SERVICE}_start.sh)
327    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/header_factory_tests/${TEST_HEADER_FACTORY_SERVICE_START_SCRIPT}
328        ${PROJECT_BINARY_DIR}/test/${TEST_HEADER_FACTORY_SERVICE_START_SCRIPT}
329        ${TEST_HEADER_FACTORY_SERVICE}
330    )
331
332    # Copy bashscript to start client and server $BUILDDIR/test
333    set(TEST_HEADER_FACTORY_STARTER header_factory_test_send_receive_starter.sh)
334    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/header_factory_tests/${TEST_HEADER_FACTORY_STARTER}
335        ${PROJECT_BINARY_DIR}/test/${TEST_HEADER_FACTORY_STARTER}
336        ${TEST_HEADER_FACTORY_CLIENT}
337    )
338endif()
339##############################################################################
340# routing-test
341##############################################################################
342
343if(NOT ${TESTS_BAT})
344    set(TEST_LOCAL_ROUTING_NAME local_routing_test)
345
346    set(TEST_LOCAL_ROUTING_SERVICE local_routing_test_service)
347    add_executable(${TEST_LOCAL_ROUTING_SERVICE} routing_tests/${TEST_LOCAL_ROUTING_SERVICE}.cpp)
348    target_link_libraries(${TEST_LOCAL_ROUTING_SERVICE}
349        vsomeip3
350        ${Boost_LIBRARIES}
351        ${DL_LIBRARY}
352        ${TEST_LINK_LIBRARIES}
353    )
354
355    # Copy config file for service into $BUILDDIR/test
356    set(TEST_LOCAL_ROUTING_SERVICE_CONFIG_FILE ${TEST_LOCAL_ROUTING_SERVICE}.json)
357    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/routing_tests/${TEST_LOCAL_ROUTING_SERVICE_CONFIG_FILE}
358        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_ROUTING_SERVICE_CONFIG_FILE}
359        ${TEST_LOCAL_ROUTING_SERVICE}
360    )
361
362    # Copy bashscript to start service into $BUILDDIR/test
363    set(TEST_LOCAL_ROUTING_SERVICE_START_SCRIPT ${TEST_LOCAL_ROUTING_SERVICE}_start.sh)
364    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/routing_tests/${TEST_LOCAL_ROUTING_SERVICE_START_SCRIPT}
365        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_ROUTING_SERVICE_START_SCRIPT}
366        ${TEST_LOCAL_ROUTING_SERVICE}
367    )
368
369    set(TEST_LOCAL_ROUTING_CLIENT local_routing_test_client)
370    add_executable(${TEST_LOCAL_ROUTING_CLIENT} routing_tests/${TEST_LOCAL_ROUTING_CLIENT}.cpp)
371    target_link_libraries(${TEST_LOCAL_ROUTING_CLIENT}
372        vsomeip3
373        ${Boost_LIBRARIES}
374        ${DL_LIBRARY}
375        ${TEST_LINK_LIBRARIES}
376    )
377
378    # Copy config file for client into $BUILDDIR/test
379    set(TEST_LOCAL_ROUTING_CLIENT_CONFIG_FILE ${TEST_LOCAL_ROUTING_CLIENT}.json)
380    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/routing_tests/${TEST_LOCAL_ROUTING_CLIENT_CONFIG_FILE}
381        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_ROUTING_CLIENT_CONFIG_FILE}
382        ${TEST_LOCAL_ROUTING_CLIENT}
383    )
384
385    # Copy bashscript to start client into $BUILDDIR/test
386    set(TEST_LOCAL_ROUTING_CLIENT_START_SCRIPT ${TEST_LOCAL_ROUTING_CLIENT}_start.sh)
387    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/routing_tests/${TEST_LOCAL_ROUTING_CLIENT_START_SCRIPT}
388        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_ROUTING_CLIENT_START_SCRIPT}
389        ${TEST_LOCAL_ROUTING_CLIENT}
390    )
391
392    # Copy bashscript to start client and server $BUILDDIR/test
393    set(TEST_LOCAL_ROUTING_STARTER local_routing_test_starter.sh)
394    configure_file(
395        ${PROJECT_SOURCE_DIR}/test/routing_tests/conf/${TEST_LOCAL_ROUTING_STARTER}.in
396        ${PROJECT_SOURCE_DIR}/test/routing_tests/${TEST_LOCAL_ROUTING_STARTER}
397        @ONLY)
398    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/routing_tests/${TEST_LOCAL_ROUTING_STARTER}
399        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_ROUTING_STARTER}
400        ${TEST_LOCAL_ROUTING_CLIENT}
401    )
402
403    ##############################################################################
404    set(TEST_EXTERNAL_LOCAL_ROUTING_NAME external_local_routing_test)
405    set(TEST_EXTERNAL_LOCAL_ROUTING_SERVICE external_local_routing_test_service)
406    add_executable(${TEST_EXTERNAL_LOCAL_ROUTING_SERVICE} routing_tests/${TEST_EXTERNAL_LOCAL_ROUTING_SERVICE}.cpp)
407    target_link_libraries(${TEST_EXTERNAL_LOCAL_ROUTING_SERVICE}
408        vsomeip3
409        ${Boost_LIBRARIES}
410        ${DL_LIBRARY}
411        ${TEST_LINK_LIBRARIES}
412    )
413
414    # Copy config file for service into $BUILDDIR/test
415    set(TEST_EXTERNAL_LOCAL_ROUTING_SERVICE_CONFIG_FILE ${TEST_EXTERNAL_LOCAL_ROUTING_SERVICE}.json)
416    configure_file(
417        ${PROJECT_SOURCE_DIR}/test/routing_tests/conf/${TEST_EXTERNAL_LOCAL_ROUTING_SERVICE_CONFIG_FILE}.in
418        ${PROJECT_SOURCE_DIR}/test/routing_tests/${TEST_EXTERNAL_LOCAL_ROUTING_SERVICE_CONFIG_FILE}
419        @ONLY)
420    copy_to_builddir(
421        ${PROJECT_SOURCE_DIR}/test/routing_tests/${TEST_EXTERNAL_LOCAL_ROUTING_SERVICE_CONFIG_FILE}
422        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_LOCAL_ROUTING_SERVICE_CONFIG_FILE}
423        ${TEST_EXTERNAL_LOCAL_ROUTING_SERVICE}
424    )
425
426    # Copy bashscript to start service into $BUILDDIR/test
427    set(TEST_EXTERNAL_LOCAL_ROUTING_SERVICE_START_SCRIPT ${TEST_EXTERNAL_LOCAL_ROUTING_SERVICE}_start.sh)
428    copy_to_builddir(
429        ${PROJECT_SOURCE_DIR}/test/routing_tests/${TEST_EXTERNAL_LOCAL_ROUTING_SERVICE_START_SCRIPT}
430        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_LOCAL_ROUTING_SERVICE_START_SCRIPT}
431        ${TEST_EXTERNAL_LOCAL_ROUTING_SERVICE}
432    )
433
434    # Copy bashscript to start external client into $BUILDDIR/test
435    set(TEST_EXTERNAL_LOCAL_ROUTING_CLIENT external_local_routing_test_client_external)
436    set(TEST_EXTERNAL_LOCAL_ROUTING_CLIENT_START_SCRIPT ${TEST_EXTERNAL_LOCAL_ROUTING_CLIENT}_start.sh)
437    copy_to_builddir(
438        ${PROJECT_SOURCE_DIR}/test/routing_tests/${TEST_EXTERNAL_LOCAL_ROUTING_CLIENT_START_SCRIPT}
439        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_LOCAL_ROUTING_CLIENT_START_SCRIPT}
440        ${TEST_EXTERNAL_LOCAL_ROUTING_SERVICE}
441    )
442
443    # Copy config file for client into $BUILDDIR/test
444    set(TEST_EXTERNAL_LOCAL_ROUTING_CLIENT_CONFIG_FILE ${TEST_EXTERNAL_LOCAL_ROUTING_CLIENT}.json)
445    configure_file(
446        ${PROJECT_SOURCE_DIR}/test/routing_tests/conf/${TEST_EXTERNAL_LOCAL_ROUTING_CLIENT_CONFIG_FILE}.in
447        ${PROJECT_SOURCE_DIR}/test/routing_tests/${TEST_EXTERNAL_LOCAL_ROUTING_CLIENT_CONFIG_FILE}
448        @ONLY)
449    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/routing_tests/${TEST_EXTERNAL_LOCAL_ROUTING_CLIENT_CONFIG_FILE}
450        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_LOCAL_ROUTING_CLIENT_CONFIG_FILE}
451        ${TEST_EXTERNAL_LOCAL_ROUTING_SERVICE}
452    )
453
454    # Copy bashscript to start client and server $BUILDDIR/test
455    set(TEST_EXTERNAL_LOCAL_ROUTING_STARTER external_local_routing_test_starter.sh)
456    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/routing_tests/${TEST_EXTERNAL_LOCAL_ROUTING_STARTER}
457        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_LOCAL_ROUTING_STARTER}
458        ${TEST_EXTERNAL_LOCAL_ROUTING_SERVICE}
459    )
460else()
461    set(TEST_LOCAL_ROUTING_NAME local_routing_test)
462
463    set(TEST_LOCAL_ROUTING_SERVICE local_routing_test_service)
464    add_executable(${TEST_LOCAL_ROUTING_SERVICE} routing_tests/${TEST_LOCAL_ROUTING_SERVICE}.cpp)
465    target_link_libraries(${TEST_LOCAL_ROUTING_SERVICE}
466        vsomeip3
467        ${Boost_LIBRARIES}
468        ${DL_LIBRARY}
469        ${TEST_LINK_LIBRARIES}
470    )
471
472    # Copy config file for service into $BUILDDIR/test
473    set(TEST_LOCAL_ROUTING_SERVICE_CONFIG_FILE ${TEST_LOCAL_ROUTING_SERVICE}.json)
474    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/routing_tests/${TEST_LOCAL_ROUTING_SERVICE_CONFIG_FILE}
475        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_ROUTING_SERVICE_CONFIG_FILE}
476        ${TEST_LOCAL_ROUTING_SERVICE}
477    )
478
479    # Copy bashscript to start service into $BUILDDIR/test
480    set(TEST_LOCAL_ROUTING_SERVICE_START_SCRIPT ${TEST_LOCAL_ROUTING_SERVICE}_start.sh)
481    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/routing_tests/${TEST_LOCAL_ROUTING_SERVICE_START_SCRIPT}
482        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_ROUTING_SERVICE_START_SCRIPT}
483        ${TEST_LOCAL_ROUTING_SERVICE}
484    )
485
486    set(TEST_LOCAL_ROUTING_CLIENT local_routing_test_client)
487    add_executable(${TEST_LOCAL_ROUTING_CLIENT} routing_tests/${TEST_LOCAL_ROUTING_CLIENT}.cpp)
488    target_link_libraries(${TEST_LOCAL_ROUTING_CLIENT}
489        vsomeip3
490        ${Boost_LIBRARIES}
491        ${DL_LIBRARY}
492        ${TEST_LINK_LIBRARIES}
493    )
494
495    # Copy config file for client into $BUILDDIR/test
496    set(TEST_LOCAL_ROUTING_CLIENT_CONFIG_FILE ${TEST_LOCAL_ROUTING_CLIENT}.json)
497    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/routing_tests/${TEST_LOCAL_ROUTING_CLIENT_CONFIG_FILE}
498        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_ROUTING_CLIENT_CONFIG_FILE}
499        ${TEST_LOCAL_ROUTING_CLIENT}
500    )
501
502    # Copy bashscript to start client into $BUILDDIR/test
503    set(TEST_LOCAL_ROUTING_CLIENT_START_SCRIPT ${TEST_LOCAL_ROUTING_CLIENT}_start.sh)
504    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/routing_tests/${TEST_LOCAL_ROUTING_CLIENT_START_SCRIPT}
505        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_ROUTING_CLIENT_START_SCRIPT}
506        ${TEST_LOCAL_ROUTING_CLIENT}
507    )
508
509    # Copy bashscript to start client and server $BUILDDIR/test
510    set(TEST_LOCAL_ROUTING_STARTER local_routing_test_starter.sh)
511    configure_file(
512        ${PROJECT_SOURCE_DIR}/test/routing_tests/conf/${TEST_LOCAL_ROUTING_STARTER}.bat.in
513        ${PROJECT_SOURCE_DIR}/test/routing_tests/${TEST_LOCAL_ROUTING_STARTER}
514        @ONLY)
515    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/routing_tests/${TEST_LOCAL_ROUTING_STARTER}
516        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_ROUTING_STARTER}
517        ${TEST_LOCAL_ROUTING_CLIENT}
518    )
519endif()
520##############################################################################
521# restart_routing-test
522##############################################################################
523
524if(NOT ${TESTS_BAT})
525    set(TEST_RESTART_ROUTING_NAME restart_routing_test)
526
527    set(TEST_RESTART_ROUTING_SERVICE restart_routing_test_service)
528    add_executable(${TEST_RESTART_ROUTING_SERVICE} restart_routing_tests/${TEST_RESTART_ROUTING_SERVICE}.cpp)
529    target_link_libraries(${TEST_RESTART_ROUTING_SERVICE}
530        vsomeip3
531        ${Boost_LIBRARIES}
532        ${DL_LIBRARY}
533        ${TEST_LINK_LIBRARIES}
534    )
535
536    # Copy config file for service into $BUILDDIR/test
537    set(TEST_RESTART_ROUTING_SERVICE_CONFIG_FILE ${TEST_RESTART_ROUTING_SERVICE}.json)
538    copy_to_builddir(
539        ${PROJECT_SOURCE_DIR}/test/restart_routing_tests/${TEST_RESTART_ROUTING_SERVICE_CONFIG_FILE}
540        ${PROJECT_BINARY_DIR}/test/${TEST_RESTART_ROUTING_SERVICE_CONFIG_FILE}
541        ${TEST_RESTART_ROUTING_SERVICE}
542    )
543
544    # Copy bashscript to start service into $BUILDDIR/test
545    set(TEST_RESTART_ROUTING_SERVICE_START_SCRIPT ${TEST_RESTART_ROUTING_SERVICE}_start.sh)
546    copy_to_builddir(
547        ${PROJECT_SOURCE_DIR}/test/restart_routing_tests/${TEST_RESTART_ROUTING_SERVICE_START_SCRIPT}
548        ${PROJECT_BINARY_DIR}/test/${TEST_RESTART_ROUTING_SERVICE_START_SCRIPT}
549        ${TEST_RESTART_ROUTING_SERVICE}
550    )
551
552    set(TEST_RESTART_ROUTING_CLIENT restart_routing_test_client)
553    add_executable(${TEST_RESTART_ROUTING_CLIENT}
554        restart_routing_tests/${TEST_RESTART_ROUTING_CLIENT}.cpp
555    )
556    target_link_libraries(${TEST_RESTART_ROUTING_CLIENT}
557        vsomeip3
558        ${Boost_LIBRARIES}
559        ${DL_LIBRARY}
560        ${TEST_LINK_LIBRARIES}
561    )
562
563    # Copy config file for client into $BUILDDIR/test
564    set(TEST_RESTART_ROUTING_CLIENT_CONFIG_FILE ${TEST_RESTART_ROUTING_CLIENT}.json)
565    copy_to_builddir(
566        ${PROJECT_SOURCE_DIR}/test/restart_routing_tests/${TEST_RESTART_ROUTING_CLIENT_CONFIG_FILE}
567        ${PROJECT_BINARY_DIR}/test/${TEST_RESTART_ROUTING_CLIENT_CONFIG_FILE}
568        ${TEST_RESTART_ROUTING_CLIENT}
569    )
570
571    # Copy bashscript to start client into $BUILDDIR/test
572    set(TEST_RESTART_ROUTING_CLIENT_START_SCRIPT ${TEST_RESTART_ROUTING_CLIENT}_start.sh)
573    copy_to_builddir(
574        ${PROJECT_SOURCE_DIR}/test/restart_routing_tests/${TEST_RESTART_ROUTING_CLIENT_START_SCRIPT}
575        ${PROJECT_BINARY_DIR}/test/${TEST_RESTART_ROUTING_CLIENT_START_SCRIPT}
576        ${TEST_RESTART_ROUTING_CLIENT}
577    )
578
579    # Copy bashscript to start client and server $BUILDDIR/test
580    set(TEST_RESTART_ROUTING_STARTER restart_routing_test_starter.sh)
581    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/restart_routing_tests/${TEST_RESTART_ROUTING_STARTER}
582        ${PROJECT_BINARY_DIR}/test/${TEST_RESTART_ROUTING_STARTER}
583        ${TEST_RESTART_ROUTING_CLIENT}
584    )
585
586    # Copy config file for autoconfig into $BUILDDIR/test
587    set(TEST_RESTART_ROUTING_AUTO_CONFIG_FILE ${TEST_RESTART_ROUTING_NAME}_autoconfig.json)
588    copy_to_builddir(
589        ${PROJECT_SOURCE_DIR}/test/restart_routing_tests/${TEST_RESTART_ROUTING_AUTO_CONFIG_FILE}
590        ${PROJECT_BINARY_DIR}/test/${TEST_RESTART_ROUTING_AUTO_CONFIG_FILE}
591        ${TEST_RESTART_ROUTING_CLIENT}
592    )
593endif()
594
595##############################################################################
596# security test
597##############################################################################
598
599if (${TEST_SECURITY})
600    if(NOT ${TESTS_BAT})
601        set(TEST_SECURITY_NAME security_test)
602        set(TEST_SECURITY_SERVICE security_test_service)
603        set(TEST_SECURITY_CLIENT security_test_client)
604
605        add_executable(${TEST_SECURITY_SERVICE} security_tests/${TEST_SECURITY_SERVICE}.cpp)
606        target_link_libraries(${TEST_SECURITY_SERVICE}
607            vsomeip3
608            ${Boost_LIBRARIES}
609            ${DL_LIBRARY}
610            ${TEST_LINK_LIBRARIES}
611        )
612
613        # Copy config file for service into $BUILDDIR/test
614        set(TEST_SECURITY_LOCAL_CONFIG_FILE ${TEST_SECURITY_NAME}_local_config.json)
615        configure_file(
616            ${PROJECT_SOURCE_DIR}/test/security_tests/conf/${TEST_SECURITY_LOCAL_CONFIG_FILE}.in
617            ${PROJECT_SOURCE_DIR}/test/security_tests/${TEST_SECURITY_LOCAL_CONFIG_FILE}
618            @ONLY)
619        copy_to_builddir(
620            ${PROJECT_SOURCE_DIR}/test/security_tests/${TEST_SECURITY_LOCAL_CONFIG_FILE}
621            ${PROJECT_BINARY_DIR}/test/${TEST_SECURITY_LOCAL_CONFIG_FILE}
622            ${TEST_SECURITY_SERVICE}
623        )
624
625        # Copy service config file for external allow tests into $BUILDDIR/test
626        set(TEST_SECURITY_SERVICE_CONFIG_FILE_EXTERNAL ${TEST_SECURITY_NAME}_config_service_external_allow.json)
627        configure_file(
628            ${PROJECT_SOURCE_DIR}/test/security_tests/conf/${TEST_SECURITY_SERVICE_CONFIG_FILE_EXTERNAL}.in
629            ${PROJECT_SOURCE_DIR}/test/security_tests/${TEST_SECURITY_SERVICE_CONFIG_FILE_EXTERNAL}
630            @ONLY)
631        copy_to_builddir(
632            ${PROJECT_SOURCE_DIR}/test/security_tests/${TEST_SECURITY_SERVICE_CONFIG_FILE_EXTERNAL}
633            ${PROJECT_BINARY_DIR}/test/${TEST_SECURITY_SERVICE_CONFIG_FILE_EXTERNAL}
634            ${TEST_SECURITY_SERVICE}
635        )
636
637        # Copy client config file for external allow tests into $BUILDDIR/test
638        set(TEST_SECURITY_CLIENT_CONFIG_FILE_EXTERNAL ${TEST_SECURITY_NAME}_config_client_external_allow.json)
639        configure_file(
640            ${PROJECT_SOURCE_DIR}/test/security_tests/conf/${TEST_SECURITY_CLIENT_CONFIG_FILE_EXTERNAL}.in
641            ${PROJECT_SOURCE_DIR}/test/security_tests/${TEST_SECURITY_CLIENT_CONFIG_FILE_EXTERNAL}
642            @ONLY)
643        copy_to_builddir(
644            ${PROJECT_SOURCE_DIR}/test/security_tests/${TEST_SECURITY_CLIENT_CONFIG_FILE_EXTERNAL}
645            ${PROJECT_BINARY_DIR}/test/${TEST_SECURITY_CLIENT_CONFIG_FILE_EXTERNAL}
646            ${TEST_SECURITY_SERVICE}
647        )
648
649        # Copy service config file for external deny tests into $BUILDDIR/test
650        set(TEST_SECURITY_SERVICE_CONFIG_FILE_EXTERNAL_DENY ${TEST_SECURITY_NAME}_config_service_external_deny.json)
651        configure_file(
652            ${PROJECT_SOURCE_DIR}/test/security_tests/conf/${TEST_SECURITY_SERVICE_CONFIG_FILE_EXTERNAL_DENY}.in
653            ${PROJECT_SOURCE_DIR}/test/security_tests/${TEST_SECURITY_SERVICE_CONFIG_FILE_EXTERNAL_DENY}
654            @ONLY)
655        copy_to_builddir(
656            ${PROJECT_SOURCE_DIR}/test/security_tests/${TEST_SECURITY_SERVICE_CONFIG_FILE_EXTERNAL_DENY}
657            ${PROJECT_BINARY_DIR}/test/${TEST_SECURITY_SERVICE_CONFIG_FILE_EXTERNAL_DENY}
658            ${TEST_SECURITY_SERVICE}
659        )
660
661        # Copy client config file for external deny tests into $BUILDDIR/test
662        set(TEST_SECURITY_CLIENT_CONFIG_FILE_EXTERNAL_DENY ${TEST_SECURITY_NAME}_config_client_external_deny.json)
663        configure_file(
664            ${PROJECT_SOURCE_DIR}/test/security_tests/conf/${TEST_SECURITY_CLIENT_CONFIG_FILE_EXTERNAL_DENY}.in
665            ${PROJECT_SOURCE_DIR}/test/security_tests/${TEST_SECURITY_CLIENT_CONFIG_FILE_EXTERNAL_DENY}
666            @ONLY)
667        copy_to_builddir(
668            ${PROJECT_SOURCE_DIR}/test/security_tests/${TEST_SECURITY_CLIENT_CONFIG_FILE_EXTERNAL_DENY}
669            ${PROJECT_BINARY_DIR}/test/${TEST_SECURITY_CLIENT_CONFIG_FILE_EXTERNAL_DENY}
670            ${TEST_SECURITY_SERVICE}
671        )
672
673        # Copy bashscript to start local test into $BUILDDIR/test
674        set(TEST_SECURITY_SERVICE_LOCAL_START_SCRIPT ${TEST_SECURITY_NAME}_local_start.sh)
675        copy_to_builddir(
676            ${PROJECT_SOURCE_DIR}/test/security_tests/${TEST_SECURITY_SERVICE_LOCAL_START_SCRIPT}
677            ${PROJECT_BINARY_DIR}/test/${TEST_SECURITY_SERVICE_LOCAL_START_SCRIPT}
678            ${TEST_SECURITY_SERVICE}
679        )
680
681        # Copy bashscript to start external tests (master) into $BUILDDIR/test
682        set(TEST_SECURITY_EXTERNAL_MASTER_START_SCRIPT ${TEST_SECURITY_NAME}_external_master_start.sh)
683        copy_to_builddir(
684            ${PROJECT_SOURCE_DIR}/test/security_tests/${TEST_SECURITY_EXTERNAL_MASTER_START_SCRIPT}
685            ${PROJECT_BINARY_DIR}/test/${TEST_SECURITY_EXTERNAL_MASTER_START_SCRIPT}
686            ${TEST_SECURITY_SERVICE}
687        )
688
689        # Copy bashscript to start external tests (slave) into $BUILDDIR/test
690        set(TEST_SECURITY_EXTERNAL_SLAVE_START_SCRIPT ${TEST_SECURITY_NAME}_external_slave_start.sh)
691        copy_to_builddir(
692            ${PROJECT_SOURCE_DIR}/test/security_tests/${TEST_SECURITY_EXTERNAL_SLAVE_START_SCRIPT}
693            ${PROJECT_BINARY_DIR}/test/${TEST_SECURITY_EXTERNAL_SLAVE_START_SCRIPT}
694            ${TEST_SECURITY_SERVICE}
695        )
696
697        add_executable(${TEST_SECURITY_CLIENT}
698            security_tests/${TEST_SECURITY_CLIENT}.cpp
699        )
700        target_link_libraries(${TEST_SECURITY_CLIENT}
701            vsomeip3
702            ${Boost_LIBRARIES}
703            ${DL_LIBRARY}
704            ${TEST_LINK_LIBRARIES}
705        )
706    endif()
707endif()
708
709##############################################################################
710# payload-test
711##############################################################################
712
713if(NOT ${TESTS_BAT})
714    set(TEST_LOCAL_PAYLOAD_NAME local_payload_test)
715
716    set(TEST_PAYLOAD_SERVICE payload_test_service)
717    add_executable(${TEST_PAYLOAD_SERVICE} payload_tests/${TEST_PAYLOAD_SERVICE}.cpp)
718    target_link_libraries(${TEST_PAYLOAD_SERVICE}
719        vsomeip3
720        ${Boost_LIBRARIES}
721        ${DL_LIBRARY}
722        ${TEST_LINK_LIBRARIES}
723    )
724
725    # Copy config file for service into $BUILDDIR/test
726    set(TEST_LOCAL_PAYLOAD_SERVICE_CONFIG_FILE local_${TEST_PAYLOAD_SERVICE}.json)
727    copy_to_builddir(
728        ${PROJECT_SOURCE_DIR}/test/payload_tests/${TEST_LOCAL_PAYLOAD_SERVICE_CONFIG_FILE}
729        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_PAYLOAD_SERVICE_CONFIG_FILE}
730        ${TEST_PAYLOAD_SERVICE}
731    )
732
733    # Copy bashscript to start service into $BUILDDIR/test
734    set(TEST_LOCAL_PAYLOAD_SERVICE_START_SCRIPT local_${TEST_PAYLOAD_SERVICE}_start.sh)
735    copy_to_builddir(
736        ${PROJECT_SOURCE_DIR}/test/payload_tests/${TEST_LOCAL_PAYLOAD_SERVICE_START_SCRIPT}
737        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_PAYLOAD_SERVICE_START_SCRIPT}
738        ${TEST_PAYLOAD_SERVICE}
739    )
740
741    set(TEST_PAYLOAD_CLIENT payload_test_client)
742    add_executable(${TEST_PAYLOAD_CLIENT}
743        payload_tests/${TEST_PAYLOAD_CLIENT}.cpp
744        payload_tests/stopwatch.cpp
745    )
746    target_link_libraries(${TEST_PAYLOAD_CLIENT}
747        vsomeip3
748        ${Boost_LIBRARIES}
749        ${DL_LIBRARY}
750        ${TEST_LINK_LIBRARIES}
751    )
752
753    # Copy config file for client into $BUILDDIR/test
754    set(TEST_LOCAL_PAYLOAD_CLIENT_CONFIG_FILE local_${TEST_PAYLOAD_CLIENT}.json)
755    copy_to_builddir(
756        ${PROJECT_SOURCE_DIR}/test/payload_tests/${TEST_LOCAL_PAYLOAD_CLIENT_CONFIG_FILE}
757        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_PAYLOAD_CLIENT_CONFIG_FILE}
758        ${TEST_PAYLOAD_CLIENT}
759    )
760
761    # Copy bashscript to start client into $BUILDDIR/test
762    set(TEST_LOCAL_PAYLOAD_CLIENT_START_SCRIPT local_${TEST_PAYLOAD_CLIENT}_start.sh)
763    copy_to_builddir(
764        ${PROJECT_SOURCE_DIR}/test/payload_tests/${TEST_LOCAL_PAYLOAD_CLIENT_START_SCRIPT}
765        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_PAYLOAD_CLIENT_START_SCRIPT}
766        ${TEST_PAYLOAD_CLIENT}
767    )
768
769    # Copy bashscript to start client and server $BUILDDIR/test
770    set(TEST_LOCAL_PAYLOAD_STARTER local_payload_test_starter.sh)
771    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/payload_tests/${TEST_LOCAL_PAYLOAD_STARTER}
772        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_PAYLOAD_STARTER}
773        ${TEST_PAYLOAD_CLIENT}
774    )
775
776    ##############################################################################
777    set(TEST_EXTERNAL_LOCAL_PAYLOAD_NAME external_local_payload_test)
778    set(TEST_EXTERNAL_LOCAL_PAYLOAD_SERVICE external_local_payload_test_service)
779
780    # Copy config file for service into $BUILDDIR/test
781    set(TEST_EXTERNAL_LOCAL_PAYLOAD_SERVICE_CONFIG_FILE ${TEST_EXTERNAL_LOCAL_PAYLOAD_SERVICE}.json)
782    configure_file(
783        ${PROJECT_SOURCE_DIR}/test/payload_tests/conf/${TEST_EXTERNAL_LOCAL_PAYLOAD_SERVICE_CONFIG_FILE}.in
784        ${PROJECT_SOURCE_DIR}/test/payload_tests/${TEST_EXTERNAL_LOCAL_PAYLOAD_SERVICE_CONFIG_FILE}
785        @ONLY)
786    copy_to_builddir(
787        ${PROJECT_SOURCE_DIR}/test/payload_tests/${TEST_EXTERNAL_LOCAL_PAYLOAD_SERVICE_CONFIG_FILE}
788        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_LOCAL_PAYLOAD_SERVICE_CONFIG_FILE}
789        ${TEST_PAYLOAD_SERVICE}
790    )
791
792    # Copy bashscript to start service into $BUILDDIR/test
793    set(TEST_EXTERNAL_LOCAL_PAYLOAD_SERVICE_START_SCRIPT ${TEST_EXTERNAL_LOCAL_PAYLOAD_SERVICE}_start.sh)
794    copy_to_builddir(
795        ${PROJECT_SOURCE_DIR}/test/payload_tests/${TEST_EXTERNAL_LOCAL_PAYLOAD_SERVICE_START_SCRIPT}
796        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_LOCAL_PAYLOAD_SERVICE_START_SCRIPT}
797        ${TEST_PAYLOAD_SERVICE}
798    )
799
800    set(TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_LOCAL external_local_payload_test_client_local)
801
802    # Copy config file for client into $BUILDDIR/test
803    set(TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_CONFIG_FILE ${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_LOCAL}.json)
804    configure_file(
805        ${PROJECT_SOURCE_DIR}/test/payload_tests/conf/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_CONFIG_FILE}.in
806        ${PROJECT_SOURCE_DIR}/test/payload_tests/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_CONFIG_FILE}
807        @ONLY)
808    copy_to_builddir(
809        ${PROJECT_SOURCE_DIR}/test/payload_tests/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_CONFIG_FILE}
810        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_CONFIG_FILE}
811        ${TEST_PAYLOAD_CLIENT}
812    )
813
814    # Copy bashscript to start client into $BUILDDIR/test
815    set(TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_LOCAL_START_SCRIPT ${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_LOCAL}_start.sh)
816    copy_to_builddir(
817        ${PROJECT_SOURCE_DIR}/test/payload_tests/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_LOCAL_START_SCRIPT}
818        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_LOCAL_START_SCRIPT}
819        ${TEST_PAYLOAD_CLIENT}
820    )
821
822    # Copy bashscript to start client and server $BUILDDIR/test
823    set(TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_LOCAL_NAME external_local_payload_test_client_local)
824    set(TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_LOCAL_STARTER ${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_LOCAL_NAME}_starter.sh)
825    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/payload_tests/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_LOCAL_STARTER}
826        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_LOCAL_STARTER}
827        ${TEST_PAYLOAD_CLIENT}
828    )
829    ##############################################################################
830    set(TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_EXTERNAL_NAME external_local_payload_test_client_external)
831    set(TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_EXTERNAL external_local_payload_test_client_external)
832
833    # Copy config file for client into $BUILDDIR/test
834    set(TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_EXTERNAL_CONFIG_FILE ${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_EXTERNAL}.json)
835    configure_file(
836        ${PROJECT_SOURCE_DIR}/test/payload_tests/conf/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_EXTERNAL_CONFIG_FILE}.in
837        ${PROJECT_SOURCE_DIR}/test/payload_tests/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_EXTERNAL_CONFIG_FILE}
838        @ONLY)
839    copy_to_builddir(
840        ${PROJECT_SOURCE_DIR}/test/payload_tests/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_EXTERNAL_CONFIG_FILE}
841        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_EXTERNAL_CONFIG_FILE}
842        ${TEST_PAYLOAD_CLIENT}
843    )
844
845    # Copy bashscript to start client into $BUILDDIR/test
846    set(TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_EXTERNAL_START_SCRIPT ${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_EXTERNAL}_start.sh)
847    copy_to_builddir(
848        ${PROJECT_SOURCE_DIR}/test/payload_tests/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_EXTERNAL_START_SCRIPT}
849        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_EXTERNAL_START_SCRIPT}
850        ${TEST_PAYLOAD_CLIENT}
851    )
852
853    set(TEST_EXTERNAL_LOCAL_PAYLOAD_SERVICE_CLIENT_EXTERNAL external_local_payload_test_service_client_external)
854
855    # Copy bashscript to start service into $BUILDDIR/test
856    set(TEST_EXTERNAL_LOCAL_PAYLOAD_SERVICE_CLIENTT_EXTERNAL_START_SCRIPT ${TEST_EXTERNAL_LOCAL_PAYLOAD_SERVICE_CLIENT_EXTERNAL}_start.sh)
857    copy_to_builddir(
858        ${PROJECT_SOURCE_DIR}/test/payload_tests/${TEST_EXTERNAL_LOCAL_PAYLOAD_SERVICE_CLIENTT_EXTERNAL_START_SCRIPT}
859        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_LOCAL_PAYLOAD_SERVICE_CLIENTT_EXTERNAL_START_SCRIPT}
860        ${TEST_PAYLOAD_SERVICE}
861    )
862
863    # Copy bashscript to start client and server $BUILDDIR/test
864    set(TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_EXTERNAL_STARTER ${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_EXTERNAL_NAME}_starter.sh)
865    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/payload_tests/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_EXTERNAL_STARTER}
866        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_EXTERNAL_STARTER}
867        ${TEST_PAYLOAD_CLIENT}
868    )
869
870    ##############################################################################
871    # Copy bashscript to start client and server $BUILDDIR/test
872    set(TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_LOCAL_AND_EXTERNAL_NAME external_local_payload_test_client_local_and_external)
873    set(TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_LOCAL_AND_EXTERNAL_STARTER ${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_LOCAL_AND_EXTERNAL_NAME}_starter.sh)
874    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/payload_tests/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_LOCAL_AND_EXTERNAL_STARTER}
875        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_LOCAL_AND_EXTERNAL_STARTER}
876        ${TEST_PAYLOAD_CLIENT}
877    )
878
879    ##############################################################################
880    set(TEST_LOCAL_PAYLOAD_HUGE_NAME local_payload_test_huge_payload)
881    # Copy bashscript to start client and server $BUILDDIR/test
882    set(TEST_LOCAL_PAYLOAD_HUGE_STARTER ${TEST_LOCAL_PAYLOAD_HUGE_NAME}_starter.sh)
883    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/payload_tests/${TEST_LOCAL_PAYLOAD_HUGE_STARTER}
884        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_PAYLOAD_HUGE_STARTER}
885        ${TEST_PAYLOAD_CLIENT}
886    )
887endif()
888
889##############################################################################
890# big_payload_test
891##############################################################################
892if(NOT ${TESTS_BAT})
893    set(TEST_BIG_PAYLOAD_NAME big_payload_test)
894
895    set(TEST_BIG_PAYLOAD_SERVICE big_payload_test_service)
896    add_executable(${TEST_BIG_PAYLOAD_SERVICE} big_payload_tests/${TEST_BIG_PAYLOAD_SERVICE}.cpp)
897    target_link_libraries(${TEST_BIG_PAYLOAD_SERVICE}
898        vsomeip3
899        ${Boost_LIBRARIES}
900        ${DL_LIBRARY}
901        ${TEST_LINK_LIBRARIES}
902    )
903
904    set(TEST_BIG_PAYLOAD_CLIENT big_payload_test_client)
905    add_executable(${TEST_BIG_PAYLOAD_CLIENT} big_payload_tests/${TEST_BIG_PAYLOAD_CLIENT}.cpp)
906    target_link_libraries(${TEST_BIG_PAYLOAD_CLIENT}
907        vsomeip3
908        ${Boost_LIBRARIES}
909        ${DL_LIBRARY}
910        ${TEST_LINK_LIBRARIES}
911    )
912
913    # Copy config file for client and service into $BUILDDIR/test
914    set(TEST_LOCAL_BIG_PAYLOAD_CONFIG_FILE ${TEST_BIG_PAYLOAD_NAME}_local.json)
915    copy_to_builddir(
916        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_LOCAL_BIG_PAYLOAD_CONFIG_FILE}
917        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_BIG_PAYLOAD_CONFIG_FILE}
918        ${TEST_BIG_PAYLOAD_SERVICE}
919    )
920
921    # Copy config file for client and service into $BUILDDIR/test
922    set(TEST_QUEUE_LIMITED_LOCAL_BIG_PAYLOAD_CONFIG_FILE ${TEST_BIG_PAYLOAD_NAME}_local_queue_limited.json)
923    copy_to_builddir(
924        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_QUEUE_LIMITED_LOCAL_BIG_PAYLOAD_CONFIG_FILE}
925        ${PROJECT_BINARY_DIR}/test/${TEST_QUEUE_LIMITED_LOCAL_BIG_PAYLOAD_CONFIG_FILE}
926        ${TEST_BIG_PAYLOAD_SERVICE}
927    )
928
929    # Copy config file for client and service into $BUILDDIR/test
930    set(TEST_LOCAL_BIG_PAYLOAD_CONFIG_FILE_RANDOM ${TEST_BIG_PAYLOAD_NAME}_local_random.json)
931    copy_to_builddir(
932        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_LOCAL_BIG_PAYLOAD_CONFIG_FILE_RANDOM}
933        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_BIG_PAYLOAD_CONFIG_FILE_RANDOM}
934        ${TEST_BIG_PAYLOAD_SERVICE}
935    )
936
937    # Copy config file for client and service into $BUILDDIR/test
938    set(TEST_LOCAL_BIG_PAYLOAD_CONFIG_FILE_LIMITED ${TEST_BIG_PAYLOAD_NAME}_local_limited.json)
939    copy_to_builddir(
940        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_LOCAL_BIG_PAYLOAD_CONFIG_FILE_LIMITED}
941        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_BIG_PAYLOAD_CONFIG_FILE_LIMITED}
942        ${TEST_BIG_PAYLOAD_SERVICE}
943    )
944
945    # Copy config file for client and service into $BUILDDIR/test
946    set(TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE ${TEST_BIG_PAYLOAD_NAME}_tcp_client.json)
947    configure_file(
948        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/conf/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE}.in
949        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE}
950        @ONLY)
951    copy_to_builddir(
952        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE}
953        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE}
954        ${TEST_BIG_PAYLOAD_CLIENT}
955    )
956
957    # Copy config file for client and service into $BUILDDIR/test
958    set(TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE ${TEST_BIG_PAYLOAD_NAME}_tcp_service.json)
959    configure_file(
960        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/conf/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE}.in
961        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE}
962        @ONLY)
963    copy_to_builddir(
964        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE}
965        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE}
966        ${TEST_BIG_PAYLOAD_SERVICE}
967    )
968
969    # Copy config file for client and service into $BUILDDIR/test
970    set(TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE_LIMITED ${TEST_BIG_PAYLOAD_NAME}_tcp_client_limited_general.json)
971    configure_file(
972        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/conf/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE_LIMITED}.in
973        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE_LIMITED}
974        @ONLY)
975    copy_to_builddir(
976        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE_LIMITED}
977        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE_LIMITED}
978        ${TEST_BIG_PAYLOAD_CLIENT}
979    )
980
981    # Copy config file for client and service into $BUILDDIR/test
982    set(TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE_LIMITED ${TEST_BIG_PAYLOAD_NAME}_tcp_service_limited_general.json)
983    configure_file(
984        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/conf/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE_LIMITED}.in
985        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE_LIMITED}
986        @ONLY)
987    copy_to_builddir(
988        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE_LIMITED}
989        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE_LIMITED}
990        ${TEST_BIG_PAYLOAD_SERVICE}
991    )
992
993    # Copy config file for client and service into $BUILDDIR/test
994    set(TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE_RANDOM ${TEST_BIG_PAYLOAD_NAME}_tcp_client_random.json)
995    configure_file(
996        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/conf/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE_RANDOM}.in
997        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE_RANDOM}
998        @ONLY)
999    copy_to_builddir(
1000        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE_RANDOM}
1001        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE_RANDOM}
1002        ${TEST_BIG_PAYLOAD_CLIENT}
1003    )
1004
1005    # Copy config file for client and service into $BUILDDIR/test
1006    set(TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE_RANDOM ${TEST_BIG_PAYLOAD_NAME}_tcp_service_random.json)
1007    configure_file(
1008        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/conf/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE_RANDOM}.in
1009        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE_RANDOM}
1010        @ONLY)
1011    copy_to_builddir(
1012        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE_RANDOM}
1013        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE_RANDOM}
1014        ${TEST_BIG_PAYLOAD_SERVICE}
1015    )
1016
1017    # Copy config file for client and service into $BUILDDIR/test
1018    set(TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE_QUEUE_LIMITED_GENERAL ${TEST_BIG_PAYLOAD_NAME}_tcp_client_queue_limited_general.json)
1019    configure_file(
1020        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/conf/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE_QUEUE_LIMITED_GENERAL}.in
1021        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE_QUEUE_LIMITED_GENERAL}
1022        @ONLY)
1023    copy_to_builddir(
1024        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE_QUEUE_LIMITED_GENERAL}
1025        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE_QUEUE_LIMITED_GENERAL}
1026        ${TEST_BIG_PAYLOAD_CLIENT}
1027    )
1028
1029    # Copy config file for client and service into $BUILDDIR/test
1030    set(TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE_QUEUE_LIMITED_GENERAL ${TEST_BIG_PAYLOAD_NAME}_tcp_service_queue_limited_general.json)
1031    configure_file(
1032        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/conf/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE_QUEUE_LIMITED_GENERAL}.in
1033        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE_QUEUE_LIMITED_GENERAL}
1034        @ONLY)
1035    copy_to_builddir(
1036        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE_QUEUE_LIMITED_GENERAL}
1037        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE_QUEUE_LIMITED_GENERAL}
1038        ${TEST_BIG_PAYLOAD_SERVICE}
1039    )
1040
1041    # Copy config file for client and service into $BUILDDIR/test
1042    set(TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE_QUEUE_LIMITED_SPECIFIC ${TEST_BIG_PAYLOAD_NAME}_tcp_client_queue_limited_specific.json)
1043    configure_file(
1044        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/conf/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE_QUEUE_LIMITED_SPECIFIC}.in
1045        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE_QUEUE_LIMITED_SPECIFIC}
1046        @ONLY)
1047    copy_to_builddir(
1048        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE_QUEUE_LIMITED_SPECIFIC}
1049        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_CONFIG_FILE_QUEUE_LIMITED_SPECIFIC}
1050        ${TEST_BIG_PAYLOAD_CLIENT}
1051    )
1052
1053    # Copy config file for client and service into $BUILDDIR/test
1054    set(TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE_QUEUE_LIMITED_SPECIFIC ${TEST_BIG_PAYLOAD_NAME}_tcp_service_queue_limited_specific.json)
1055    configure_file(
1056        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/conf/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE_QUEUE_LIMITED_SPECIFIC}.in
1057        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE_QUEUE_LIMITED_SPECIFIC}
1058        @ONLY)
1059    copy_to_builddir(
1060        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE_QUEUE_LIMITED_SPECIFIC}
1061        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_CONFIG_FILE_QUEUE_LIMITED_SPECIFIC}
1062        ${TEST_BIG_PAYLOAD_SERVICE}
1063    )
1064    # Copy config file for UDP client and service into $BUILDDIR/test
1065    set(TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_UDP_CONFIG_FILE ${TEST_BIG_PAYLOAD_NAME}_udp_service.json)
1066    configure_file(
1067        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/conf/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_UDP_CONFIG_FILE}.in
1068        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_UDP_CONFIG_FILE}
1069        @ONLY)
1070    copy_to_builddir(
1071        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_UDP_CONFIG_FILE}
1072        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_UDP_CONFIG_FILE}
1073        ${TEST_BIG_PAYLOAD_SERVICE}
1074    )
1075    set(TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_UDP_CONFIG_FILE ${TEST_BIG_PAYLOAD_NAME}_udp_client.json)
1076    configure_file(
1077        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/conf/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_UDP_CONFIG_FILE}.in
1078        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_UDP_CONFIG_FILE}
1079        @ONLY)
1080    copy_to_builddir(
1081        ${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_UDP_CONFIG_FILE}
1082        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_UDP_CONFIG_FILE}
1083        ${TEST_BIG_PAYLOAD_CLIENT}
1084    )
1085
1086    # Copy bashscript to start client local to $BUILDDIR/test
1087    set(TEST_LOCAL_BIG_PAYLOAD_CLIENT_START_SCRIPT ${TEST_BIG_PAYLOAD_NAME}_client_local_start.sh)
1088    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_LOCAL_BIG_PAYLOAD_CLIENT_START_SCRIPT}
1089        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_BIG_PAYLOAD_CLIENT_START_SCRIPT}
1090        ${TEST_BIG_PAYLOAD_CLIENT}
1091    )
1092
1093    # Copy bashscript to start service local to $BUILDDIR/test
1094    set(TEST_LOCAL_BIG_PAYLOAD_SERVICE_START_SCRIPT ${TEST_BIG_PAYLOAD_NAME}_service_local_start.sh)
1095    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_LOCAL_BIG_PAYLOAD_SERVICE_START_SCRIPT}
1096        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_BIG_PAYLOAD_SERVICE_START_SCRIPT}
1097        ${TEST_BIG_PAYLOAD_SERVICE}
1098    )
1099
1100    # Copy bashscript to start client and server $BUILDDIR/test
1101    set(TEST_LOCAL_BIG_PAYLOAD_NAME big_payload_test_local)
1102    set(TEST_LOCAL_BIG_PAYLOAD_NAME_RANDOM big_payload_test_local_random)
1103    set(TEST_LOCAL_BIG_PAYLOAD_NAME_LIMITED big_payload_test_local_limited)
1104    set(TEST_LOCAL_BIG_PAYLOAD_NAME_QUEUE_LIMITED big_payload_test_local_queue_limited)
1105    set(TEST_LOCAL_BIG_PAYLOAD_STARTER ${TEST_LOCAL_BIG_PAYLOAD_NAME}_starter.sh)
1106    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_LOCAL_BIG_PAYLOAD_STARTER}
1107        ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_BIG_PAYLOAD_STARTER}
1108        ${TEST_BIG_PAYLOAD_SERVICE}
1109    )
1110
1111    # Copy bashscript to start client for external test into $BUILDDIR/test
1112    set(TEST_EXTERNAL_BIG_PAYLOAD_NAME big_payload_test_external)
1113    set(TEST_EXTERNAL_BIG_PAYLOAD_NAME_RANDOM big_payload_test_external_random)
1114    set(TEST_EXTERNAL_BIG_PAYLOAD_NAME_LIMITED big_payload_test_external_limited)
1115    set(TEST_EXTERNAL_BIG_PAYLOAD_NAME_LIMITED_GENERAL big_payload_test_external_limited_general)
1116    set(TEST_EXTERNAL_BIG_PAYLOAD_NAME_QUEUE_LIMITED_GENERAL big_payload_test_external_queue_limited_general)
1117    set(TEST_EXTERNAL_BIG_PAYLOAD_NAME_QUEUE_LIMITED_SPECIFIC big_payload_test_external_queue_limited_specific)
1118    set(TEST_EXTERNAL_BIG_PAYLOAD_NAME_UDP big_payload_test_external_udp)
1119    set(TEST_EXTERNAL_BIG_PAYLOAD_STARTER ${TEST_EXTERNAL_BIG_PAYLOAD_NAME}_starter.sh)
1120    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_STARTER}
1121        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_STARTER}
1122        ${TEST_BIG_PAYLOAD_SERVICE}
1123    )
1124
1125    # Copy bashscript to start server for external into $BUILDDIR/test
1126    set(TEST_EXTERNAL_BIG_PAYLOAD_NAME big_payload_test_external)
1127    set(TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_START_SCRIPT ${TEST_BIG_PAYLOAD_NAME}_service_external_start.sh)
1128    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_START_SCRIPT}
1129        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_SERVICE_START_SCRIPT}
1130        ${TEST_BIG_PAYLOAD_SERVICE}
1131    )
1132
1133    # Copy bashscript to start client for external test into $BUILDDIR/test
1134    set(TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_START_SCRIPT ${TEST_BIG_PAYLOAD_NAME}_client_start.sh)
1135    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/big_payload_tests/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_START_SCRIPT}
1136        ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_CLIENT_START_SCRIPT}
1137        ${TEST_BIG_PAYLOAD_CLIENT}
1138    )
1139endif()
1140
1141##############################################################################
1142# client id tests
1143##############################################################################
1144if(NOT ${TESTS_BAT})
1145    set(TEST_CLIENT_ID_NAME client_id_test)
1146    set(TEST_CLIENT_ID_SERVICE ${TEST_CLIENT_ID_NAME}_service)
1147    add_executable(${TEST_CLIENT_ID_SERVICE} client_id_tests/${TEST_CLIENT_ID_NAME}_service.cpp)
1148    target_link_libraries(${TEST_CLIENT_ID_SERVICE}
1149        vsomeip3
1150        ${Boost_LIBRARIES}
1151        ${DL_LIBRARY}
1152        ${TEST_LINK_LIBRARIES}
1153    )
1154
1155    set(TEST_CLIENT_ID_UTILITY ${TEST_CLIENT_ID_NAME}_utility)
1156    add_executable(${TEST_CLIENT_ID_UTILITY}
1157        client_id_tests/${TEST_CLIENT_ID_UTILITY}.cpp
1158        ${PROJECT_SOURCE_DIR}/implementation/utility/src/utility.cpp)
1159    target_link_libraries(${TEST_CLIENT_ID_UTILITY}
1160        vsomeip3
1161        vsomeip3-cfg
1162        ${Boost_LIBRARIES}
1163        ${DL_LIBRARY}
1164        ${TEST_LINK_LIBRARIES}
1165    )
1166
1167    # Copy config files for test into $BUILDDIR/test
1168    set(TEST_CLIENT_ID_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE
1169        ${TEST_CLIENT_ID_NAME}_diff_client_ids_diff_ports_master.json)
1170    configure_file(
1171        ${PROJECT_SOURCE_DIR}/test/client_id_tests/conf/${TEST_CLIENT_ID_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}.in
1172        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
1173        @ONLY)
1174    copy_to_builddir(
1175        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
1176        ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
1177        ${TEST_CLIENT_ID_SERVICE}
1178    )
1179
1180    set(TEST_CLIENT_ID_DIFF_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE
1181        ${TEST_CLIENT_ID_NAME}_diff_client_ids_diff_ports_slave.json)
1182    configure_file(
1183        ${PROJECT_SOURCE_DIR}/test/client_id_tests/conf/${TEST_CLIENT_ID_DIFF_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}.in
1184        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_DIFF_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
1185        @ONLY)
1186    copy_to_builddir(
1187        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_DIFF_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
1188        ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_DIFF_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
1189        ${TEST_CLIENT_ID_SERVICE}
1190    )
1191
1192    set(TEST_CLIENT_ID_DIFF_IDS_SAME_PORTS_MASTER_CONFIG_FILE
1193        ${TEST_CLIENT_ID_NAME}_diff_client_ids_same_ports_master.json)
1194    configure_file(
1195        ${PROJECT_SOURCE_DIR}/test/client_id_tests/conf/${TEST_CLIENT_ID_DIFF_IDS_SAME_PORTS_MASTER_CONFIG_FILE}.in
1196        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_DIFF_IDS_SAME_PORTS_MASTER_CONFIG_FILE}
1197        @ONLY)
1198    copy_to_builddir(
1199        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_DIFF_IDS_SAME_PORTS_MASTER_CONFIG_FILE}
1200        ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_DIFF_IDS_SAME_PORTS_MASTER_CONFIG_FILE}
1201        ${TEST_CLIENT_ID_SERVICE}
1202    )
1203
1204    set(TEST_CLIENT_ID_DIFF_IDS_SAME_PORTS_SLAVE_CONFIG_FILE
1205        ${TEST_CLIENT_ID_NAME}_diff_client_ids_same_ports_slave.json)
1206    configure_file(
1207        ${PROJECT_SOURCE_DIR}/test/client_id_tests/conf/${TEST_CLIENT_ID_DIFF_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}.in
1208        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_DIFF_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}
1209        @ONLY)
1210    copy_to_builddir(
1211        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_DIFF_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}
1212        ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_DIFF_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}
1213        ${TEST_CLIENT_ID_SERVICE}
1214    )
1215
1216    set(TEST_CLIENT_ID_DIFF_IDS_PARTIAL_SAME_PORTS_MASTER_CONFIG_FILE
1217        ${TEST_CLIENT_ID_NAME}_diff_client_ids_partial_same_ports_master.json)
1218    configure_file(
1219        ${PROJECT_SOURCE_DIR}/test/client_id_tests/conf/${TEST_CLIENT_ID_DIFF_IDS_PARTIAL_SAME_PORTS_MASTER_CONFIG_FILE}.in
1220        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_DIFF_IDS_PARTIAL_SAME_PORTS_MASTER_CONFIG_FILE}
1221        @ONLY)
1222    copy_to_builddir(
1223        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_DIFF_IDS_PARTIAL_SAME_PORTS_MASTER_CONFIG_FILE}
1224        ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_DIFF_IDS_PARTIAL_SAME_PORTS_MASTER_CONFIG_FILE}
1225        ${TEST_CLIENT_ID_SERVICE}
1226    )
1227
1228    set(TEST_CLIENT_ID_DIFF_IDS_PARTIAL_SAME_PORTS_SLAVE_CONFIG_FILE
1229        ${TEST_CLIENT_ID_NAME}_diff_client_ids_partial_same_ports_slave.json)
1230    configure_file(
1231        ${PROJECT_SOURCE_DIR}/test/client_id_tests/conf/${TEST_CLIENT_ID_DIFF_IDS_PARTIAL_SAME_PORTS_SLAVE_CONFIG_FILE}.in
1232        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_DIFF_IDS_PARTIAL_SAME_PORTS_SLAVE_CONFIG_FILE}
1233        @ONLY)
1234    copy_to_builddir(
1235        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_DIFF_IDS_PARTIAL_SAME_PORTS_SLAVE_CONFIG_FILE}
1236        ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_DIFF_IDS_PARTIAL_SAME_PORTS_SLAVE_CONFIG_FILE}
1237        ${TEST_CLIENT_ID_SERVICE}
1238    )
1239
1240    set(TEST_CLIENT_ID_SAME_IDS_SAME_PORTS_MASTER_CONFIG_FILE
1241        ${TEST_CLIENT_ID_NAME}_same_client_ids_same_ports_master.json)
1242    configure_file(
1243        ${PROJECT_SOURCE_DIR}/test/client_id_tests/conf/${TEST_CLIENT_ID_SAME_IDS_SAME_PORTS_MASTER_CONFIG_FILE}.in
1244        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_SAME_IDS_SAME_PORTS_MASTER_CONFIG_FILE}
1245        @ONLY)
1246    copy_to_builddir(
1247        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_SAME_IDS_SAME_PORTS_MASTER_CONFIG_FILE}
1248        ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_SAME_IDS_SAME_PORTS_MASTER_CONFIG_FILE}
1249        ${TEST_CLIENT_ID_SERVICE}
1250    )
1251
1252    set(TEST_CLIENT_ID_SAME_IDS_SAME_PORTS_SLAVE_CONFIG_FILE
1253        ${TEST_CLIENT_ID_NAME}_same_client_ids_same_ports_slave.json)
1254    configure_file(
1255        ${PROJECT_SOURCE_DIR}/test/client_id_tests/conf/${TEST_CLIENT_ID_SAME_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}.in
1256        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_SAME_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}
1257        @ONLY)
1258    copy_to_builddir(
1259        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_SAME_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}
1260        ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_SAME_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}
1261        ${TEST_CLIENT_ID_SERVICE}
1262    )
1263
1264    set(TEST_CLIENT_ID_SAME_IDS_DIFF_PORTS_MASTER_CONFIG_FILE
1265        ${TEST_CLIENT_ID_NAME}_same_client_ids_diff_ports_master.json)
1266    configure_file(
1267        ${PROJECT_SOURCE_DIR}/test/client_id_tests/conf/${TEST_CLIENT_ID_SAME_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}.in
1268        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_SAME_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
1269        @ONLY)
1270    copy_to_builddir(
1271        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_SAME_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
1272        ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_SAME_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
1273        ${TEST_CLIENT_ID_SERVICE}
1274    )
1275
1276    set(TEST_CLIENT_ID_SAME_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE
1277        ${TEST_CLIENT_ID_NAME}_same_client_ids_diff_ports_slave.json)
1278    configure_file(
1279        ${PROJECT_SOURCE_DIR}/test/client_id_tests/conf/${TEST_CLIENT_ID_SAME_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}.in
1280        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_SAME_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
1281        @ONLY)
1282    copy_to_builddir(
1283        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_SAME_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
1284        ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_SAME_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
1285        ${TEST_CLIENT_ID_SERVICE}
1286    )
1287
1288    set(TEST_CLIENT_ID_UTILITY_CONFIG_FILE ${TEST_CLIENT_ID_NAME}_utility.json)
1289    copy_to_builddir(
1290        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_UTILITY_CONFIG_FILE}
1291        ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_UTILITY_CONFIG_FILE}
1292        ${TEST_CLIENT_ID_UTILITY}
1293    )
1294    set(TEST_CLIENT_ID_UTILITY_MASKED_511_CONFIG_FILE ${TEST_CLIENT_ID_NAME}_utility_masked_511.json)
1295    copy_to_builddir(
1296        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_UTILITY_MASKED_511_CONFIG_FILE}
1297        ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_UTILITY_MASKED_511_CONFIG_FILE}
1298        ${TEST_CLIENT_ID_UTILITY}
1299    )
1300
1301    set(TEST_CLIENT_ID_UTILITY_MASKED_4095_CONFIG_FILE ${TEST_CLIENT_ID_NAME}_utility_masked_4095.json)
1302    copy_to_builddir(
1303        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_UTILITY_MASKED_4095_CONFIG_FILE}
1304        ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_UTILITY_MASKED_4095_CONFIG_FILE}
1305        ${TEST_CLIENT_ID_UTILITY}
1306    )
1307
1308    set(TEST_CLIENT_ID_UTILITY_MASKED_127_CONFIG_FILE ${TEST_CLIENT_ID_NAME}_utility_masked_127.json)
1309    copy_to_builddir(
1310        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_UTILITY_MASKED_127_CONFIG_FILE}
1311        ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_UTILITY_MASKED_127_CONFIG_FILE}
1312        ${TEST_CLIENT_ID_UTILITY}
1313    )
1314
1315    set(TEST_CLIENT_ID_UTILITY_MASKED_DISCONTINUOUS_511_CONFIG_FILE ${TEST_CLIENT_ID_NAME}_utility_discontinuous_masked_511.json)
1316    copy_to_builddir(
1317        ${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_UTILITY_MASKED_DISCONTINUOUS_511_CONFIG_FILE}
1318        ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_UTILITY_MASKED_DISCONTINUOUS_511_CONFIG_FILE}
1319        ${TEST_CLIENT_ID_UTILITY}
1320    )
1321
1322    # copy starter scripts into builddir
1323    set(TEST_CLIENT_ID_MASTER_STARTER ${TEST_CLIENT_ID_NAME}_master_starter.sh)
1324    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_MASTER_STARTER}
1325        ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_MASTER_STARTER}
1326        ${TEST_CLIENT_ID_SERVICE}
1327    )
1328    set(TEST_CLIENT_ID_SLAVE_STARTER ${TEST_CLIENT_ID_NAME}_slave_starter.sh)
1329    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/client_id_tests/${TEST_CLIENT_ID_SLAVE_STARTER}
1330        ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_SLAVE_STARTER}
1331        ${TEST_CLIENT_ID_SERVICE}
1332    )
1333endif()
1334
1335##############################################################################
1336# subscribe notify tests
1337##############################################################################
1338if(NOT ${TESTS_BAT})
1339    set(TEST_SUBSCRIBE_NOTIFY_NAME subscribe_notify_test)
1340    set(TEST_SUBSCRIBE_NOTIFY_SERVICE ${TEST_SUBSCRIBE_NOTIFY_NAME}_service)
1341    add_executable(${TEST_SUBSCRIBE_NOTIFY_SERVICE} subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_NAME}_service.cpp)
1342    target_link_libraries(${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1343        vsomeip3
1344        ${Boost_LIBRARIES}
1345        ${DL_LIBRARY}
1346        ${TEST_LINK_LIBRARIES}
1347    )
1348
1349    # Copy config files for test into $BUILDDIR/test
1350    set(TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE
1351        ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_diff_ports_master.json)
1352    configure_file(
1353        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}.in
1354        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
1355        @ONLY)
1356    copy_to_builddir(
1357        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
1358        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
1359        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1360    )
1361
1362    set(TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE
1363        ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_diff_ports_slave.json)
1364    configure_file(
1365        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}.in
1366        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
1367        @ONLY)
1368    copy_to_builddir(
1369        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
1370        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
1371        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1372    )
1373
1374    set(TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE
1375        ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_diff_ports_master_tcp.json)
1376    configure_file(
1377        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE}.in
1378        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE}
1379        @ONLY)
1380    copy_to_builddir(
1381        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE}
1382        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE}
1383        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1384    )
1385
1386    set(TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SLAVE_TCP_CONFIG_FILE
1387        ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_diff_ports_slave_tcp.json)
1388    configure_file(
1389        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SLAVE_TCP_CONFIG_FILE}.in
1390        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SLAVE_TCP_CONFIG_FILE}
1391        @ONLY)
1392    copy_to_builddir(
1393        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SLAVE_TCP_CONFIG_FILE}
1394        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SLAVE_TCP_CONFIG_FILE}
1395        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1396    )
1397
1398    set(TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE
1399        ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_diff_ports_master_udp.json)
1400    configure_file(
1401        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE}.in
1402        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE}
1403        @ONLY)
1404    copy_to_builddir(
1405        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE}
1406        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE}
1407        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1408    )
1409
1410    set(TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SLAVE_UDP_CONFIG_FILE
1411        ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_diff_ports_slave_udp.json)
1412    configure_file(
1413        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SLAVE_UDP_CONFIG_FILE}.in
1414        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SLAVE_UDP_CONFIG_FILE}
1415        @ONLY)
1416    copy_to_builddir(
1417        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SLAVE_UDP_CONFIG_FILE}
1418        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SLAVE_UDP_CONFIG_FILE}
1419        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1420    )
1421
1422    set(TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_MASTER_CONFIG_FILE
1423        ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_same_ports_master.json)
1424    configure_file(
1425        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_MASTER_CONFIG_FILE}.in
1426        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_MASTER_CONFIG_FILE}
1427        @ONLY)
1428    copy_to_builddir(
1429        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_MASTER_CONFIG_FILE}
1430        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_MASTER_CONFIG_FILE}
1431        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1432    )
1433
1434    set(TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_SLAVE_CONFIG_FILE
1435        ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_same_ports_slave.json)
1436    configure_file(
1437        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}.in
1438        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}
1439        @ONLY)
1440    copy_to_builddir(
1441        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}
1442        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}
1443        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1444    )
1445
1446    set(TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_MASTER_TCP_CONFIG_FILE
1447        ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_same_ports_master_tcp.json)
1448    configure_file(
1449        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_MASTER_TCP_CONFIG_FILE}.in
1450        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_MASTER_TCP_CONFIG_FILE}
1451        @ONLY)
1452    copy_to_builddir(
1453        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_MASTER_TCP_CONFIG_FILE}
1454        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_MASTER_TCP_CONFIG_FILE}
1455        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1456    )
1457
1458    set(TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_SLAVE_TCP_CONFIG_FILE
1459        ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_same_ports_slave_tcp.json)
1460    configure_file(
1461        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_SLAVE_TCP_CONFIG_FILE}.in
1462        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_SLAVE_TCP_CONFIG_FILE}
1463        @ONLY)
1464    copy_to_builddir(
1465        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_SLAVE_TCP_CONFIG_FILE}
1466        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_SLAVE_TCP_CONFIG_FILE}
1467        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1468    )
1469
1470    set(TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_MASTER_UDP_CONFIG_FILE
1471        ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_same_ports_master_udp.json)
1472    configure_file(
1473        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_MASTER_UDP_CONFIG_FILE}.in
1474        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_MASTER_UDP_CONFIG_FILE}
1475        @ONLY)
1476    copy_to_builddir(
1477        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_MASTER_UDP_CONFIG_FILE}
1478        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_MASTER_UDP_CONFIG_FILE}
1479        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1480    )
1481
1482    set(TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_SLAVE_UDP_CONFIG_FILE
1483        ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_same_ports_slave_udp.json)
1484    configure_file(
1485        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_SLAVE_UDP_CONFIG_FILE}.in
1486        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_SLAVE_UDP_CONFIG_FILE}
1487        @ONLY)
1488    copy_to_builddir(
1489        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_SLAVE_UDP_CONFIG_FILE}
1490        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_SLAVE_UDP_CONFIG_FILE}
1491        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1492    )
1493
1494    set(TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_PARTIAL_SAME_PORTS_MASTER_CONFIG_FILE
1495        ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_partial_same_ports_master.json)
1496    configure_file(
1497        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_PARTIAL_SAME_PORTS_MASTER_CONFIG_FILE}.in
1498        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_PARTIAL_SAME_PORTS_MASTER_CONFIG_FILE}
1499        @ONLY)
1500    copy_to_builddir(
1501        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_PARTIAL_SAME_PORTS_MASTER_CONFIG_FILE}
1502        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_PARTIAL_SAME_PORTS_MASTER_CONFIG_FILE}
1503        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1504    )
1505
1506    set(TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_PARTIAL_SAME_PORTS_SLAVE_CONFIG_FILE
1507        ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_partial_same_ports_slave.json)
1508    configure_file(
1509        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_PARTIAL_SAME_PORTS_SLAVE_CONFIG_FILE}.in
1510        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_PARTIAL_SAME_PORTS_SLAVE_CONFIG_FILE}
1511        @ONLY)
1512    copy_to_builddir(
1513        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_PARTIAL_SAME_PORTS_SLAVE_CONFIG_FILE}
1514        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_PARTIAL_SAME_PORTS_SLAVE_CONFIG_FILE}
1515        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1516    )
1517
1518    set(TEST_SUBSCRIBE_NOTIFY_SAME_IDS_SAME_PORTS_MASTER_CONFIG_FILE
1519        ${TEST_SUBSCRIBE_NOTIFY_NAME}_same_client_ids_same_ports_master.json)
1520    configure_file(
1521        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_SAME_IDS_SAME_PORTS_MASTER_CONFIG_FILE}.in
1522        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_SAME_IDS_SAME_PORTS_MASTER_CONFIG_FILE}
1523        @ONLY)
1524    copy_to_builddir(
1525        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_SAME_IDS_SAME_PORTS_MASTER_CONFIG_FILE}
1526        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_SAME_IDS_SAME_PORTS_MASTER_CONFIG_FILE}
1527        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1528    )
1529
1530    set(TEST_SUBSCRIBE_NOTIFY_SAME_IDS_SAME_PORTS_SLAVE_CONFIG_FILE
1531        ${TEST_SUBSCRIBE_NOTIFY_NAME}_same_client_ids_same_ports_slave.json)
1532    configure_file(
1533        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_SAME_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}.in
1534        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_SAME_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}
1535        @ONLY)
1536    copy_to_builddir(
1537        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_SAME_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}
1538        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_SAME_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}
1539        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1540    )
1541
1542    set(TEST_SUBSCRIBE_NOTIFY_SAME_IDS_DIFF_PORTS_MASTER_CONFIG_FILE
1543        ${TEST_SUBSCRIBE_NOTIFY_NAME}_same_client_ids_diff_ports_master.json)
1544    configure_file(
1545        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_SAME_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}.in
1546        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_SAME_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
1547        @ONLY)
1548    copy_to_builddir(
1549        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_SAME_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
1550        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_SAME_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
1551        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1552    )
1553
1554    set(TEST_SUBSCRIBE_NOTIFY_SAME_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE
1555        ${TEST_SUBSCRIBE_NOTIFY_NAME}_same_client_ids_diff_ports_slave.json)
1556    configure_file(
1557        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_SAME_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}.in
1558        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_SAME_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
1559        @ONLY)
1560    copy_to_builddir(
1561        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_SAME_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
1562        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_SAME_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
1563        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1564    )
1565
1566    set(TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_MASTER_UDP_CONFIG_FILE
1567        ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_diff_ports_same_service_id_master_udp.json)
1568    configure_file(
1569        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_MASTER_UDP_CONFIG_FILE}.in
1570        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_MASTER_UDP_CONFIG_FILE}
1571        @ONLY)
1572    copy_to_builddir(
1573        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_MASTER_UDP_CONFIG_FILE}
1574        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_MASTER_UDP_CONFIG_FILE}
1575        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1576    )
1577
1578    set(TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_SLAVE_UDP_CONFIG_FILE
1579        ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_diff_ports_same_service_id_slave_udp.json)
1580    configure_file(
1581        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_SLAVE_UDP_CONFIG_FILE}.in
1582        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_SLAVE_UDP_CONFIG_FILE}
1583        @ONLY)
1584    copy_to_builddir(
1585        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_SLAVE_UDP_CONFIG_FILE}
1586        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_SLAVE_UDP_CONFIG_FILE}
1587        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1588    )
1589
1590    set(TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_AUTOCONFIG_MASTER_CONFIG_FILE
1591        ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_diff_ports_autoconfig_master.json)
1592    configure_file(
1593        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_AUTOCONFIG_MASTER_CONFIG_FILE}.in
1594        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_AUTOCONFIG_MASTER_CONFIG_FILE}
1595        @ONLY)
1596    copy_to_builddir(
1597        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_AUTOCONFIG_MASTER_CONFIG_FILE}
1598        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_AUTOCONFIG_MASTER_CONFIG_FILE}
1599        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1600    )
1601
1602    set(TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_AUTOCONFIG_SLAVE_CONFIG_FILE
1603        ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_diff_ports_autoconfig_slave.json)
1604    configure_file(
1605        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_AUTOCONFIG_SLAVE_CONFIG_FILE}.in
1606        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_AUTOCONFIG_SLAVE_CONFIG_FILE}
1607        @ONLY)
1608    copy_to_builddir(
1609        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_AUTOCONFIG_SLAVE_CONFIG_FILE}
1610        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_AUTOCONFIG_SLAVE_CONFIG_FILE}
1611        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1612    )
1613
1614    # copy starter scripts into builddir
1615    set(TEST_SUBSCRIBE_NOTIFY_MASTER_STARTER ${TEST_SUBSCRIBE_NOTIFY_NAME}_master_starter.sh)
1616    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_MASTER_STARTER}
1617        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_MASTER_STARTER}
1618        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1619    )
1620    set(TEST_SUBSCRIBE_NOTIFY_SLAVE_STARTER ${TEST_SUBSCRIBE_NOTIFY_NAME}_slave_starter.sh)
1621    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_SLAVE_STARTER}
1622        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_SLAVE_STARTER}
1623        ${TEST_SUBSCRIBE_NOTIFY_SERVICE}
1624    )
1625
1626    # subscribe_notify_test_one_event_two_eventgroups
1627    set(TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_NAME subscribe_notify_test_one_event_two_eventgroups)
1628
1629    # service
1630    set(TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SERVICE ${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_NAME}_service)
1631    add_executable(${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SERVICE}
1632        subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SERVICE}.cpp)
1633    target_link_libraries(${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SERVICE}
1634        vsomeip3
1635        ${Boost_LIBRARIES}
1636        ${DL_LIBRARY}
1637        ${TEST_LINK_LIBRARIES}
1638    )
1639    # client
1640    set(TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_CLIENT ${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_NAME}_client)
1641    add_executable(${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_CLIENT}
1642        subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_CLIENT}.cpp)
1643    target_link_libraries(${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_CLIENT}
1644        vsomeip3
1645        ${Boost_LIBRARIES}
1646        ${DL_LIBRARY}
1647        ${TEST_LINK_LIBRARIES}
1648    )
1649
1650    set(TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_MASTER_CONFIG_FILE
1651        ${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_NAME}_master.json)
1652    configure_file(
1653        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_MASTER_CONFIG_FILE}.in
1654        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_MASTER_CONFIG_FILE}
1655        @ONLY)
1656    copy_to_builddir(
1657        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_MASTER_CONFIG_FILE}
1658        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_MASTER_CONFIG_FILE}
1659        ${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SERVICE}
1660    )
1661
1662    set(TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SLAVE_UDP_CONFIG_FILE
1663        ${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_NAME}_udp_slave.json)
1664    configure_file(
1665        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SLAVE_UDP_CONFIG_FILE}.in
1666        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SLAVE_UDP_CONFIG_FILE}
1667        @ONLY)
1668    copy_to_builddir(
1669        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SLAVE_UDP_CONFIG_FILE}
1670        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SLAVE_UDP_CONFIG_FILE}
1671        ${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_CLIENT}
1672    )
1673    set(TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SLAVE_TCP_CONFIG_FILE
1674        ${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_NAME}_tcp_slave.json)
1675    configure_file(
1676        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/conf/${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SLAVE_TCP_CONFIG_FILE}.in
1677        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SLAVE_TCP_CONFIG_FILE}
1678        @ONLY)
1679    copy_to_builddir(
1680        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SLAVE_TCP_CONFIG_FILE}
1681        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SLAVE_TCP_CONFIG_FILE}
1682        ${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_CLIENT}
1683    )
1684
1685    set(TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_MASTER_STARTER
1686        ${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_NAME}_master_starter.sh)
1687    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_MASTER_STARTER}
1688        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_MASTER_STARTER}
1689        ${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SERVICE}
1690    )
1691    set(TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SLAVE_STARTER
1692        ${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_NAME}_slave_starter.sh)
1693    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/subscribe_notify_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SLAVE_STARTER}
1694        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SLAVE_STARTER}
1695        ${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SERVICE}
1696    )
1697endif()
1698
1699##############################################################################
1700# subscribe notify one tests
1701##############################################################################
1702if(NOT ${TESTS_BAT})
1703    set(TEST_SUBSCRIBE_NOTIFY_ONE_NAME subscribe_notify_one_test)
1704    set(TEST_SUBSCRIBE_NOTIFY_ONE_SERVICE ${TEST_SUBSCRIBE_NOTIFY_ONE_NAME}_service)
1705    add_executable(${TEST_SUBSCRIBE_NOTIFY_ONE_SERVICE} subscribe_notify_one_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_NAME}_service.cpp)
1706    target_link_libraries(${TEST_SUBSCRIBE_NOTIFY_ONE_SERVICE}
1707        vsomeip3
1708        ${Boost_LIBRARIES}
1709        ${DL_LIBRARY}
1710        ${TEST_LINK_LIBRARIES}
1711    )
1712
1713    # Copy config files for test into $BUILDDIR/test
1714    set(TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE
1715        ${TEST_SUBSCRIBE_NOTIFY_ONE_NAME}_diff_client_ids_diff_ports_master.json)
1716    configure_file(
1717        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_one_tests/conf/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}.in
1718        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_one_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
1719        @ONLY)
1720    copy_to_builddir(
1721        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_one_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
1722        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
1723        ${TEST_SUBSCRIBE_NOTIFY_ONE_SERVICE}
1724    )
1725
1726    set(TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE
1727        ${TEST_SUBSCRIBE_NOTIFY_ONE_NAME}_diff_client_ids_diff_ports_slave.json)
1728    configure_file(
1729        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_one_tests/conf/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}.in
1730        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_one_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
1731        @ONLY)
1732    copy_to_builddir(
1733        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_one_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
1734        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
1735        ${TEST_SUBSCRIBE_NOTIFY_ONE_SERVICE}
1736    )
1737
1738    set(TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE
1739        ${TEST_SUBSCRIBE_NOTIFY_ONE_NAME}_diff_client_ids_diff_ports_master_tcp.json)
1740    configure_file(
1741        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_one_tests/conf/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE}.in
1742        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_one_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE}
1743        @ONLY)
1744    copy_to_builddir(
1745        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_one_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE}
1746        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE}
1747        ${TEST_SUBSCRIBE_NOTIFY_ONE_SERVICE}
1748    )
1749
1750    set(TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_SLAVE_TCP_CONFIG_FILE
1751        ${TEST_SUBSCRIBE_NOTIFY_ONE_NAME}_diff_client_ids_diff_ports_slave_tcp.json)
1752    configure_file(
1753        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_one_tests/conf/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_SLAVE_TCP_CONFIG_FILE}.in
1754        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_one_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_SLAVE_TCP_CONFIG_FILE}
1755        @ONLY)
1756    copy_to_builddir(
1757        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_one_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_SLAVE_TCP_CONFIG_FILE}
1758        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_SLAVE_TCP_CONFIG_FILE}
1759        ${TEST_SUBSCRIBE_NOTIFY_ONE_SERVICE}
1760    )
1761
1762    set(TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE
1763        ${TEST_SUBSCRIBE_NOTIFY_ONE_NAME}_diff_client_ids_diff_ports_master_udp.json)
1764    configure_file(
1765        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_one_tests/conf/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE}.in
1766        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_one_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE}
1767        @ONLY)
1768    copy_to_builddir(
1769        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_one_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE}
1770        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE}
1771        ${TEST_SUBSCRIBE_NOTIFY_ONE_SERVICE}
1772    )
1773
1774    set(TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_SLAVE_UDP_CONFIG_FILE
1775        ${TEST_SUBSCRIBE_NOTIFY_ONE_NAME}_diff_client_ids_diff_ports_slave_udp.json)
1776    configure_file(
1777        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_one_tests/conf/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_SLAVE_UDP_CONFIG_FILE}.in
1778        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_one_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_SLAVE_UDP_CONFIG_FILE}
1779        @ONLY)
1780    copy_to_builddir(
1781        ${PROJECT_SOURCE_DIR}/test/subscribe_notify_one_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_SLAVE_UDP_CONFIG_FILE}
1782        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_SLAVE_UDP_CONFIG_FILE}
1783        ${TEST_SUBSCRIBE_NOTIFY_ONE_SERVICE}
1784    )
1785
1786    # copy starter scripts into builddir
1787    set(TEST_SUBSCRIBE_NOTIFY_ONE_MASTER_STARTER ${TEST_SUBSCRIBE_NOTIFY_ONE_NAME}_master_starter.sh)
1788    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/subscribe_notify_one_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_MASTER_STARTER}
1789        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_ONE_MASTER_STARTER}
1790        ${TEST_SUBSCRIBE_NOTIFY_ONE_SERVICE}
1791    )
1792    set(TEST_SUBSCRIBE_NOTIFY_ONE_SLAVE_STARTER ${TEST_SUBSCRIBE_NOTIFY_ONE_NAME}_slave_starter.sh)
1793    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/subscribe_notify_one_tests/${TEST_SUBSCRIBE_NOTIFY_ONE_SLAVE_STARTER}
1794        ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_ONE_SLAVE_STARTER}
1795        ${TEST_SUBSCRIBE_NOTIFY_ONE_SERVICE}
1796    )
1797endif()
1798
1799##############################################################################
1800# cpu-load-test
1801##############################################################################
1802
1803if(NOT ${TESTS_BAT})
1804    set(TEST_CPU_LOAD_NAME cpu_load_test)
1805
1806    set(TEST_CPU_LOAD_SERVICE cpu_load_test_service)
1807    add_executable(${TEST_CPU_LOAD_SERVICE}
1808        cpu_load_tests/${TEST_CPU_LOAD_SERVICE}.cpp
1809        cpu_load_tests/cpu_load_measurer.cpp
1810    )
1811    target_link_libraries(${TEST_CPU_LOAD_SERVICE}
1812        vsomeip3
1813        ${Boost_LIBRARIES}
1814        ${DL_LIBRARY}
1815        ${TEST_LINK_LIBRARIES}
1816    )
1817
1818    # Copy config files for test into $BUILDDIR/test
1819    set(TEST_CPU_LOAD_SERVICE_MASTER_CONFIG_FILE ${TEST_CPU_LOAD_NAME}_service_master.json)
1820    configure_file(
1821        ${PROJECT_SOURCE_DIR}/test/cpu_load_tests/conf/${TEST_CPU_LOAD_SERVICE_MASTER_CONFIG_FILE}.in
1822        ${PROJECT_SOURCE_DIR}/test/cpu_load_tests/${TEST_CPU_LOAD_SERVICE_MASTER_CONFIG_FILE}
1823        @ONLY)
1824    copy_to_builddir(
1825        ${PROJECT_SOURCE_DIR}/test/cpu_load_tests/${TEST_CPU_LOAD_SERVICE_MASTER_CONFIG_FILE}
1826        ${PROJECT_BINARY_DIR}/test/${TEST_CPU_LOAD_SERVICE_MASTER_CONFIG_FILE}
1827        ${TEST_CPU_LOAD_SERVICE}
1828    )
1829    set(TEST_CPU_LOAD_SERVICE_SLAVE_CONFIG_FILE ${TEST_CPU_LOAD_NAME}_service_slave.json)
1830    configure_file(
1831        ${PROJECT_SOURCE_DIR}/test/cpu_load_tests/conf/${TEST_CPU_LOAD_SERVICE_SLAVE_CONFIG_FILE}.in
1832        ${PROJECT_SOURCE_DIR}/test/cpu_load_tests/${TEST_CPU_LOAD_SERVICE_SLAVE_CONFIG_FILE}
1833        @ONLY)
1834    copy_to_builddir(
1835        ${PROJECT_SOURCE_DIR}/test/cpu_load_tests/${TEST_CPU_LOAD_SERVICE_SLAVE_CONFIG_FILE}
1836        ${PROJECT_BINARY_DIR}/test/${TEST_CPU_LOAD_SERVICE_SLAVE_CONFIG_FILE}
1837        ${TEST_CPU_LOAD_SERVICE}
1838    )
1839
1840    ##############################################################################
1841    set(TEST_CPU_LOAD_CLIENT cpu_load_test_client)
1842    add_executable(${TEST_CPU_LOAD_CLIENT}
1843        cpu_load_tests/${TEST_CPU_LOAD_CLIENT}.cpp
1844        cpu_load_tests/cpu_load_measurer.cpp
1845    )
1846    target_link_libraries(${TEST_CPU_LOAD_CLIENT}
1847        vsomeip3
1848        ${Boost_LIBRARIES}
1849        ${DL_LIBRARY}
1850        ${TEST_LINK_LIBRARIES}
1851    )
1852
1853    set(TEST_CPU_LOAD_CLIENT_MASTER_CONFIG_FILE ${TEST_CPU_LOAD_NAME}_client_master.json)
1854    configure_file(
1855        ${PROJECT_SOURCE_DIR}/test/cpu_load_tests/conf/${TEST_CPU_LOAD_CLIENT_MASTER_CONFIG_FILE}.in
1856        ${PROJECT_SOURCE_DIR}/test/cpu_load_tests/${TEST_CPU_LOAD_CLIENT_MASTER_CONFIG_FILE}
1857        @ONLY)
1858    copy_to_builddir(
1859        ${PROJECT_SOURCE_DIR}/test/cpu_load_tests/${TEST_CPU_LOAD_CLIENT_MASTER_CONFIG_FILE}
1860        ${PROJECT_BINARY_DIR}/test/${TEST_CPU_LOAD_CLIENT_MASTER_CONFIG_FILE}
1861        ${TEST_CPU_LOAD_CLIENT}
1862    )
1863    set(TEST_CPU_LOAD_CLIENT_SLAVE_CONFIG_FILE ${TEST_CPU_LOAD_NAME}_client_slave.json)
1864    configure_file(
1865        ${PROJECT_SOURCE_DIR}/test/cpu_load_tests/conf/${TEST_CPU_LOAD_CLIENT_SLAVE_CONFIG_FILE}.in
1866        ${PROJECT_SOURCE_DIR}/test/cpu_load_tests/${TEST_CPU_LOAD_CLIENT_SLAVE_CONFIG_FILE}
1867        @ONLY)
1868    copy_to_builddir(
1869        ${PROJECT_SOURCE_DIR}/test/cpu_load_tests/${TEST_CPU_LOAD_CLIENT_SLAVE_CONFIG_FILE}
1870        ${PROJECT_BINARY_DIR}/test/${TEST_CPU_LOAD_CLIENT_SLAVE_CONFIG_FILE}
1871        ${TEST_CPU_LOAD_CLIENT}
1872    )
1873
1874    ##############################################################################
1875    # copy starter scripts into builddir
1876    set(TEST_CPU_LOAD_MASTER_STARTER ${TEST_CPU_LOAD_NAME}_master_starter.sh)
1877    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/cpu_load_tests/${TEST_CPU_LOAD_MASTER_STARTER}
1878        ${PROJECT_BINARY_DIR}/test/${TEST_CPU_LOAD_MASTER_STARTER}
1879        ${TEST_CPU_LOAD_SERVICE}
1880    )
1881    set(TEST_CPU_LOAD_SLAVE_STARTER ${TEST_CPU_LOAD_NAME}_slave_starter.sh)
1882    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/cpu_load_tests/${TEST_CPU_LOAD_SLAVE_STARTER}
1883        ${PROJECT_BINARY_DIR}/test/${TEST_CPU_LOAD_SLAVE_STARTER}
1884        ${TEST_CPU_LOAD_SERVICE}
1885    )
1886endif()
1887
1888##############################################################################
1889# initial event tests
1890##############################################################################
1891if(NOT ${TESTS_BAT})
1892    set(TEST_INITIAL_EVENT_NAME initial_event_test)
1893    set(TEST_INITIAL_EVENT_SERVICE ${TEST_INITIAL_EVENT_NAME}_service)
1894    add_executable(${TEST_INITIAL_EVENT_SERVICE} initial_event_tests/${TEST_INITIAL_EVENT_NAME}_service.cpp)
1895    target_link_libraries(${TEST_INITIAL_EVENT_SERVICE}
1896        vsomeip3
1897        ${Boost_LIBRARIES}
1898        ${DL_LIBRARY}
1899        ${TEST_LINK_LIBRARIES}
1900    )
1901
1902    set(TEST_INITIAL_EVENT_CLIENT ${TEST_INITIAL_EVENT_NAME}_client)
1903    add_executable(${TEST_INITIAL_EVENT_CLIENT} initial_event_tests/${TEST_INITIAL_EVENT_NAME}_client.cpp)
1904    target_link_libraries(${TEST_INITIAL_EVENT_CLIENT}
1905        vsomeip3
1906        ${Boost_LIBRARIES}
1907        ${DL_LIBRARY}
1908        ${TEST_LINK_LIBRARIES}
1909    )
1910
1911    set(TEST_INITIAL_EVENT_AVAILABILITY_CHECKER ${TEST_INITIAL_EVENT_NAME}_availability_checker)
1912    add_executable(${TEST_INITIAL_EVENT_AVAILABILITY_CHECKER} initial_event_tests/${TEST_INITIAL_EVENT_NAME}_availability_checker.cpp)
1913    target_link_libraries(${TEST_INITIAL_EVENT_AVAILABILITY_CHECKER}
1914        vsomeip3
1915        ${Boost_LIBRARIES}
1916        ${DL_LIBRARY}
1917        ${TEST_LINK_LIBRARIES}
1918    )
1919
1920    set(TEST_INITIAL_EVENT_STOP_SERVICE ${TEST_INITIAL_EVENT_NAME}_stop_service)
1921    add_executable(${TEST_INITIAL_EVENT_STOP_SERVICE} initial_event_tests/${TEST_INITIAL_EVENT_NAME}_stop_service.cpp)
1922    target_link_libraries(${TEST_INITIAL_EVENT_STOP_SERVICE}
1923        vsomeip3
1924        ${Boost_LIBRARIES}
1925        ${DL_LIBRARY}
1926        ${TEST_LINK_LIBRARIES}
1927    )
1928
1929    # Copy config files for test into $BUILDDIR/test
1930    set(TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE
1931        ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_diff_ports_master.json)
1932    configure_file(
1933        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/conf/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}.in
1934        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
1935        @ONLY)
1936    copy_to_builddir(
1937        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
1938        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
1939        ${TEST_INITIAL_EVENT_SERVICE}
1940    )
1941
1942    set(TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE
1943        ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_diff_ports_slave.json)
1944    configure_file(
1945        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/conf/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}.in
1946        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
1947        @ONLY)
1948    copy_to_builddir(
1949        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
1950        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
1951        ${TEST_INITIAL_EVENT_SERVICE}
1952    )
1953
1954    # Copy config files for test into $BUILDDIR/test
1955    set(TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE
1956        ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_diff_ports_master_tcp.json)
1957    configure_file(
1958        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/conf/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE}.in
1959        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE}
1960        @ONLY)
1961    copy_to_builddir(
1962        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE}
1963        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE}
1964        ${TEST_INITIAL_EVENT_SERVICE}
1965    )
1966
1967    # Copy config files for test into $BUILDDIR/test
1968    set(TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE
1969        ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_diff_ports_master_udp.json)
1970    configure_file(
1971        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/conf/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE}.in
1972        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE}
1973        @ONLY)
1974    copy_to_builddir(
1975        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE}
1976        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE}
1977        ${TEST_INITIAL_EVENT_SERVICE}
1978    )
1979
1980    set(TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SLAVE_TCP_CONFIG_FILE
1981        ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_diff_ports_slave_tcp.json)
1982    configure_file(
1983        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/conf/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SLAVE_TCP_CONFIG_FILE}.in
1984        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SLAVE_TCP_CONFIG_FILE}
1985        @ONLY)
1986    copy_to_builddir(
1987        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SLAVE_TCP_CONFIG_FILE}
1988        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SLAVE_TCP_CONFIG_FILE}
1989        ${TEST_INITIAL_EVENT_SERVICE}
1990    )
1991
1992    set(TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SLAVE_UDP_CONFIG_FILE
1993        ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_diff_ports_slave_udp.json)
1994    configure_file(
1995        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/conf/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SLAVE_UDP_CONFIG_FILE}.in
1996        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SLAVE_UDP_CONFIG_FILE}
1997        @ONLY)
1998    copy_to_builddir(
1999        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SLAVE_UDP_CONFIG_FILE}
2000        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SLAVE_UDP_CONFIG_FILE}
2001        ${TEST_INITIAL_EVENT_SERVICE}
2002    )
2003
2004    set(TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_CONFIG_FILE
2005        ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_same_ports_master.json)
2006    configure_file(
2007        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/conf/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_CONFIG_FILE}.in
2008        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_CONFIG_FILE}
2009        @ONLY)
2010    copy_to_builddir(
2011        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_CONFIG_FILE}
2012        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_CONFIG_FILE}
2013        ${TEST_INITIAL_EVENT_SERVICE}
2014    )
2015
2016    set(TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_SLAVE_CONFIG_FILE
2017        ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_same_ports_slave.json)
2018    configure_file(
2019        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/conf/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}.in
2020        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}
2021        @ONLY)
2022    copy_to_builddir(
2023        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}
2024        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}
2025        ${TEST_INITIAL_EVENT_SERVICE}
2026    )
2027
2028    set(TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_TCP_CONFIG_FILE
2029        ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_same_ports_master_tcp.json)
2030    configure_file(
2031        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/conf/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_TCP_CONFIG_FILE}.in
2032        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_TCP_CONFIG_FILE}
2033        @ONLY)
2034    copy_to_builddir(
2035        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_TCP_CONFIG_FILE}
2036        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_TCP_CONFIG_FILE}
2037        ${TEST_INITIAL_EVENT_SERVICE}
2038    )
2039
2040    set(TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_SLAVE_TCP_CONFIG_FILE
2041        ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_same_ports_slave_tcp.json)
2042    configure_file(
2043        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/conf/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_SLAVE_TCP_CONFIG_FILE}.in
2044        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_SLAVE_TCP_CONFIG_FILE}
2045        @ONLY)
2046    copy_to_builddir(
2047        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_SLAVE_TCP_CONFIG_FILE}
2048        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_SLAVE_TCP_CONFIG_FILE}
2049        ${TEST_INITIAL_EVENT_SERVICE}
2050    )
2051
2052    set(TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_UDP_CONFIG_FILE
2053        ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_same_ports_master_udp.json)
2054    configure_file(
2055        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/conf/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_UDP_CONFIG_FILE}.in
2056        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_UDP_CONFIG_FILE}
2057        @ONLY)
2058    copy_to_builddir(
2059        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_UDP_CONFIG_FILE}
2060        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_UDP_CONFIG_FILE}
2061        ${TEST_INITIAL_EVENT_SERVICE}
2062    )
2063
2064    set(TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_SLAVE_UDP_CONFIG_FILE
2065        ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_same_ports_slave_udp.json)
2066    configure_file(
2067        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/conf/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_SLAVE_UDP_CONFIG_FILE}.in
2068        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_SLAVE_UDP_CONFIG_FILE}
2069        @ONLY)
2070    copy_to_builddir(
2071        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_SLAVE_UDP_CONFIG_FILE}
2072        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_SLAVE_UDP_CONFIG_FILE}
2073        ${TEST_INITIAL_EVENT_SERVICE}
2074    )
2075
2076    set(TEST_INITIAL_EVENT_DIFF_IDS_PARTIAL_SAME_PORTS_MASTER_CONFIG_FILE
2077        ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_partial_same_ports_master.json)
2078    configure_file(
2079        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/conf/${TEST_INITIAL_EVENT_DIFF_IDS_PARTIAL_SAME_PORTS_MASTER_CONFIG_FILE}.in
2080        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_PARTIAL_SAME_PORTS_MASTER_CONFIG_FILE}
2081        @ONLY)
2082    copy_to_builddir(
2083        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_PARTIAL_SAME_PORTS_MASTER_CONFIG_FILE}
2084        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_DIFF_IDS_PARTIAL_SAME_PORTS_MASTER_CONFIG_FILE}
2085        ${TEST_INITIAL_EVENT_SERVICE}
2086    )
2087
2088    set(TEST_INITIAL_EVENT_DIFF_IDS_PARTIAL_SAME_PORTS_SLAVE_CONFIG_FILE
2089        ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_partial_same_ports_slave.json)
2090    configure_file(
2091        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/conf/${TEST_INITIAL_EVENT_DIFF_IDS_PARTIAL_SAME_PORTS_SLAVE_CONFIG_FILE}.in
2092        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_PARTIAL_SAME_PORTS_SLAVE_CONFIG_FILE}
2093        @ONLY)
2094    copy_to_builddir(
2095        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_PARTIAL_SAME_PORTS_SLAVE_CONFIG_FILE}
2096        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_DIFF_IDS_PARTIAL_SAME_PORTS_SLAVE_CONFIG_FILE}
2097        ${TEST_INITIAL_EVENT_SERVICE}
2098    )
2099
2100    set(TEST_INITIAL_EVENT_SAME_IDS_SAME_PORTS_MASTER_CONFIG_FILE
2101        ${TEST_INITIAL_EVENT_NAME}_same_client_ids_same_ports_master.json)
2102    configure_file(
2103        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/conf/${TEST_INITIAL_EVENT_SAME_IDS_SAME_PORTS_MASTER_CONFIG_FILE}.in
2104        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_SAME_IDS_SAME_PORTS_MASTER_CONFIG_FILE}
2105        @ONLY)
2106    copy_to_builddir(
2107        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_SAME_IDS_SAME_PORTS_MASTER_CONFIG_FILE}
2108        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_SAME_IDS_SAME_PORTS_MASTER_CONFIG_FILE}
2109        ${TEST_INITIAL_EVENT_SERVICE}
2110    )
2111
2112    set(TEST_INITIAL_EVENT_SAME_IDS_SAME_PORTS_SLAVE_CONFIG_FILE
2113        ${TEST_INITIAL_EVENT_NAME}_same_client_ids_same_ports_slave.json)
2114    configure_file(
2115        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/conf/${TEST_INITIAL_EVENT_SAME_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}.in
2116        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_SAME_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}
2117        @ONLY)
2118    copy_to_builddir(
2119        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_SAME_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}
2120        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_SAME_IDS_SAME_PORTS_SLAVE_CONFIG_FILE}
2121        ${TEST_INITIAL_EVENT_SERVICE}
2122    )
2123
2124    set(TEST_INITIAL_EVENT_SAME_IDS_DIFF_PORTS_MASTER_CONFIG_FILE
2125        ${TEST_INITIAL_EVENT_NAME}_same_client_ids_diff_ports_master.json)
2126    configure_file(
2127        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/conf/${TEST_INITIAL_EVENT_SAME_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}.in
2128        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_SAME_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
2129        @ONLY)
2130    copy_to_builddir(
2131        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_SAME_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
2132        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_SAME_IDS_DIFF_PORTS_MASTER_CONFIG_FILE}
2133        ${TEST_INITIAL_EVENT_SERVICE}
2134    )
2135
2136    set(TEST_INITIAL_EVENT_SAME_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE
2137        ${TEST_INITIAL_EVENT_NAME}_same_client_ids_diff_ports_slave.json)
2138    configure_file(
2139        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/conf/${TEST_INITIAL_EVENT_SAME_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}.in
2140        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_SAME_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
2141        @ONLY)
2142    copy_to_builddir(
2143        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_SAME_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
2144        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_SAME_IDS_DIFF_PORTS_SLAVE_CONFIG_FILE}
2145        ${TEST_INITIAL_EVENT_SERVICE}
2146    )
2147
2148    set(TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_MASTER_CONFIG_FILE
2149        ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_diff_ports_same_service_id_master.json)
2150    configure_file(
2151        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/conf/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_MASTER_CONFIG_FILE}.in
2152        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_MASTER_CONFIG_FILE}
2153        @ONLY)
2154    copy_to_builddir(
2155        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_MASTER_CONFIG_FILE}
2156        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_MASTER_CONFIG_FILE}
2157        ${TEST_INITIAL_EVENT_SERVICE}
2158    )
2159
2160    set(TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_SLAVE_CONFIG_FILE
2161        ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_diff_ports_same_service_id_slave.json)
2162    configure_file(
2163        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/conf/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_SLAVE_CONFIG_FILE}.in
2164        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_SLAVE_CONFIG_FILE}
2165        @ONLY)
2166    copy_to_builddir(
2167        ${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_SLAVE_CONFIG_FILE}
2168        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_SLAVE_CONFIG_FILE}
2169        ${TEST_INITIAL_EVENT_SERVICE}
2170    )
2171
2172    # copy starter scripts into builddir
2173    set(TEST_INITIAL_EVENT_MASTER_STARTER ${TEST_INITIAL_EVENT_NAME}_master_starter.sh)
2174    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_MASTER_STARTER}
2175        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER}
2176        ${TEST_INITIAL_EVENT_SERVICE}
2177    )
2178    set(TEST_INITIAL_EVENT_SLAVE_STARTER ${TEST_INITIAL_EVENT_NAME}_slave_starter.sh)
2179    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/initial_event_tests/${TEST_INITIAL_EVENT_SLAVE_STARTER}
2180        ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_SLAVE_STARTER}
2181        ${TEST_INITIAL_EVENT_SERVICE}
2182    )
2183endif()
2184
2185##############################################################################
2186# offer tests
2187##############################################################################
2188if(NOT ${TESTS_BAT})
2189    set(TEST_OFFER_NAME offer_test)
2190    set(TEST_OFFER_SERVICE ${TEST_OFFER_NAME}_service)
2191    add_executable(${TEST_OFFER_SERVICE} offer_tests/${TEST_OFFER_NAME}_service.cpp)
2192    target_link_libraries(${TEST_OFFER_SERVICE}
2193        vsomeip3
2194        ${Boost_LIBRARIES}
2195        ${DL_LIBRARY}
2196        ${TEST_LINK_LIBRARIES}
2197    )
2198
2199    set(TEST_OFFER_CLIENT ${TEST_OFFER_NAME}_client)
2200    add_executable(${TEST_OFFER_CLIENT} offer_tests/${TEST_OFFER_NAME}_client.cpp)
2201    target_link_libraries(${TEST_OFFER_CLIENT}
2202        vsomeip3
2203        ${Boost_LIBRARIES}
2204        ${DL_LIBRARY}
2205        ${TEST_LINK_LIBRARIES}
2206    )
2207
2208    set(TEST_OFFER_SERVICE_EXTERNAL ${TEST_OFFER_NAME}_service_external)
2209    add_executable(${TEST_OFFER_SERVICE_EXTERNAL} offer_tests/${TEST_OFFER_NAME}_service_external.cpp)
2210    target_link_libraries(${TEST_OFFER_SERVICE_EXTERNAL}
2211        vsomeip3
2212        ${Boost_LIBRARIES}
2213        ${DL_LIBRARY}
2214        ${TEST_LINK_LIBRARIES}
2215    )
2216
2217    set(TEST_OFFER_SERVICE_AVAILABILITY_CHECKER ${TEST_OFFER_NAME}_service_availability_checker)
2218    add_executable(${TEST_OFFER_SERVICE_AVAILABILITY_CHECKER} offer_tests/${TEST_OFFER_NAME}_service_availability_checker.cpp)
2219    target_link_libraries(${TEST_OFFER_SERVICE_AVAILABILITY_CHECKER}
2220        vsomeip3
2221        ${Boost_LIBRARIES}
2222        ${DL_LIBRARY}
2223        ${TEST_LINK_LIBRARIES}
2224    )
2225
2226    set(TEST_OFFER_EXTERNAL_SD_MESSAGE_SENDER ${TEST_OFFER_NAME}_external_sd_msg_sender)
2227    add_executable(${TEST_OFFER_EXTERNAL_SD_MESSAGE_SENDER} offer_tests/${TEST_OFFER_NAME}_external_sd_msg_sender.cpp)
2228    target_link_libraries(${TEST_OFFER_EXTERNAL_SD_MESSAGE_SENDER}
2229        ${Boost_LIBRARIES}
2230        ${DL_LIBRARY}
2231        ${TEST_LINK_LIBRARIES}
2232    )
2233
2234    # client and service for offer test big sd msg
2235    set(TEST_OFFER_BIG_NAME offer_test_big_sd_msg)
2236    set(TEST_OFFER_BIG_SERVICE ${TEST_OFFER_BIG_NAME}_service)
2237    add_executable(${TEST_OFFER_BIG_SERVICE} offer_tests/${TEST_OFFER_BIG_NAME}_service.cpp)
2238    target_link_libraries(${TEST_OFFER_BIG_SERVICE}
2239        vsomeip3
2240        ${Boost_LIBRARIES}
2241        ${DL_LIBRARY}
2242        ${TEST_LINK_LIBRARIES}
2243    )
2244
2245    set(TEST_OFFER_BIG_CLIENT ${TEST_OFFER_BIG_NAME}_client)
2246    add_executable(${TEST_OFFER_BIG_CLIENT} offer_tests/${TEST_OFFER_BIG_NAME}_client.cpp)
2247    target_link_libraries(${TEST_OFFER_BIG_CLIENT}
2248        vsomeip3
2249        ${Boost_LIBRARIES}
2250        ${DL_LIBRARY}
2251        ${TEST_LINK_LIBRARIES}
2252    )
2253
2254    # copy starter scripts into builddir
2255    set(TEST_OFFER_LOCAL_STARTER ${TEST_OFFER_NAME}_local_starter.sh)
2256    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/offer_tests/${TEST_OFFER_LOCAL_STARTER}
2257        ${PROJECT_BINARY_DIR}/test/${TEST_OFFER_LOCAL_STARTER}
2258        ${TEST_OFFER_SERVICE}
2259    )
2260
2261    # Copy config file for local test into $BUILDDIR/test
2262    set(TEST_OFFER_LOCAL_CONFIG_FILE ${TEST_OFFER_NAME}_local.json)
2263    copy_to_builddir(
2264        ${PROJECT_SOURCE_DIR}/test/offer_tests/${TEST_OFFER_LOCAL_CONFIG_FILE}
2265        ${PROJECT_BINARY_DIR}/test/${TEST_OFFER_LOCAL_CONFIG_FILE}
2266        ${TEST_OFFER_SERVICE}
2267    )
2268
2269    # generate and copy json files into builddir for external test
2270    set(TEST_OFFER_SLAVE_CONFIG_FILE ${TEST_OFFER_NAME}_external_slave.json)
2271    configure_file(
2272        ${PROJECT_SOURCE_DIR}/test/offer_tests/conf/${TEST_OFFER_SLAVE_CONFIG_FILE}.in
2273        ${PROJECT_SOURCE_DIR}/test/offer_tests/${TEST_OFFER_SLAVE_CONFIG_FILE}
2274        @ONLY)
2275    copy_to_builddir(
2276        ${PROJECT_SOURCE_DIR}/test/offer_tests/${TEST_OFFER_SLAVE_CONFIG_FILE}
2277        ${PROJECT_BINARY_DIR}/test/${TEST_OFFER_SLAVE_CONFIG_FILE}
2278        ${TEST_OFFER_SERVICE}
2279    )
2280
2281    set(TEST_OFFER_MASTER_CONFIG_FILE ${TEST_OFFER_NAME}_external_master.json)
2282    configure_file(
2283        ${PROJECT_SOURCE_DIR}/test/offer_tests/conf/${TEST_OFFER_MASTER_CONFIG_FILE}.in
2284        ${PROJECT_SOURCE_DIR}/test/offer_tests/${TEST_OFFER_MASTER_CONFIG_FILE}
2285        @ONLY)
2286    copy_to_builddir(
2287        ${PROJECT_SOURCE_DIR}/test/offer_tests/${TEST_OFFER_MASTER_CONFIG_FILE}
2288        ${PROJECT_BINARY_DIR}/test/${TEST_OFFER_MASTER_CONFIG_FILE}
2289        ${TEST_OFFER_SERVICE}
2290    )
2291
2292    # generate and copy json files into builddir for big SD message test
2293    set(TEST_OFFER_BIG_SLAVE_CONFIG_FILE ${TEST_OFFER_BIG_NAME}_slave.json)
2294    configure_file(
2295        ${PROJECT_SOURCE_DIR}/test/offer_tests/conf/${TEST_OFFER_BIG_SLAVE_CONFIG_FILE}.in
2296        ${PROJECT_SOURCE_DIR}/test/offer_tests/${TEST_OFFER_BIG_SLAVE_CONFIG_FILE}
2297        @ONLY)
2298    copy_to_builddir(
2299        ${PROJECT_SOURCE_DIR}/test/offer_tests/${TEST_OFFER_BIG_SLAVE_CONFIG_FILE}
2300        ${PROJECT_BINARY_DIR}/test/${TEST_OFFER_BIG_SLAVE_CONFIG_FILE}
2301        ${TEST_OFFER_BIG_SERVICE}
2302    )
2303
2304    set(TEST_OFFER_BIG_MASTER_CONFIG_FILE ${TEST_OFFER_BIG_NAME}_master.json)
2305    configure_file(
2306        ${PROJECT_SOURCE_DIR}/test/offer_tests/conf/${TEST_OFFER_BIG_MASTER_CONFIG_FILE}.in
2307        ${PROJECT_SOURCE_DIR}/test/offer_tests/${TEST_OFFER_BIG_MASTER_CONFIG_FILE}
2308        @ONLY)
2309    copy_to_builddir(
2310        ${PROJECT_SOURCE_DIR}/test/offer_tests/${TEST_OFFER_BIG_MASTER_CONFIG_FILE}
2311        ${PROJECT_BINARY_DIR}/test/${TEST_OFFER_BIG_MASTER_CONFIG_FILE}
2312        ${TEST_OFFER_BIG_SERVICE}
2313    )
2314
2315    # Copy starter scripts for external test to $BUILDDIR/test
2316    set(TEST_OFFER_EXTERNAL_MASTER_STARTER ${TEST_OFFER_NAME}_external_master_starter.sh)
2317    configure_file(
2318        ${PROJECT_SOURCE_DIR}/test/offer_tests/conf/${TEST_OFFER_EXTERNAL_MASTER_STARTER}.in
2319        ${PROJECT_SOURCE_DIR}/test/offer_tests/${TEST_OFFER_EXTERNAL_MASTER_STARTER}
2320        @ONLY)
2321    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/offer_tests/${TEST_OFFER_EXTERNAL_MASTER_STARTER}
2322        ${PROJECT_BINARY_DIR}/test/${TEST_OFFER_EXTERNAL_MASTER_STARTER}
2323        ${TEST_OFFER_SERVICE}
2324    )
2325    set(TEST_OFFER_EXTERNAL_SLAVE_STARTER ${TEST_OFFER_NAME}_external_slave_starter.sh)
2326    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/offer_tests/${TEST_OFFER_EXTERNAL_SLAVE_STARTER}
2327        ${PROJECT_BINARY_DIR}/test/${TEST_OFFER_EXTERNAL_SLAVE_STARTER}
2328        ${TEST_OFFER_SERVICE}
2329    )
2330    set(TEST_OFFER_EXTERNAL_SLAVE_SD_STARTER ${TEST_OFFER_NAME}_external_slave_sd_starter.sh)
2331    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/offer_tests/${TEST_OFFER_EXTERNAL_SLAVE_SD_STARTER}
2332        ${PROJECT_BINARY_DIR}/test/${TEST_OFFER_EXTERNAL_SLAVE_SD_STARTER}
2333        ${TEST_OFFER_SERVICE}
2334    )
2335    # Copy starter scripts for external test to $BUILDDIR/test
2336    set(TEST_OFFER_BIG_MASTER_STARTER ${TEST_OFFER_BIG_NAME}_master_starter.sh)
2337    configure_file(
2338        ${PROJECT_SOURCE_DIR}/test/offer_tests/conf/${TEST_OFFER_BIG_MASTER_STARTER}.in
2339        ${PROJECT_SOURCE_DIR}/test/offer_tests/${TEST_OFFER_BIG_MASTER_STARTER}
2340        @ONLY)
2341    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/offer_tests/${TEST_OFFER_BIG_MASTER_STARTER}
2342        ${PROJECT_BINARY_DIR}/test/${TEST_OFFER_BIG_MASTER_STARTER}
2343        ${TEST_OFFER_BIG_SERVICE}
2344    )
2345    # Copy starter scripts for external test to $BUILDDIR/test
2346    set(TEST_OFFER_BIG_EXTERNAL_SLAVE_STARTER ${TEST_OFFER_BIG_NAME}_slave_starter.sh)
2347    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/offer_tests/${TEST_OFFER_BIG_EXTERNAL_SLAVE_STARTER}
2348        ${PROJECT_BINARY_DIR}/test/${TEST_OFFER_BIG_EXTERNAL_SLAVE_STARTER}
2349        ${TEST_OFFER_BIG_SERVICE}
2350    )
2351endif()
2352
2353##############################################################################
2354# offered services info tests
2355##############################################################################
2356if(NOT ${TESTS_BAT})
2357    set(TEST_OFFERED_SERVICES_INFO_NAME offered_services_info_test)
2358    set(TEST_OFFERED_SERVICES_INFO_SERVICE ${TEST_OFFERED_SERVICES_INFO_NAME}_service)
2359    add_executable(${TEST_OFFERED_SERVICES_INFO_SERVICE} offered_services_info_test/${TEST_OFFERED_SERVICES_INFO_NAME}_service.cpp)
2360    target_link_libraries(${TEST_OFFERED_SERVICES_INFO_SERVICE}
2361        vsomeip3
2362        ${Boost_LIBRARIES}
2363        ${DL_LIBRARY}
2364        ${TEST_LINK_LIBRARIES}
2365    )
2366
2367    set(TEST_OFFERED_SERVICES_INFO_CLIENT ${TEST_OFFERED_SERVICES_INFO_NAME}_client)
2368    add_executable(${TEST_OFFERED_SERVICES_INFO_CLIENT} offered_services_info_test/${TEST_OFFERED_SERVICES_INFO_NAME}_client.cpp)
2369    target_link_libraries(${TEST_OFFERED_SERVICES_INFO_CLIENT}
2370        vsomeip3
2371        ${Boost_LIBRARIES}
2372        ${DL_LIBRARY}
2373        ${TEST_LINK_LIBRARIES}
2374    )
2375
2376    # copy starter scripts into builddir
2377    set(TEST_OFFERED_SERVICES_INFO_LOCAL_STARTER ${TEST_OFFERED_SERVICES_INFO_NAME}_local_starter.sh)
2378    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/offered_services_info_test/${TEST_OFFERED_SERVICES_INFO_LOCAL_STARTER}
2379        ${PROJECT_BINARY_DIR}/test/${TEST_OFFERED_SERVICES_INFO_LOCAL_STARTER}
2380        ${TEST_OFFERED_SERVICES_INFO_SERVICE}
2381    )
2382
2383    # Copy config file for local test into $BUILDDIR/test
2384    set(TEST_OFFERED_SERVICES_INFO_LOCAL_CONFIG_FILE ${TEST_OFFERED_SERVICES_INFO_NAME}_local.json)
2385    copy_to_builddir(
2386        ${PROJECT_SOURCE_DIR}/test/offered_services_info_test/${TEST_OFFERED_SERVICES_INFO_LOCAL_CONFIG_FILE}
2387        ${PROJECT_BINARY_DIR}/test/${TEST_OFFERED_SERVICES_INFO_LOCAL_CONFIG_FILE}
2388        ${TEST_OFFERED_SERVICES_INFO_SERVICE}
2389    )
2390endif()
2391
2392##############################################################################
2393# pending subscription tests tests
2394##############################################################################
2395if(NOT ${TESTS_BAT})
2396    set(TEST_PENDING_SUBSCRIPTION_NAME pending_subscription_test)
2397    set(TEST_PENDING_SUBSCRIPTION_SERVICE ${TEST_PENDING_SUBSCRIPTION_NAME}_service)
2398    add_executable(${TEST_PENDING_SUBSCRIPTION_SERVICE} pending_subscription_tests/${TEST_PENDING_SUBSCRIPTION_NAME}_service.cpp)
2399    target_link_libraries(${TEST_PENDING_SUBSCRIPTION_SERVICE}
2400        vsomeip3
2401        ${Boost_LIBRARIES}
2402        ${DL_LIBRARY}
2403        ${TEST_LINK_LIBRARIES}
2404    )
2405
2406    file(GLOB sd_sources
2407        "../implementation/service_discovery/src/*entry*.cpp"
2408        "../implementation/service_discovery/src/*option*.cpp"
2409        "../implementation/service_discovery/src/*message*.cpp"
2410    )
2411    set(TEST_PENDING_SUBSCRIPTION_CLIENT ${TEST_PENDING_SUBSCRIPTION_NAME}_sd_msg_sender)
2412    add_executable(${TEST_PENDING_SUBSCRIPTION_CLIENT}
2413        pending_subscription_tests/${TEST_PENDING_SUBSCRIPTION_NAME}_sd_msg_sender.cpp
2414        ${PROJECT_SOURCE_DIR}/implementation/message/src/deserializer.cpp
2415        ${PROJECT_SOURCE_DIR}/implementation/message/src/message_impl.cpp
2416        ${PROJECT_SOURCE_DIR}/implementation/message/src/payload_impl.cpp
2417        ${sd_sources}
2418    )
2419
2420    target_link_libraries(${TEST_PENDING_SUBSCRIPTION_CLIENT}
2421        ${Boost_LIBRARIES}
2422        ${DL_LIBRARY}
2423        ${TEST_LINK_LIBRARIES}
2424        vsomeip3
2425        vsomeip3-sd
2426    )
2427
2428    # copy starter scripts into builddir
2429    set(TEST_PENDING_SUBSCRIPTION_MASTER_STARTER ${TEST_PENDING_SUBSCRIPTION_NAME}_master_starter.sh)
2430    configure_file(
2431        ${PROJECT_SOURCE_DIR}/test/pending_subscription_tests/conf/${TEST_PENDING_SUBSCRIPTION_MASTER_STARTER}.in
2432        ${PROJECT_SOURCE_DIR}/test/pending_subscription_tests/${TEST_PENDING_SUBSCRIPTION_MASTER_STARTER}
2433        @ONLY)
2434    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/pending_subscription_tests/${TEST_PENDING_SUBSCRIPTION_MASTER_STARTER}
2435        ${PROJECT_BINARY_DIR}/test/${TEST_PENDING_SUBSCRIPTION_MASTER_STARTER}
2436        ${TEST_PENDING_SUBSCRIPTION_SERVICE}
2437    )
2438
2439    # Copy config file for local test into $BUILDDIR/test
2440    set(TEST_PENDING_SUBSCRIPTION_CONFIG_FILE ${TEST_PENDING_SUBSCRIPTION_NAME}_master.json)
2441    configure_file(
2442        ${PROJECT_SOURCE_DIR}/test/pending_subscription_tests/conf/${TEST_PENDING_SUBSCRIPTION_CONFIG_FILE}.in
2443        ${PROJECT_SOURCE_DIR}/test/pending_subscription_tests/${TEST_PENDING_SUBSCRIPTION_CONFIG_FILE}
2444        @ONLY)
2445    copy_to_builddir(
2446        ${PROJECT_SOURCE_DIR}/test/pending_subscription_tests/${TEST_PENDING_SUBSCRIPTION_CONFIG_FILE}
2447        ${PROJECT_BINARY_DIR}/test/${TEST_PENDING_SUBSCRIPTION_CONFIG_FILE}
2448        ${TEST_PENDING_SUBSCRIPTION_SERVICE}
2449    )
2450endif()
2451
2452##############################################################################
2453# malicious data tests
2454##############################################################################
2455if(NOT ${TESTS_BAT})
2456    set(TEST_MALICIOUS_DATA_NAME malicious_data_test)
2457    set(TEST_MALICIOUS_DATA_SERVICE ${TEST_MALICIOUS_DATA_NAME}_service)
2458    add_executable(${TEST_MALICIOUS_DATA_SERVICE} malicious_data_tests/${TEST_MALICIOUS_DATA_NAME}_service.cpp)
2459    target_link_libraries(${TEST_MALICIOUS_DATA_SERVICE}
2460        vsomeip3
2461        ${Boost_LIBRARIES}
2462        ${DL_LIBRARY}
2463        ${TEST_LINK_LIBRARIES}
2464    )
2465
2466    file(GLOB sd_sources
2467        "../implementation/service_discovery/src/*entry*.cpp"
2468        "../implementation/service_discovery/src/*option*.cpp"
2469        "../implementation/service_discovery/src/*message*.cpp"
2470    )
2471    set(TEST_MALICIOUS_DATA_CLIENT ${TEST_MALICIOUS_DATA_NAME}_msg_sender)
2472    add_executable(${TEST_MALICIOUS_DATA_CLIENT}
2473        malicious_data_tests/${TEST_MALICIOUS_DATA_CLIENT}.cpp
2474        ${PROJECT_SOURCE_DIR}/implementation/message/src/deserializer.cpp
2475        ${PROJECT_SOURCE_DIR}/implementation/message/src/message_impl.cpp
2476        ${PROJECT_SOURCE_DIR}/implementation/message/src/payload_impl.cpp
2477        ${sd_sources}
2478    )
2479
2480    target_link_libraries(${TEST_MALICIOUS_DATA_CLIENT}
2481        ${Boost_LIBRARIES}
2482        ${DL_LIBRARY}
2483        ${TEST_LINK_LIBRARIES}
2484        vsomeip3
2485        vsomeip3-sd
2486    )
2487
2488    # copy starter scripts into builddir
2489    set(TEST_MALICIOUS_DATA_MASTER_STARTER ${TEST_MALICIOUS_DATA_NAME}_master_starter.sh)
2490    configure_file(
2491        ${PROJECT_SOURCE_DIR}/test/malicious_data_tests/conf/${TEST_MALICIOUS_DATA_MASTER_STARTER}.in
2492        ${PROJECT_SOURCE_DIR}/test/malicious_data_tests/${TEST_MALICIOUS_DATA_MASTER_STARTER}
2493        @ONLY)
2494    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/malicious_data_tests/${TEST_MALICIOUS_DATA_MASTER_STARTER}
2495        ${PROJECT_BINARY_DIR}/test/${TEST_MALICIOUS_DATA_MASTER_STARTER}
2496        ${TEST_MALICIOUS_DATA_SERVICE}
2497    )
2498
2499    # Copy config file for local test into $BUILDDIR/test
2500    set(TEST_MALICIOUS_DATA_CONFIG_FILE ${TEST_MALICIOUS_DATA_NAME}_master.json)
2501    configure_file(
2502        ${PROJECT_SOURCE_DIR}/test/malicious_data_tests/conf/${TEST_MALICIOUS_DATA_CONFIG_FILE}.in
2503        ${PROJECT_SOURCE_DIR}/test/malicious_data_tests/${TEST_MALICIOUS_DATA_CONFIG_FILE}
2504        @ONLY)
2505    copy_to_builddir(
2506        ${PROJECT_SOURCE_DIR}/test/malicious_data_tests/${TEST_MALICIOUS_DATA_CONFIG_FILE}
2507        ${PROJECT_BINARY_DIR}/test/${TEST_MALICIOUS_DATA_CONFIG_FILE}
2508        ${TEST_MALICIOUS_DATA_SERVICE}
2509    )
2510endif()
2511
2512##############################################################################
2513# e2e test
2514##############################################################################
2515
2516if(NOT ${TESTS_BAT})
2517    set(TEST_E2E_NAME e2e_test)
2518    set(TEST_E2E_SERVICE e2e_test_service)
2519    set(TEST_E2E_CLIENT e2e_test_client)
2520
2521    add_executable(${TEST_E2E_SERVICE} e2e_tests/${TEST_E2E_SERVICE}.cpp)
2522    target_link_libraries(${TEST_E2E_SERVICE}
2523        vsomeip3
2524        ${Boost_LIBRARIES}
2525        ${DL_LIBRARY}
2526        ${TEST_LINK_LIBRARIES}
2527    )
2528
2529    add_executable(${TEST_E2E_CLIENT}
2530        e2e_tests/${TEST_E2E_CLIENT}.cpp
2531    )
2532    target_link_libraries(${TEST_E2E_CLIENT}
2533        vsomeip3
2534        ${Boost_LIBRARIES}
2535        ${DL_LIBRARY}
2536        ${TEST_LINK_LIBRARIES}
2537    )
2538
2539    # Copy service config file for external allow tests into $BUILDDIR/test
2540    set(TEST_E2E_SERVICE_CONFIG_FILE_EXTERNAL ${TEST_E2E_NAME}_service_external.json)
2541    configure_file(
2542        ${PROJECT_SOURCE_DIR}/test/e2e_tests/conf/${TEST_E2E_SERVICE_CONFIG_FILE_EXTERNAL}.in
2543        ${PROJECT_SOURCE_DIR}/test/e2e_tests/${TEST_E2E_SERVICE_CONFIG_FILE_EXTERNAL}
2544        @ONLY)
2545    copy_to_builddir(
2546        ${PROJECT_SOURCE_DIR}/test/e2e_tests/${TEST_E2E_SERVICE_CONFIG_FILE_EXTERNAL}
2547        ${PROJECT_BINARY_DIR}/test/${TEST_E2E_SERVICE_CONFIG_FILE_EXTERNAL}
2548        ${TEST_E2E_SERVICE}
2549    )
2550
2551    # Copy client config file for external allow tests into $BUILDDIR/test
2552    set(TEST_E2E_CLIENT_CONFIG_FILE_EXTERNAL ${TEST_E2E_NAME}_client_external.json)
2553    configure_file(
2554        ${PROJECT_SOURCE_DIR}/test/e2e_tests/conf/${TEST_E2E_CLIENT_CONFIG_FILE_EXTERNAL}.in
2555        ${PROJECT_SOURCE_DIR}/test/e2e_tests/${TEST_E2E_CLIENT_CONFIG_FILE_EXTERNAL}
2556        @ONLY)
2557    copy_to_builddir(
2558        ${PROJECT_SOURCE_DIR}/test/e2e_tests/${TEST_E2E_CLIENT_CONFIG_FILE_EXTERNAL}
2559        ${PROJECT_BINARY_DIR}/test/${TEST_E2E_CLIENT_CONFIG_FILE_EXTERNAL}
2560        ${TEST_E2E_SERVICE}
2561    )
2562
2563    # Copy bashscript to start external tests (master) into $BUILDDIR/test
2564    set(TEST_E2E_EXTERNAL_MASTER_START_SCRIPT ${TEST_E2E_NAME}_external_master_start.sh)
2565    copy_to_builddir(
2566        ${PROJECT_SOURCE_DIR}/test/e2e_tests/${TEST_E2E_EXTERNAL_MASTER_START_SCRIPT}
2567        ${PROJECT_BINARY_DIR}/test/${TEST_E2E_EXTERNAL_MASTER_START_SCRIPT}
2568        ${TEST_E2E_SERVICE}
2569    )
2570
2571    # Copy bashscript to start external tests (slave) into $BUILDDIR/test
2572    set(TEST_E2E_EXTERNAL_SLAVE_START_SCRIPT ${TEST_E2E_NAME}_external_slave_start.sh)
2573    copy_to_builddir(
2574        ${PROJECT_SOURCE_DIR}/test/e2e_tests/${TEST_E2E_EXTERNAL_SLAVE_START_SCRIPT}
2575        ${PROJECT_BINARY_DIR}/test/${TEST_E2E_EXTERNAL_SLAVE_START_SCRIPT}
2576        ${TEST_E2E_SERVICE}
2577    )
2578endif()
2579
2580##############################################################################
2581# e2e profile 04 test
2582##############################################################################
2583
2584if(NOT ${TESTS_BAT} AND ${TEST_E2E_PROFILE_04})
2585    set(TEST_E2E_PROFILE_04_NAME e2e_profile_04_test)
2586    set(TEST_E2E_PROFILE_04_SERVICE e2e_profile_04_test_service)
2587    set(TEST_E2E_PROFILE_04_CLIENT e2e_profile_04_test_client)
2588
2589    add_executable(${TEST_E2E_PROFILE_04_SERVICE} e2e_tests/${TEST_E2E_PROFILE_04_SERVICE}.cpp)
2590    target_link_libraries(${TEST_E2E_PROFILE_04_SERVICE}
2591        vsomeip3
2592        ${Boost_LIBRARIES}
2593        ${DL_LIBRARY}
2594        ${TEST_LINK_LIBRARIES}
2595    )
2596
2597    add_executable(${TEST_E2E_PROFILE_04_CLIENT}
2598        e2e_tests/${TEST_E2E_PROFILE_04_CLIENT}.cpp
2599    )
2600    target_link_libraries(${TEST_E2E_PROFILE_04_CLIENT}
2601        vsomeip3
2602        ${Boost_LIBRARIES}
2603        ${DL_LIBRARY}
2604        ${TEST_LINK_LIBRARIES}
2605    )
2606
2607    # Copy service config file for external allow tests into $BUILDDIR/test
2608    set(TEST_E2E_PROFILE_04_SERVICE_CONFIG_FILE_EXTERNAL ${TEST_E2E_PROFILE_04_NAME}_service_external.json)
2609    configure_file(
2610        ${PROJECT_SOURCE_DIR}/test/e2e_tests/conf/${TEST_E2E_PROFILE_04_SERVICE_CONFIG_FILE_EXTERNAL}.in
2611        ${PROJECT_SOURCE_DIR}/test/e2e_tests/${TEST_E2E_PROFILE_04_SERVICE_CONFIG_FILE_EXTERNAL}
2612        @ONLY)
2613    copy_to_builddir(
2614        ${PROJECT_SOURCE_DIR}/test/e2e_tests/${TEST_E2E_PROFILE_04_SERVICE_CONFIG_FILE_EXTERNAL}
2615        ${PROJECT_BINARY_DIR}/test/${TEST_E2E_PROFILE_04_SERVICE_CONFIG_FILE_EXTERNAL}
2616        ${TEST_E2E_PROFILE_04_SERVICE}
2617    )
2618
2619    # Copy client config file for external allow tests into $BUILDDIR/test
2620    set(TEST_E2E_PROFILE_04_CLIENT_CONFIG_FILE_EXTERNAL ${TEST_E2E_PROFILE_04_NAME}_client_external.json)
2621    configure_file(
2622        ${PROJECT_SOURCE_DIR}/test/e2e_tests/conf/${TEST_E2E_PROFILE_04_CLIENT_CONFIG_FILE_EXTERNAL}.in
2623        ${PROJECT_SOURCE_DIR}/test/e2e_tests/${TEST_E2E_PROFILE_04_CLIENT_CONFIG_FILE_EXTERNAL}
2624        @ONLY)
2625    copy_to_builddir(
2626        ${PROJECT_SOURCE_DIR}/test/e2e_tests/${TEST_E2E_PROFILE_04_CLIENT_CONFIG_FILE_EXTERNAL}
2627        ${PROJECT_BINARY_DIR}/test/${TEST_E2E_PROFILE_04_CLIENT_CONFIG_FILE_EXTERNAL}
2628        ${TEST_E2E_PROFILE_04_SERVICE}
2629    )
2630
2631    # Copy bashscript to start external tests (master) into $BUILDDIR/test
2632    set(TEST_E2E_PROFILE_04_EXTERNAL_MASTER_START_SCRIPT ${TEST_E2E_PROFILE_04_NAME}_external_master_start.sh)
2633    copy_to_builddir(
2634        ${PROJECT_SOURCE_DIR}/test/e2e_tests/${TEST_E2E_PROFILE_04_EXTERNAL_MASTER_START_SCRIPT}
2635        ${PROJECT_BINARY_DIR}/test/${TEST_E2E_PROFILE_04_EXTERNAL_MASTER_START_SCRIPT}
2636        ${TEST_E2E_PROFILE_04_SERVICE}
2637    )
2638
2639    # Copy bashscript to start external tests (slave) into $BUILDDIR/test
2640    set(TEST_E2E_PROFILE_04_EXTERNAL_SLAVE_START_SCRIPT ${TEST_E2E_PROFILE_04_NAME}_external_slave_start.sh)
2641    copy_to_builddir(
2642        ${PROJECT_SOURCE_DIR}/test/e2e_tests/${TEST_E2E_PROFILE_04_EXTERNAL_SLAVE_START_SCRIPT}
2643        ${PROJECT_BINARY_DIR}/test/${TEST_E2E_PROFILE_04_EXTERNAL_SLAVE_START_SCRIPT}
2644        ${TEST_E2E_PROFILE_04_SERVICE}
2645    )
2646endif()
2647
2648##############################################################################
2649# event tests
2650##############################################################################
2651
2652if(NOT ${TESTS_BAT})
2653    set(TEST_EVENT_NAME event_test)
2654    set(TEST_EVENT_SERVICE ${TEST_EVENT_NAME}_service)
2655    set(TEST_EVENT_CLIENT ${TEST_EVENT_NAME}_client)
2656
2657    add_executable(${TEST_EVENT_SERVICE} event_tests/${TEST_EVENT_SERVICE}.cpp)
2658    target_link_libraries(${TEST_EVENT_SERVICE}
2659        vsomeip3
2660        ${Boost_LIBRARIES}
2661        ${DL_LIBRARY}
2662        ${TEST_LINK_LIBRARIES}
2663    )
2664
2665    add_executable(${TEST_EVENT_CLIENT}
2666        event_tests/${TEST_EVENT_CLIENT}.cpp
2667    )
2668    target_link_libraries(${TEST_EVENT_CLIENT}
2669        vsomeip3
2670        ${Boost_LIBRARIES}
2671        ${DL_LIBRARY}
2672        ${TEST_LINK_LIBRARIES}
2673    )
2674    # Copy service config file for external allow tests into $BUILDDIR/test
2675    set(TEST_EVENT_SLAVE_TCP_CONFIG_FILE ${TEST_EVENT_NAME}_slave_tcp.json)
2676    configure_file(
2677        ${PROJECT_SOURCE_DIR}/test/event_tests/conf/${TEST_EVENT_SLAVE_TCP_CONFIG_FILE}.in
2678        ${PROJECT_SOURCE_DIR}/test/event_tests/${TEST_EVENT_SLAVE_TCP_CONFIG_FILE}
2679        @ONLY)
2680    copy_to_builddir(
2681        ${PROJECT_SOURCE_DIR}/test/event_tests/${TEST_EVENT_SLAVE_TCP_CONFIG_FILE}
2682        ${PROJECT_BINARY_DIR}/test/${TEST_EVENT_SLAVE_TCP_CONFIG_FILE}
2683        ${TEST_EVENT_SERVICE}
2684    )
2685
2686    set(TEST_EVENT_SLAVE_UDP_CONFIG_FILE ${TEST_EVENT_NAME}_slave_udp.json)
2687    configure_file(
2688        ${PROJECT_SOURCE_DIR}/test/event_tests/conf/${TEST_EVENT_SLAVE_UDP_CONFIG_FILE}.in
2689        ${PROJECT_SOURCE_DIR}/test/event_tests/${TEST_EVENT_SLAVE_UDP_CONFIG_FILE}
2690        @ONLY)
2691    copy_to_builddir(
2692        ${PROJECT_SOURCE_DIR}/test/event_tests/${TEST_EVENT_SLAVE_UDP_CONFIG_FILE}
2693        ${PROJECT_BINARY_DIR}/test/${TEST_EVENT_SLAVE_UDP_CONFIG_FILE}
2694        ${TEST_EVENT_SERVICE}
2695    )
2696
2697    set(TEST_EVENT_MASTER_CONFIG_FILE ${TEST_EVENT_NAME}_master.json)
2698    configure_file(
2699        ${PROJECT_SOURCE_DIR}/test/event_tests/conf/${TEST_EVENT_MASTER_CONFIG_FILE}.in
2700        ${PROJECT_SOURCE_DIR}/test/event_tests/${TEST_EVENT_MASTER_CONFIG_FILE}
2701        @ONLY)
2702    copy_to_builddir(
2703        ${PROJECT_SOURCE_DIR}/test/event_tests/${TEST_EVENT_MASTER_CONFIG_FILE}
2704        ${PROJECT_BINARY_DIR}/test/${TEST_EVENT_MASTER_CONFIG_FILE}
2705        ${TEST_EVENT_CLIENT}
2706    )
2707
2708    # Copy bashscript to start test (master) into $BUILDDIR/test
2709    set(TEST_EVENT_MASTER_START_SCRIPT ${TEST_EVENT_NAME}_master_starter.sh)
2710    copy_to_builddir(
2711        ${PROJECT_SOURCE_DIR}/test/event_tests/${TEST_EVENT_MASTER_START_SCRIPT}
2712        ${PROJECT_BINARY_DIR}/test/${TEST_EVENT_MASTER_START_SCRIPT}
2713        ${TEST_EVENT_SERVICE}
2714    )
2715
2716    # Copy bashscript to start external tests (slave) into $BUILDDIR/test
2717    set(TEST_EVENT_SLAVE_START_SCRIPT ${TEST_EVENT_NAME}_slave_starter.sh)
2718    copy_to_builddir(
2719        ${PROJECT_SOURCE_DIR}/test/event_tests/${TEST_EVENT_SLAVE_START_SCRIPT}
2720        ${PROJECT_BINARY_DIR}/test/${TEST_EVENT_SLAVE_START_SCRIPT}
2721        ${TEST_EVENT_CLIENT}
2722    )
2723
2724endif()
2725
2726##############################################################################
2727# npdu-test
2728##############################################################################
2729if(NOT ${TESTS_BAT})
2730    set(TEST_NPDU_NAME npdu_test)
2731
2732    set(TEST_NPDU_DAEMON npdu_test_rmd)
2733    set(TEST_NPDU_DAEMON_CLIENT ${TEST_NPDU_DAEMON}_client_side)
2734    add_executable(${TEST_NPDU_DAEMON_CLIENT} npdu_tests/${TEST_NPDU_DAEMON}.cpp)
2735    set_target_properties(${TEST_NPDU_DAEMON_CLIENT} PROPERTIES COMPILE_FLAGS -DRMD_CLIENT_SIDE)
2736    target_link_libraries(${TEST_NPDU_DAEMON_CLIENT}
2737        vsomeip3
2738        ${Boost_LIBRARIES}
2739        ${DL_LIBRARY}
2740        ${TEST_LINK_LIBRARIES}
2741    )
2742
2743    set(TEST_NPDU_DAEMON_SERVICE ${TEST_NPDU_DAEMON}_service_side)
2744    add_executable(${TEST_NPDU_DAEMON_SERVICE} npdu_tests/${TEST_NPDU_DAEMON}.cpp)
2745    set_target_properties(${TEST_NPDU_DAEMON_SERVICE} PROPERTIES COMPILE_FLAGS -DRMD_SERVICE_SIDE)
2746    target_link_libraries(${TEST_NPDU_DAEMON_SERVICE}
2747        vsomeip3
2748        ${Boost_LIBRARIES}
2749        ${DL_LIBRARY}
2750        ${TEST_LINK_LIBRARIES}
2751    )
2752
2753    ##############################################################################
2754
2755    set(TEST_NPDU_SERVICE npdu_test_service)
2756
2757    set(TEST_NPDU_SERVICE_ONE npdu_test_service_1)
2758    add_executable(${TEST_NPDU_SERVICE_ONE} npdu_tests/${TEST_NPDU_SERVICE}.cpp)
2759    set_target_properties(${TEST_NPDU_SERVICE_ONE} PROPERTIES COMPILE_FLAGS -DSERVICE_NUMBER=0)
2760    target_link_libraries(${TEST_NPDU_SERVICE_ONE}
2761        vsomeip3
2762        vsomeip3-cfg
2763        ${Boost_LIBRARIES}
2764        ${DL_LIBRARY}
2765        ${TEST_LINK_LIBRARIES}
2766    )
2767
2768    set(TEST_NPDU_SERVICE_TWO npdu_test_service_2)
2769    add_executable(${TEST_NPDU_SERVICE_TWO} npdu_tests/${TEST_NPDU_SERVICE}.cpp)
2770    set_target_properties(${TEST_NPDU_SERVICE_TWO} PROPERTIES COMPILE_FLAGS -DSERVICE_NUMBER=1)
2771    target_link_libraries(${TEST_NPDU_SERVICE_TWO}
2772        vsomeip3
2773        vsomeip3-cfg
2774        ${Boost_LIBRARIES}
2775        ${DL_LIBRARY}
2776        ${TEST_LINK_LIBRARIES}
2777    )
2778
2779    set(TEST_NPDU_SERVICE_THREE npdu_test_service_3)
2780    add_executable(${TEST_NPDU_SERVICE_THREE} npdu_tests/${TEST_NPDU_SERVICE}.cpp)
2781    set_target_properties(${TEST_NPDU_SERVICE_THREE} PROPERTIES COMPILE_FLAGS -DSERVICE_NUMBER=2)
2782    target_link_libraries(${TEST_NPDU_SERVICE_THREE}
2783        vsomeip3
2784        vsomeip3-cfg
2785        ${Boost_LIBRARIES}
2786        ${DL_LIBRARY}
2787        ${TEST_LINK_LIBRARIES}
2788    )
2789
2790    set(TEST_NPDU_SERVICE_FOUR npdu_test_service_4)
2791    add_executable(${TEST_NPDU_SERVICE_FOUR} npdu_tests/${TEST_NPDU_SERVICE}.cpp)
2792    set_target_properties(${TEST_NPDU_SERVICE_FOUR} PROPERTIES COMPILE_FLAGS -DSERVICE_NUMBER=3)
2793    target_link_libraries(${TEST_NPDU_SERVICE_FOUR}
2794        vsomeip3
2795        vsomeip3-cfg
2796        ${Boost_LIBRARIES}
2797        ${DL_LIBRARY}
2798        ${TEST_LINK_LIBRARIES}
2799    )
2800
2801    # Copy config file for service w/o npdu into $BUILDDIR/test
2802    set(TEST_NPDU_SERVICE_CONFIG_FILE ${TEST_NPDU_SERVICE}_no_npdu.json)
2803    configure_file(
2804        ${PROJECT_SOURCE_DIR}/test/npdu_tests/conf/${TEST_NPDU_SERVICE_CONFIG_FILE}.in
2805        ${PROJECT_SOURCE_DIR}/test/npdu_tests/${TEST_NPDU_SERVICE_CONFIG_FILE}
2806        @ONLY)
2807    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/npdu_tests/${TEST_NPDU_SERVICE_CONFIG_FILE}
2808        ${PROJECT_BINARY_DIR}/test/${TEST_NPDU_SERVICE_CONFIG_FILE}
2809        ${TEST_NPDU_SERVICE_ONE}
2810    )
2811
2812    # Copy bashscript to start service w/o npdu into $BUILDDIR/test
2813    set(TEST_NPDU_SERVICE_START_SCRIPT ${TEST_NPDU_SERVICE}_no_npdu_start.sh)
2814    copy_to_builddir(
2815        ${PROJECT_SOURCE_DIR}/test/npdu_tests/${TEST_NPDU_SERVICE_START_SCRIPT}
2816        ${PROJECT_BINARY_DIR}/test/${TEST_NPDU_SERVICE_START_SCRIPT}
2817        ${TEST_NPDU_SERVICE_ONE}
2818    )
2819
2820    # Copy config file for service with npdu into $BUILDDIR/test
2821    set(TEST_NPDU_SERVICE_CONFIG_FILE ${TEST_NPDU_SERVICE}_npdu.json)
2822    configure_file(
2823        ${PROJECT_SOURCE_DIR}/test/npdu_tests/conf/${TEST_NPDU_SERVICE_CONFIG_FILE}.in
2824        ${PROJECT_SOURCE_DIR}/test/npdu_tests/${TEST_NPDU_SERVICE_CONFIG_FILE}
2825        @ONLY)
2826    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/npdu_tests/${TEST_NPDU_SERVICE_CONFIG_FILE}
2827        ${PROJECT_BINARY_DIR}/test/${TEST_NPDU_SERVICE_CONFIG_FILE}
2828        ${TEST_NPDU_SERVICE_ONE}
2829    )
2830
2831    # Copy bashscript to start service with npdu into $BUILDDIR/test
2832    set(TEST_NPDU_SERVICE_START_SCRIPT ${TEST_NPDU_SERVICE}_npdu_start.sh)
2833    copy_to_builddir(
2834        ${PROJECT_SOURCE_DIR}/test/npdu_tests/${TEST_NPDU_SERVICE_START_SCRIPT}
2835        ${PROJECT_BINARY_DIR}/test/${TEST_NPDU_SERVICE_START_SCRIPT}
2836        ${TEST_NPDU_SERVICE_ONE}
2837    )
2838
2839    ##############################################################################
2840
2841    set(TEST_NPDU_CLIENT npdu_test_client)
2842
2843    set(TEST_NPDU_CLIENT_ONE npdu_test_client_1)
2844    add_executable(${TEST_NPDU_CLIENT_ONE} npdu_tests/${TEST_NPDU_CLIENT}.cpp)
2845    target_link_libraries(${TEST_NPDU_CLIENT_ONE}
2846        vsomeip3
2847        vsomeip3-cfg
2848        ${Boost_LIBRARIES}
2849        ${DL_LIBRARY}
2850        ${TEST_LINK_LIBRARIES}
2851    )
2852
2853    set(TEST_NPDU_CLIENT_TWO npdu_test_client_2)
2854    add_executable(${TEST_NPDU_CLIENT_TWO} npdu_tests/${TEST_NPDU_CLIENT}.cpp)
2855    target_link_libraries(${TEST_NPDU_CLIENT_TWO}
2856        vsomeip3
2857        vsomeip3-cfg
2858        ${Boost_LIBRARIES}
2859        ${DL_LIBRARY}
2860        ${TEST_LINK_LIBRARIES}
2861    )
2862
2863    set(TEST_NPDU_CLIENT_THREE npdu_test_client_3)
2864    add_executable(${TEST_NPDU_CLIENT_THREE} npdu_tests/${TEST_NPDU_CLIENT}.cpp)
2865    target_link_libraries(${TEST_NPDU_CLIENT_THREE}
2866        vsomeip3
2867        vsomeip3-cfg
2868        ${Boost_LIBRARIES}
2869        ${DL_LIBRARY}
2870        ${TEST_LINK_LIBRARIES}
2871    )
2872
2873    set(TEST_NPDU_CLIENT_FOUR npdu_test_client_4)
2874    add_executable(${TEST_NPDU_CLIENT_FOUR} npdu_tests/${TEST_NPDU_CLIENT}.cpp)
2875    target_link_libraries(${TEST_NPDU_CLIENT_FOUR}
2876        vsomeip3
2877        vsomeip3-cfg
2878        ${Boost_LIBRARIES}
2879        ${DL_LIBRARY}
2880        ${TEST_LINK_LIBRARIES}
2881    )
2882
2883    # Copy config files for client w/o npdu into $BUILDDIR/test
2884    set(TEST_NPDU_CLIENT_CONFIG_FILE ${TEST_NPDU_CLIENT}_no_npdu.json)
2885    configure_file(
2886        ${PROJECT_SOURCE_DIR}/test/npdu_tests/conf/${TEST_NPDU_CLIENT_CONFIG_FILE}.in
2887        ${PROJECT_SOURCE_DIR}/test/npdu_tests/${TEST_NPDU_CLIENT_CONFIG_FILE}
2888        @ONLY)
2889    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/npdu_tests/${TEST_NPDU_CLIENT_CONFIG_FILE}
2890        ${PROJECT_BINARY_DIR}/test/${TEST_NPDU_CLIENT_CONFIG_FILE}
2891        ${TEST_NPDU_CLIENT_ONE}
2892    )
2893
2894    # Copy bashscript to start client w/o npdu into $BUILDDIR/test
2895    set(TEST_NPDU_CLIENT_START_SCRIPT ${TEST_NPDU_CLIENT}_no_npdu_start.sh)
2896    copy_to_builddir(
2897        ${PROJECT_SOURCE_DIR}/test/npdu_tests/${TEST_NPDU_CLIENT_START_SCRIPT}
2898        ${PROJECT_BINARY_DIR}/test/${TEST_NPDU_CLIENT_START_SCRIPT}
2899        ${TEST_NPDU_CLIENT_ONE}
2900    )
2901
2902    # Copy config file for client with npdu into $BUILDDIR/test
2903    set(TEST_NPDU_CLIENT_CONFIG_FILE ${TEST_NPDU_CLIENT}_npdu.json)
2904    configure_file(
2905        ${PROJECT_SOURCE_DIR}/test/npdu_tests/conf/${TEST_NPDU_CLIENT_CONFIG_FILE}.in
2906        ${PROJECT_SOURCE_DIR}/test/npdu_tests/${TEST_NPDU_CLIENT_CONFIG_FILE}
2907        @ONLY)
2908    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/npdu_tests/${TEST_NPDU_CLIENT_CONFIG_FILE}
2909        ${PROJECT_BINARY_DIR}/test/${TEST_NPDU_CLIENT_CONFIG_FILE}
2910        ${TEST_NPDU_CLIENT_ONE}
2911    )
2912
2913    # Copy bashscript to start client with npdu into $BUILDDIR/test
2914    set(TEST_NPDU_CLIENT_START_SCRIPT ${TEST_NPDU_CLIENT}_npdu_start.sh)
2915    copy_to_builddir(
2916        ${PROJECT_SOURCE_DIR}/test/npdu_tests/${TEST_NPDU_CLIENT_START_SCRIPT}
2917        ${PROJECT_BINARY_DIR}/test/${TEST_NPDU_CLIENT_START_SCRIPT}
2918        ${TEST_NPDU_CLIENT_ONE}
2919    )
2920
2921    ##############################################################################
2922
2923    set(TEST_NPDU_STARTER ${TEST_NPDU_NAME}_starter.sh)
2924    copy_to_builddir(${PROJECT_SOURCE_DIR}/test/npdu_tests/${TEST_NPDU_STARTER}
2925        ${PROJECT_BINARY_DIR}/test/${TEST_NPDU_STARTER}
2926        ${TEST_NPDU_DAEMON_CLIENT}
2927    )
2928endif()
2929
2930##############################################################################
2931# someip tp tests
2932##############################################################################
2933
2934if(NOT ${TESTS_BAT})
2935    set(TEST_SOMEIPTP_NAME someip_tp_test)
2936    set(TEST_SOMEIPTP_SERVICE ${TEST_SOMEIPTP_NAME}_service)
2937
2938    add_executable(${TEST_SOMEIPTP_SERVICE} someip_tp_tests/${TEST_SOMEIPTP_SERVICE}.cpp)
2939    target_link_libraries(${TEST_SOMEIPTP_SERVICE}
2940        vsomeip3
2941        ${Boost_LIBRARIES}
2942        ${DL_LIBRARY}
2943        ${TEST_LINK_LIBRARIES}
2944    )
2945
2946    file(GLOB sd_sources
2947        "../implementation/service_discovery/src/*entry*.cpp"
2948        "../implementation/service_discovery/src/*option*.cpp"
2949        "../implementation/service_discovery/src/*message*.cpp"
2950    )
2951    set(TEST_SOMEIPTP_CLIENT ${TEST_SOMEIPTP_NAME}_msg_sender)
2952    add_executable(${TEST_SOMEIPTP_CLIENT}
2953        someip_tp_tests/${TEST_SOMEIPTP_CLIENT}.cpp
2954        ${PROJECT_SOURCE_DIR}/implementation/message/src/deserializer.cpp
2955        ${PROJECT_SOURCE_DIR}/implementation/message/src/message_impl.cpp
2956        ${PROJECT_SOURCE_DIR}/implementation/message/src/payload_impl.cpp
2957        ${PROJECT_SOURCE_DIR}/implementation/endpoints/src/tp.cpp
2958        ${PROJECT_SOURCE_DIR}/implementation/endpoints/src/tp_reassembler.cpp
2959        ${PROJECT_SOURCE_DIR}/implementation/endpoints/src/tp_message.cpp
2960        ${sd_sources}
2961    )
2962
2963    target_link_libraries(${TEST_SOMEIPTP_CLIENT}
2964        ${Boost_LIBRARIES}
2965        ${DL_LIBRARY}
2966        ${TEST_LINK_LIBRARIES}
2967        vsomeip3
2968        vsomeip3-sd
2969    )
2970
2971    # Copy service config file for external allow tests into $BUILDDIR/test
2972    set(TEST_SOMEIPTP_MASTER_CONFIG_FILE ${TEST_SOMEIPTP_NAME}_master.json)
2973    configure_file(
2974        ${PROJECT_SOURCE_DIR}/test/someip_tp_tests/conf/${TEST_SOMEIPTP_MASTER_CONFIG_FILE}.in
2975        ${PROJECT_SOURCE_DIR}/test/someip_tp_tests/${TEST_SOMEIPTP_MASTER_CONFIG_FILE}
2976        @ONLY)
2977    copy_to_builddir(
2978        ${PROJECT_SOURCE_DIR}/test/someip_tp_tests/${TEST_SOMEIPTP_MASTER_CONFIG_FILE}
2979        ${PROJECT_BINARY_DIR}/test/${TEST_SOMEIPTP_MASTER_CONFIG_FILE}
2980        ${TEST_SOMEIPTP_CLIENT}
2981    )
2982
2983    # Copy bashscript to start test (master) into $BUILDDIR/test
2984    set(TEST_SOMEIPTP_MASTER_START_SCRIPT ${TEST_SOMEIPTP_NAME}_master_starter.sh)
2985    configure_file(
2986        ${PROJECT_SOURCE_DIR}/test/someip_tp_tests/conf/${TEST_SOMEIPTP_MASTER_START_SCRIPT}.in
2987        ${PROJECT_SOURCE_DIR}/test/someip_tp_tests/${TEST_SOMEIPTP_MASTER_START_SCRIPT}
2988        @ONLY)
2989    copy_to_builddir(
2990        ${PROJECT_SOURCE_DIR}/test/someip_tp_tests/${TEST_SOMEIPTP_MASTER_START_SCRIPT}
2991        ${PROJECT_BINARY_DIR}/test/${TEST_SOMEIPTP_MASTER_START_SCRIPT}
2992        ${TEST_SOMEIPTP_SERVICE}
2993    )
2994endif()
2995
2996##############################################################################
2997# second IP address tests
2998##############################################################################
2999
3000if(NOT ${TESTS_BAT} AND ${TEST_SECOND_ADDRESS})
3001    set(TEST_SECOND_ADDRESS_NAME second_address_test)
3002    set(TEST_SECOND_ADDRESS_SERVICE ${TEST_SECOND_ADDRESS_NAME}_service)
3003    set(TEST_SECOND_ADDRESS_CLIENT ${TEST_SECOND_ADDRESS_NAME}_client)
3004
3005    add_executable(${TEST_SECOND_ADDRESS_SERVICE}
3006        second_address_tests/${TEST_SECOND_ADDRESS_SERVICE}.cpp
3007    )
3008    target_link_libraries(${TEST_SECOND_ADDRESS_SERVICE}
3009        vsomeip3
3010        ${Boost_LIBRARIES}
3011        ${DL_LIBRARY}
3012        ${TEST_LINK_LIBRARIES}
3013    )
3014
3015    add_executable(${TEST_SECOND_ADDRESS_CLIENT}
3016        second_address_tests/${TEST_SECOND_ADDRESS_CLIENT}.cpp
3017    )
3018    target_link_libraries(${TEST_SECOND_ADDRESS_CLIENT}
3019        vsomeip3
3020        ${Boost_LIBRARIES}
3021        ${DL_LIBRARY}
3022        ${TEST_LINK_LIBRARIES}
3023    )
3024
3025    set(TEST_SECOND_ADDRESS_MASTER_SERVICE_UDP_CONFIG_FILE ${TEST_SECOND_ADDRESS_NAME}_master_service_udp.json)
3026    configure_file(
3027        ${PROJECT_SOURCE_DIR}/test/second_address_tests/conf/${TEST_SECOND_ADDRESS_MASTER_SERVICE_UDP_CONFIG_FILE}.in
3028        ${PROJECT_SOURCE_DIR}/test/second_address_tests/${TEST_SECOND_ADDRESS_MASTER_SERVICE_UDP_CONFIG_FILE}
3029        @ONLY)
3030    copy_to_builddir(
3031        ${PROJECT_SOURCE_DIR}/test/second_address_tests/${TEST_SECOND_ADDRESS_MASTER_SERVICE_UDP_CONFIG_FILE}
3032        ${PROJECT_BINARY_DIR}/test/${TEST_SECOND_ADDRESS_MASTER_SERVICE_UDP_CONFIG_FILE}
3033        ${TEST_SECOND_ADDRESS_SERVICE}
3034    )
3035
3036    set(TEST_SECOND_ADDRESS_SLAVE_CLIENT_CONFIG_FILE ${TEST_SECOND_ADDRESS_NAME}_slave_client.json)
3037    configure_file(
3038        ${PROJECT_SOURCE_DIR}/test/second_address_tests/conf/${TEST_SECOND_ADDRESS_SLAVE_CLIENT_CONFIG_FILE}.in
3039        ${PROJECT_SOURCE_DIR}/test/second_address_tests/${TEST_SECOND_ADDRESS_SLAVE_CLIENT_CONFIG_FILE}
3040        @ONLY)
3041    copy_to_builddir(
3042        ${PROJECT_SOURCE_DIR}/test/second_address_tests/${TEST_SECOND_ADDRESS_SLAVE_CLIENT_CONFIG_FILE}
3043        ${PROJECT_BINARY_DIR}/test/${TEST_SECOND_ADDRESS_SLAVE_CLIENT_CONFIG_FILE}
3044        ${TEST_SECOND_ADDRESS_CLIENT}
3045    )
3046
3047    set(TEST_SECOND_ADDRESS_MASTER_CLIENT_CONFIG_FILE ${TEST_SECOND_ADDRESS_NAME}_master_client.json)
3048    configure_file(
3049        ${PROJECT_SOURCE_DIR}/test/second_address_tests/conf/${TEST_SECOND_ADDRESS_MASTER_CLIENT_CONFIG_FILE}.in
3050        ${PROJECT_SOURCE_DIR}/test/second_address_tests/${TEST_SECOND_ADDRESS_MASTER_CLIENT_CONFIG_FILE}
3051        @ONLY)
3052    copy_to_builddir(
3053        ${PROJECT_SOURCE_DIR}/test/second_address_tests/${TEST_SECOND_ADDRESS_MASTER_CLIENT_CONFIG_FILE}
3054        ${PROJECT_BINARY_DIR}/test/${TEST_SECOND_ADDRESS_MASTER_CLIENT_CONFIG_FILE}
3055        ${TEST_SECOND_ADDRESS_CLIENT}
3056    )
3057
3058    set(TEST_SECOND_ADDRESS_SLAVE_SERVICE_UDP_CONFIG_FILE ${TEST_SECOND_ADDRESS_NAME}_slave_service_udp.json)
3059    configure_file(
3060        ${PROJECT_SOURCE_DIR}/test/second_address_tests/conf/${TEST_SECOND_ADDRESS_SLAVE_SERVICE_UDP_CONFIG_FILE}.in
3061        ${PROJECT_SOURCE_DIR}/test/second_address_tests/${TEST_SECOND_ADDRESS_SLAVE_SERVICE_UDP_CONFIG_FILE}
3062        @ONLY)
3063    copy_to_builddir(
3064        ${PROJECT_SOURCE_DIR}/test/second_address_tests/${TEST_SECOND_ADDRESS_SLAVE_SERVICE_UDP_CONFIG_FILE}
3065        ${PROJECT_BINARY_DIR}/test/${TEST_SECOND_ADDRESS_SLAVE_SERVICE_UDP_CONFIG_FILE}
3066        ${TEST_SECOND_ADDRESS_SERVICE}
3067    )
3068
3069    set(TEST_SECOND_ADDRESS_MASTER_START_SCRIPT ${TEST_SECOND_ADDRESS_NAME}_master_starter.sh)
3070    copy_to_builddir(
3071        ${PROJECT_SOURCE_DIR}/test/second_address_tests/${TEST_SECOND_ADDRESS_MASTER_START_SCRIPT}
3072        ${PROJECT_BINARY_DIR}/test/${TEST_SECOND_ADDRESS_MASTER_START_SCRIPT}
3073        ${TEST_SECOND_ADDRESS_SERVICE}
3074    )
3075
3076    set(TEST_SECOND_ADDRESS_SLAVE_START_SCRIPT ${TEST_SECOND_ADDRESS_NAME}_slave_starter.sh)
3077    configure_file(
3078        ${PROJECT_SOURCE_DIR}/test/second_address_tests/conf/${TEST_SECOND_ADDRESS_SLAVE_START_SCRIPT}.in
3079        ${PROJECT_SOURCE_DIR}/test/second_address_tests/${TEST_SECOND_ADDRESS_SLAVE_START_SCRIPT}
3080        @ONLY)
3081    copy_to_builddir(
3082        ${PROJECT_SOURCE_DIR}/test/second_address_tests/${TEST_SECOND_ADDRESS_SLAVE_START_SCRIPT}
3083        ${PROJECT_BINARY_DIR}/test/${TEST_SECOND_ADDRESS_SLAVE_START_SCRIPT}
3084        ${TEST_SECOND_ADDRESS_CLIENT}
3085    )
3086endif()
3087
3088##############################################################################
3089# suspend resume tests
3090##############################################################################
3091if(NOT ${TESTS_BAT})
3092
3093    set(TEST_SUSPEND_RESUME_NAME suspend_resume_test)
3094    set(TEST_SUSPEND_RESUME_SERVICE ${TEST_SUSPEND_RESUME_NAME}_service)
3095    set(TEST_SUSPEND_RESUME_CLIENT ${TEST_SUSPEND_RESUME_NAME}_client)
3096
3097    add_executable(${TEST_SUSPEND_RESUME_SERVICE}
3098        suspend_resume_tests/${TEST_SUSPEND_RESUME_SERVICE}.cpp
3099    )
3100    target_link_libraries(${TEST_SUSPEND_RESUME_SERVICE}
3101        vsomeip3
3102        ${Boost_LIBRARIES}
3103        ${DL_LIBRARY}
3104        ${TEST_LINK_LIBRARIES}
3105    )
3106
3107    add_executable(${TEST_SUSPEND_RESUME_CLIENT}
3108        suspend_resume_tests/${TEST_SUSPEND_RESUME_CLIENT}.cpp
3109    )
3110    target_link_libraries(${TEST_SUSPEND_RESUME_CLIENT}
3111        vsomeip3
3112        ${Boost_LIBRARIES}
3113        ${DL_LIBRARY}
3114        ${TEST_LINK_LIBRARIES}
3115    )
3116
3117    set(TEST_SUSPEND_RESUME_SERVICE_CONFIG_FILE ${TEST_SUSPEND_RESUME_SERVICE}.json)
3118    configure_file(
3119        ${PROJECT_SOURCE_DIR}/test/suspend_resume_tests/conf/${TEST_SUSPEND_RESUME_SERVICE_CONFIG_FILE}.in
3120        ${PROJECT_SOURCE_DIR}/test/suspend_resume_tests/${TEST_SUSPEND_RESUME_SERVICE_CONFIG_FILE}
3121        @ONLY)
3122    copy_to_builddir(
3123        ${PROJECT_SOURCE_DIR}/test/suspend_resume_tests/${TEST_SUSPEND_RESUME_SERVICE_CONFIG_FILE}
3124        ${PROJECT_BINARY_DIR}/test/${TEST_SUSPEND_RESUME_SERVICE_CONFIG_FILE}
3125        ${TEST_SUSPEND_RESUME_CLIENT}
3126    )
3127
3128    set(TEST_SUSPEND_RESUME_CLIENT_CONFIG_FILE ${TEST_SUSPEND_RESUME_CLIENT}.json)
3129    configure_file(
3130        ${PROJECT_SOURCE_DIR}/test/suspend_resume_tests/conf/${TEST_SUSPEND_RESUME_CLIENT_CONFIG_FILE}.in
3131        ${PROJECT_SOURCE_DIR}/test/suspend_resume_tests/${TEST_SUSPEND_RESUME_CLIENT_CONFIG_FILE}
3132        @ONLY)
3133    copy_to_builddir(
3134        ${PROJECT_SOURCE_DIR}/test/suspend_resume_tests/${TEST_SUSPEND_RESUME_CLIENT_CONFIG_FILE}
3135        ${PROJECT_BINARY_DIR}/test/${TEST_SUSPEND_RESUME_CLIENT_CONFIG_FILE}
3136        ${TEST_SUSPEND_RESUME_CLIENT}
3137    )
3138
3139    set(TEST_SUSPEND_RESUME_MASTER_START_SCRIPT ${TEST_SUSPEND_RESUME_NAME}_master_starter.sh)
3140    copy_to_builddir(
3141        ${PROJECT_SOURCE_DIR}/test/suspend_resume_tests/${TEST_SUSPEND_RESUME_MASTER_START_SCRIPT}
3142        ${PROJECT_BINARY_DIR}/test/${TEST_SUSPEND_RESUME_MASTER_START_SCRIPT}
3143        ${TEST_SUSPEND_RESUME_CLIENT}
3144    )
3145
3146    set(TEST_SUSPEND_RESUME_SLAVE_START_SCRIPT ${TEST_SUSPEND_RESUME_NAME}_slave_starter.sh)
3147    copy_to_builddir(
3148        ${PROJECT_SOURCE_DIR}/test/suspend_resume_tests/${TEST_SUSPEND_RESUME_SLAVE_START_SCRIPT}
3149        ${PROJECT_BINARY_DIR}/test/${TEST_SUSPEND_RESUME_SLAVE_START_SCRIPT}
3150        ${TEST_SUSPEND_RESUME_CLIENT}
3151    )
3152
3153endif()
3154
3155##############################################################################
3156# Add for every test a dependency to gtest
3157##############################################################################
3158
3159if(NOT ${TESTS_BAT})
3160    add_dependencies(${TEST_CONFIGURATION} gtest)
3161    add_dependencies(${TEST_APPLICATION} gtest)
3162    add_dependencies(${TEST_APPLICATION_SINGLE_PROCESS_NAME} gtest)
3163    add_dependencies(${TEST_APPLICATION_AVAILABILITY_NAME} gtest)
3164    add_dependencies(${TEST_MAGIC_COOKIES_CLIENT} gtest)
3165    add_dependencies(${TEST_MAGIC_COOKIES_SERVICE} gtest)
3166    add_dependencies(${TEST_HEADER_FACTORY} gtest)
3167    add_dependencies(${TEST_HEADER_FACTORY_CLIENT} gtest)
3168    add_dependencies(${TEST_HEADER_FACTORY_SERVICE} gtest)
3169    add_dependencies(${TEST_LOCAL_ROUTING_SERVICE} gtest)
3170    add_dependencies(${TEST_LOCAL_ROUTING_CLIENT} gtest)
3171    add_dependencies(${TEST_EXTERNAL_LOCAL_ROUTING_SERVICE} gtest)
3172    add_dependencies(${TEST_PAYLOAD_SERVICE} gtest)
3173    add_dependencies(${TEST_PAYLOAD_CLIENT} gtest)
3174    add_dependencies(${TEST_BIG_PAYLOAD_SERVICE} gtest)
3175    add_dependencies(${TEST_BIG_PAYLOAD_CLIENT} gtest)
3176    add_dependencies(${TEST_CLIENT_ID_SERVICE} gtest)
3177    add_dependencies(${TEST_CLIENT_ID_UTILITY} gtest)
3178    add_dependencies(${TEST_SUBSCRIBE_NOTIFY_SERVICE} gtest)
3179    add_dependencies(${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SERVICE} gtest)
3180    add_dependencies(${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_CLIENT} gtest)
3181    add_dependencies(${TEST_SUBSCRIBE_NOTIFY_ONE_SERVICE} gtest)
3182    add_dependencies(${TEST_CPU_LOAD_SERVICE} gtest)
3183    add_dependencies(${TEST_CPU_LOAD_CLIENT} gtest)
3184    add_dependencies(${TEST_INITIAL_EVENT_SERVICE} gtest)
3185    add_dependencies(${TEST_INITIAL_EVENT_CLIENT} gtest)
3186    add_dependencies(${TEST_INITIAL_EVENT_AVAILABILITY_CHECKER} gtest)
3187    add_dependencies(${TEST_INITIAL_EVENT_STOP_SERVICE} gtest)
3188    add_dependencies(${TEST_OFFER_SERVICE} gtest)
3189    add_dependencies(${TEST_OFFER_CLIENT} gtest)
3190    add_dependencies(${TEST_OFFER_SERVICE_EXTERNAL} gtest)
3191    add_dependencies(${TEST_OFFER_EXTERNAL_SD_MESSAGE_SENDER} gtest)
3192    add_dependencies(${TEST_OFFER_SERVICE_AVAILABILITY_CHECKER} gtest)
3193    add_dependencies(${TEST_OFFERED_SERVICES_INFO_CLIENT} gtest)
3194    add_dependencies(${TEST_OFFERED_SERVICES_INFO_SERVICE} gtest)
3195    add_dependencies(${TEST_PENDING_SUBSCRIPTION_SERVICE} gtest)
3196    add_dependencies(${TEST_PENDING_SUBSCRIPTION_CLIENT} gtest)
3197    add_dependencies(${TEST_MALICIOUS_DATA_SERVICE} gtest)
3198    add_dependencies(${TEST_MALICIOUS_DATA_CLIENT} gtest)
3199    if (${TEST_SECURITY})
3200        add_dependencies(${TEST_SECURITY_SERVICE} gtest)
3201        add_dependencies(${TEST_SECURITY_CLIENT} gtest)
3202    endif()
3203    add_dependencies(${TEST_E2E_SERVICE} gtest)
3204    add_dependencies(${TEST_E2E_CLIENT} gtest)
3205    if (${TEST_E2E_PROFILE_04})
3206    add_dependencies(${TEST_E2E_PROFILE_04_SERVICE} gtest)
3207    add_dependencies(${TEST_E2E_PROFILE_04_CLIENT} gtest)
3208    endif()
3209    add_dependencies(${TEST_EVENT_SERVICE} gtest)
3210    add_dependencies(${TEST_EVENT_CLIENT} gtest)
3211    add_dependencies(${TEST_NPDU_SERVICE_ONE} gtest)
3212    add_dependencies(${TEST_NPDU_SERVICE_TWO} gtest)
3213    add_dependencies(${TEST_NPDU_SERVICE_THREE} gtest)
3214    add_dependencies(${TEST_NPDU_SERVICE_FOUR} gtest)
3215    add_dependencies(${TEST_NPDU_CLIENT_ONE} gtest)
3216    add_dependencies(${TEST_NPDU_CLIENT_TWO} gtest)
3217    add_dependencies(${TEST_NPDU_CLIENT_THREE} gtest)
3218    add_dependencies(${TEST_NPDU_CLIENT_FOUR} gtest)
3219    add_dependencies(${TEST_NPDU_DAEMON_CLIENT} gtest)
3220    add_dependencies(${TEST_NPDU_DAEMON_SERVICE} gtest)
3221    add_dependencies(${TEST_SOMEIPTP_CLIENT} gtest)
3222    add_dependencies(${TEST_SOMEIPTP_SERVICE} gtest)
3223    if(${TEST_SECOND_ADDRESS})
3224        add_dependencies(${TEST_SECOND_ADDRESS_CLIENT} gtest)
3225        add_dependencies(${TEST_SECOND_ADDRESS_SERVICE} gtest)
3226    endif()
3227    add_dependencies(${TEST_SUSPEND_RESUME_CLIENT} gtest)
3228    add_dependencies(${TEST_SUSPEND_RESUME_SERVICE} gtest)
3229else()
3230    add_dependencies(${TEST_LOCAL_ROUTING_SERVICE} gtest)
3231    add_dependencies(${TEST_LOCAL_ROUTING_CLIENT} gtest)
3232endif()
3233
3234##############################################################################
3235# Add tests to the target build_tests
3236##############################################################################
3237
3238if(NOT ${TESTS_BAT})
3239    add_dependencies(build_tests ${TEST_CONFIGURATION})
3240    add_dependencies(build_tests ${TEST_APPLICATION})
3241    add_dependencies(build_tests ${TEST_APPLICATION_SINGLE_PROCESS_NAME})
3242    add_dependencies(build_tests ${TEST_APPLICATION_AVAILABILITY_NAME})
3243    add_dependencies(build_tests ${TEST_MAGIC_COOKIES_CLIENT})
3244    add_dependencies(build_tests ${TEST_MAGIC_COOKIES_SERVICE})
3245    add_dependencies(build_tests ${TEST_HEADER_FACTORY})
3246    add_dependencies(build_tests ${TEST_HEADER_FACTORY_CLIENT})
3247    add_dependencies(build_tests ${TEST_HEADER_FACTORY_SERVICE})
3248    add_dependencies(build_tests ${TEST_LOCAL_ROUTING_SERVICE})
3249    add_dependencies(build_tests ${TEST_LOCAL_ROUTING_CLIENT})
3250    add_dependencies(build_tests ${TEST_EXTERNAL_LOCAL_ROUTING_SERVICE})
3251    add_dependencies(build_tests ${TEST_PAYLOAD_SERVICE})
3252    add_dependencies(build_tests ${TEST_PAYLOAD_CLIENT})
3253    add_dependencies(build_tests ${TEST_BIG_PAYLOAD_SERVICE})
3254    add_dependencies(build_tests ${TEST_BIG_PAYLOAD_CLIENT})
3255    add_dependencies(build_tests ${TEST_CLIENT_ID_SERVICE})
3256    add_dependencies(build_tests ${TEST_CLIENT_ID_UTILITY})
3257    add_dependencies(build_tests ${TEST_SUBSCRIBE_NOTIFY_SERVICE})
3258    add_dependencies(build_tests ${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SERVICE})
3259    add_dependencies(build_tests ${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_CLIENT})
3260    add_dependencies(build_tests ${TEST_SUBSCRIBE_NOTIFY_ONE_SERVICE})
3261    add_dependencies(build_tests ${TEST_CPU_LOAD_SERVICE})
3262    add_dependencies(build_tests ${TEST_CPU_LOAD_CLIENT})
3263    add_dependencies(build_tests ${TEST_INITIAL_EVENT_SERVICE})
3264    add_dependencies(build_tests ${TEST_INITIAL_EVENT_CLIENT})
3265    add_dependencies(build_tests ${TEST_INITIAL_EVENT_AVAILABILITY_CHECKER})
3266    add_dependencies(build_tests ${TEST_INITIAL_EVENT_STOP_SERVICE})
3267    add_dependencies(build_tests ${TEST_OFFER_SERVICE})
3268    add_dependencies(build_tests ${TEST_OFFER_CLIENT})
3269    add_dependencies(build_tests ${TEST_OFFER_SERVICE_EXTERNAL})
3270    add_dependencies(build_tests ${TEST_OFFER_EXTERNAL_SD_MESSAGE_SENDER})
3271    add_dependencies(build_tests ${TEST_OFFER_SERVICE_AVAILABILITY_CHECKER})
3272    add_dependencies(build_tests ${TEST_OFFER_BIG_SERVICE})
3273    add_dependencies(build_tests ${TEST_OFFER_BIG_CLIENT})
3274    add_dependencies(build_tests ${TEST_RESTART_ROUTING_SERVICE})
3275    add_dependencies(build_tests ${TEST_RESTART_ROUTING_CLIENT})
3276    if (${TEST_SECURITY})
3277        add_dependencies(build_tests ${TEST_SECURITY_SERVICE})
3278        add_dependencies(build_tests ${TEST_SECURITY_CLIENT})
3279    endif()
3280    add_dependencies(build_tests ${TEST_OFFERED_SERVICES_INFO_CLIENT})
3281    add_dependencies(build_tests ${TEST_OFFERED_SERVICES_INFO_SERVICE})
3282    add_dependencies(build_tests ${TEST_PENDING_SUBSCRIPTION_SERVICE})
3283    add_dependencies(build_tests ${TEST_PENDING_SUBSCRIPTION_CLIENT})
3284    add_dependencies(build_tests ${TEST_MALICIOUS_DATA_SERVICE})
3285    add_dependencies(build_tests ${TEST_MALICIOUS_DATA_CLIENT})
3286    add_dependencies(build_tests ${TEST_E2E_SERVICE})
3287    add_dependencies(build_tests ${TEST_E2E_CLIENT})
3288    if (${TEST_E2E_PROFILE_04})
3289        add_dependencies(build_tests ${TEST_E2E_PROFILE_04_SERVICE})
3290        add_dependencies(build_tests ${TEST_E2E_PROFILE_04_CLIENT})
3291    endif()
3292    add_dependencies(build_tests ${TEST_EVENT_SERVICE})
3293    add_dependencies(build_tests ${TEST_EVENT_CLIENT})
3294    add_dependencies(build_tests ${TEST_NPDU_SERVICE_ONE})
3295    add_dependencies(build_tests ${TEST_NPDU_SERVICE_TWO})
3296    add_dependencies(build_tests ${TEST_NPDU_SERVICE_THREE})
3297    add_dependencies(build_tests ${TEST_NPDU_SERVICE_FOUR})
3298    add_dependencies(build_tests ${TEST_NPDU_CLIENT_ONE})
3299    add_dependencies(build_tests ${TEST_NPDU_CLIENT_TWO})
3300    add_dependencies(build_tests ${TEST_NPDU_CLIENT_THREE})
3301    add_dependencies(build_tests ${TEST_NPDU_CLIENT_FOUR})
3302    add_dependencies(build_tests ${TEST_NPDU_DAEMON_CLIENT})
3303    add_dependencies(build_tests ${TEST_NPDU_DAEMON_SERVICE})
3304    add_dependencies(build_tests ${TEST_SOMEIPTP_CLIENT})
3305    add_dependencies(build_tests ${TEST_SOMEIPTP_SERVICE})
3306    if(${TEST_SECOND_ADDRESS})
3307        add_dependencies(build_tests ${TEST_SECOND_ADDRESS_CLIENT})
3308        add_dependencies(build_tests ${TEST_SECOND_ADDRESS_SERVICE})
3309    endif()
3310    add_dependencies(build_tests ${TEST_SUSPEND_RESUME_CLIENT})
3311    add_dependencies(build_tests ${TEST_SUSPEND_RESUME_SERVICE})
3312else()
3313    add_dependencies(build_tests ${TEST_LOCAL_ROUTING_SERVICE})
3314    add_dependencies(build_tests ${TEST_LOCAL_ROUTING_CLIENT})
3315endif()
3316
3317# some tests require the routingmanagerd
3318add_dependencies(build_tests routingmanagerd)
3319
3320##############################################################################
3321# Add tests
3322##############################################################################
3323
3324if(NOT ${TESTS_BAT})
3325    add_test(NAME ${TEST_CONFIGURATION}
3326        COMMAND ${TEST_CONFIGURATION}
3327    )
3328
3329    # application test
3330    add_test(NAME ${TEST_APPLICATION}
3331        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_APPLICATION_STARTER}
3332    )
3333    set_tests_properties(${TEST_APPLICATION} PROPERTIES TIMEOUT 80)
3334    add_test(NAME ${TEST_APPLICATION_SINGLE_PROCESS_NAME}
3335        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_APPLICATION_SINGLE_PROCESS_STARTER}
3336    )
3337    set_tests_properties(${TEST_APPLICATION_SINGLE_PROCESS_NAME} PROPERTIES TIMEOUT 120)
3338
3339    add_test(NAME ${TEST_APPLICATION_AVAILABILITY_NAME}
3340        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_APPLICATION_AVAILABILITY_STARTER}
3341    )
3342    set_tests_properties(${TEST_APPLICATION_AVAILABILITY_NAME} PROPERTIES TIMEOUT 120)
3343
3344    # magic cookies test
3345    add_test(NAME ${TEST_MAGIC_COOKIES_NAME}
3346        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_MAGIC_COOKIES_STARTER}
3347    )
3348    set_tests_properties(${TEST_MAGIC_COOKIES_NAME} PROPERTIES TIMEOUT 250)
3349
3350    # Header/Factory tets
3351    add_test(NAME ${TEST_HEADER_FACTORY_NAME} COMMAND ${TEST_HEADER_FACTORY})
3352    add_test(NAME ${TEST_HEADER_FACTORY_NAME}_send_receive
3353        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_HEADER_FACTORY_STARTER}
3354    )
3355
3356    # Routing tests
3357    add_test(NAME ${TEST_LOCAL_ROUTING_NAME}
3358        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_ROUTING_STARTER}
3359    )
3360
3361    add_test(NAME ${TEST_EXTERNAL_LOCAL_ROUTING_NAME}
3362        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_LOCAL_ROUTING_STARTER}
3363    )
3364    set_tests_properties(${TEST_EXTERNAL_LOCAL_ROUTING_NAME} PROPERTIES TIMEOUT 120)
3365
3366    # Payload tests
3367    add_test(NAME ${TEST_LOCAL_PAYLOAD_NAME}
3368        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_PAYLOAD_STARTER}
3369    )
3370    add_test(NAME ${TEST_LOCAL_PAYLOAD_HUGE_NAME}
3371        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_PAYLOAD_HUGE_STARTER}
3372    )
3373    set_tests_properties(${TEST_LOCAL_PAYLOAD_HUGE_NAME} PROPERTIES TIMEOUT 960)
3374    add_test(NAME ${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_LOCAL_NAME}
3375        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_LOCAL_STARTER}
3376    )
3377    add_test(NAME ${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_EXTERNAL_NAME}
3378        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_EXTERNAL_STARTER}
3379    )
3380    set_tests_properties(${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_EXTERNAL_NAME} PROPERTIES TIMEOUT 480)
3381    add_test(NAME ${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_LOCAL_AND_EXTERNAL_NAME}
3382        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_LOCAL_AND_EXTERNAL_STARTER}
3383    )
3384    set_tests_properties(${TEST_EXTERNAL_LOCAL_PAYLOAD_CLIENT_EXTERNAL_NAME} PROPERTIES TIMEOUT 480)
3385
3386    # big payload tests
3387    add_test(NAME ${TEST_LOCAL_BIG_PAYLOAD_NAME}
3388        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_BIG_PAYLOAD_STARTER}
3389    )
3390    set_tests_properties(${TEST_LOCAL_BIG_PAYLOAD_NAME} PROPERTIES TIMEOUT 120)
3391
3392    add_test(NAME ${TEST_LOCAL_BIG_PAYLOAD_NAME_RANDOM}
3393        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_BIG_PAYLOAD_STARTER} RANDOM
3394    )
3395    set_tests_properties(${TEST_LOCAL_BIG_PAYLOAD_NAME_RANDOM} PROPERTIES TIMEOUT 120)
3396
3397    add_test(NAME ${TEST_LOCAL_BIG_PAYLOAD_NAME_LIMITED}
3398        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_BIG_PAYLOAD_STARTER} LIMITED
3399    )
3400    set_tests_properties(${TEST_LOCAL_BIG_PAYLOAD_NAME_LIMITED} PROPERTIES TIMEOUT 120)
3401
3402    add_test(NAME ${TEST_EXTERNAL_BIG_PAYLOAD_NAME}
3403        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_STARTER}
3404    )
3405    set_tests_properties(${TEST_EXTERNAL_BIG_PAYLOAD_NAME} PROPERTIES TIMEOUT 120)
3406
3407    add_test(NAME ${TEST_EXTERNAL_BIG_PAYLOAD_NAME_RANDOM}
3408        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_STARTER} RANDOM
3409    )
3410    set_tests_properties(${TEST_EXTERNAL_BIG_PAYLOAD_NAME_RANDOM} PROPERTIES TIMEOUT 120)
3411
3412    add_test(NAME ${TEST_EXTERNAL_BIG_PAYLOAD_NAME_LIMITED}
3413        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_STARTER} LIMITED
3414    )
3415    set_tests_properties(${TEST_EXTERNAL_BIG_PAYLOAD_NAME_LIMITED} PROPERTIES TIMEOUT 120)
3416
3417    add_test(NAME ${TEST_EXTERNAL_BIG_PAYLOAD_NAME_LIMITED_GENERAL}
3418        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_STARTER} LIMITEDGENERAL
3419    )
3420    set_tests_properties(${TEST_EXTERNAL_BIG_PAYLOAD_NAME_LIMITED_GENERAL} PROPERTIES TIMEOUT 120)
3421
3422    add_test(NAME ${TEST_LOCAL_BIG_PAYLOAD_NAME_QUEUE_LIMITED}
3423        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_BIG_PAYLOAD_STARTER} QUEUELIMITEDGENERAL
3424    )
3425    set_tests_properties(${TEST_LOCAL_BIG_PAYLOAD_NAME_QUEUE_LIMITED} PROPERTIES TIMEOUT 120)
3426
3427    add_test(NAME ${TEST_EXTERNAL_BIG_PAYLOAD_NAME_QUEUE_LIMITED_GENERAL}
3428        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_STARTER} QUEUELIMITEDGENERAL
3429    )
3430    set_tests_properties(${TEST_EXTERNAL_BIG_PAYLOAD_NAME_QUEUE_LIMITED_GENERAL} PROPERTIES TIMEOUT 120)
3431
3432    add_test(NAME ${TEST_EXTERNAL_BIG_PAYLOAD_NAME_QUEUE_LIMITED_SPECIFIC}
3433        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_STARTER} QUEUELIMITEDSPECIFIC
3434    )
3435    set_tests_properties(${TEST_EXTERNAL_BIG_PAYLOAD_NAME_QUEUE_LIMITED_SPECIFIC} PROPERTIES TIMEOUT 120)
3436
3437    add_test(NAME ${TEST_EXTERNAL_BIG_PAYLOAD_NAME_UDP}
3438        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_EXTERNAL_BIG_PAYLOAD_STARTER} UDP
3439    )
3440    set_tests_properties(${TEST_EXTERNAL_BIG_PAYLOAD_NAME_UDP} PROPERTIES TIMEOUT 120)
3441
3442    # client id tests
3443    add_test(NAME ${TEST_CLIENT_ID_NAME}_diff_client_ids_diff_ports
3444        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_MASTER_STARTER} ${TEST_CLIENT_ID_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE})
3445    set_tests_properties(${TEST_CLIENT_ID_NAME}_diff_client_ids_diff_ports PROPERTIES TIMEOUT 120)
3446
3447    add_test(NAME ${TEST_CLIENT_ID_NAME}_diff_client_ids_same_ports
3448        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_MASTER_STARTER} ${TEST_CLIENT_ID_DIFF_IDS_SAME_PORTS_MASTER_CONFIG_FILE})
3449    set_tests_properties(${TEST_CLIENT_ID_NAME}_diff_client_ids_same_ports PROPERTIES TIMEOUT 120)
3450
3451    add_test(NAME ${TEST_CLIENT_ID_NAME}_diff_client_ids_partial_same_ports
3452        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_MASTER_STARTER} ${TEST_CLIENT_ID_DIFF_IDS_PARTIAL_SAME_PORTS_MASTER_CONFIG_FILE})
3453    set_tests_properties(${TEST_CLIENT_ID_NAME}_diff_client_ids_partial_same_ports PROPERTIES TIMEOUT 120)
3454
3455    add_test(NAME ${TEST_CLIENT_ID_UTILITY}
3456        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_UTILITY})
3457    set_property(TEST ${TEST_CLIENT_ID_UTILITY}
3458        APPEND PROPERTY ENVIRONMENT
3459        "VSOMEIP_CONFIGURATION=${TEST_CLIENT_ID_UTILITY_CONFIG_FILE}")
3460    set_tests_properties(${TEST_CLIENT_ID_UTILITY} PROPERTIES TIMEOUT 120)
3461
3462    add_test(NAME ${TEST_CLIENT_ID_UTILITY}_masked_511
3463        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_UTILITY})
3464    set_property(TEST ${TEST_CLIENT_ID_UTILITY}_masked_511
3465        APPEND PROPERTY ENVIRONMENT
3466        "VSOMEIP_CONFIGURATION=${TEST_CLIENT_ID_UTILITY_MASKED_511_CONFIG_FILE}")
3467    set_tests_properties(${TEST_CLIENT_ID_UTILITY}_masked_511 PROPERTIES TIMEOUT 120)
3468
3469    add_test(NAME ${TEST_CLIENT_ID_UTILITY}_masked_4095
3470        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_UTILITY})
3471    set_property(TEST ${TEST_CLIENT_ID_UTILITY}_masked_4095
3472        APPEND PROPERTY ENVIRONMENT
3473        "VSOMEIP_CONFIGURATION=${TEST_CLIENT_ID_UTILITY_MASKED_4095_CONFIG_FILE}")
3474    set_tests_properties(${TEST_CLIENT_ID_UTILITY}_masked_4095 PROPERTIES TIMEOUT 600)
3475
3476    add_test(NAME ${TEST_CLIENT_ID_UTILITY}_masked_127
3477    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_UTILITY})
3478    set_property(TEST ${TEST_CLIENT_ID_UTILITY}_masked_127
3479        APPEND PROPERTY ENVIRONMENT
3480        "VSOMEIP_CONFIGURATION=${TEST_CLIENT_ID_UTILITY_MASKED_127_CONFIG_FILE}")
3481    set_tests_properties(${TEST_CLIENT_ID_UTILITY}_masked_127 PROPERTIES TIMEOUT 120)
3482
3483    add_test(NAME ${TEST_CLIENT_ID_UTILITY}_discontinuous_masked_511
3484    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_CLIENT_ID_UTILITY})
3485    set_property(TEST ${TEST_CLIENT_ID_UTILITY}_discontinuous_masked_511
3486        APPEND PROPERTY ENVIRONMENT
3487        "VSOMEIP_CONFIGURATION=${TEST_CLIENT_ID_UTILITY_MASKED_DISCONTINUOUS_511_CONFIG_FILE}")
3488    set_tests_properties(${TEST_CLIENT_ID_UTILITY}_discontinuous_masked_511 PROPERTIES TIMEOUT 120)
3489
3490    # subscribe notify tests
3491    add_test(NAME ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_diff_ports_udp
3492        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_MASTER_STARTER} UDP ${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE})
3493    set_tests_properties(${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_diff_ports_udp PROPERTIES TIMEOUT 120)
3494
3495    add_test(NAME ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_diff_ports_tcp
3496        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_MASTER_STARTER} TCP ${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE})
3497    set_tests_properties(${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_diff_ports_tcp PROPERTIES TIMEOUT 120)
3498
3499    add_test(NAME ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_diff_ports_both_tcp_and_udp
3500        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_MASTER_STARTER} TCP_AND_UDP ${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE})
3501    set_tests_properties(${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_diff_ports_both_tcp_and_udp PROPERTIES TIMEOUT 120)
3502
3503    add_test(NAME ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_same_ports_udp
3504        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_MASTER_STARTER} UDP ${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_MASTER_UDP_CONFIG_FILE})
3505    set_tests_properties(${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_same_ports_udp PROPERTIES TIMEOUT 120)
3506
3507    add_test(NAME ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_same_ports_tcp
3508        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_MASTER_STARTER} TCP ${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_MASTER_TCP_CONFIG_FILE})
3509    set_tests_properties(${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_same_ports_tcp PROPERTIES TIMEOUT 120)
3510
3511    add_test(NAME ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_same_ports_both_tcp_and_udp
3512        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_MASTER_STARTER} TCP_AND_UDP ${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_SAME_PORTS_MASTER_CONFIG_FILE})
3513    set_tests_properties(${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_same_ports_both_tcp_and_udp PROPERTIES TIMEOUT 120)
3514
3515    add_test(NAME ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_partial_same_ports_both_tcp_and_udp
3516        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_MASTER_STARTER} TCP_AND_UDP ${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_PARTIAL_SAME_PORTS_MASTER_CONFIG_FILE})
3517    set_tests_properties(${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_partial_same_ports_both_tcp_and_udp PROPERTIES TIMEOUT 120)
3518
3519    add_test(NAME ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_diff_ports_same_service_id_udp
3520        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_MASTER_STARTER} UDP ${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_MASTER_UDP_CONFIG_FILE} SAME_SERVICE_ID)
3521    set_tests_properties(${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_diff_ports_same_service_id_udp PROPERTIES TIMEOUT 120)
3522
3523    add_test(NAME ${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_diff_ports_autoconfig_udp
3524        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_MASTER_STARTER} UDP ${TEST_SUBSCRIBE_NOTIFY_DIFF_IDS_DIFF_PORTS_AUTOCONFIG_MASTER_CONFIG_FILE})
3525    set_tests_properties(${TEST_SUBSCRIBE_NOTIFY_NAME}_diff_client_ids_diff_ports_same_service_id_udp PROPERTIES TIMEOUT 120)
3526
3527    add_test(NAME ${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_NAME}_udp
3528        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_MASTER_STARTER} UDP ${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_MASTER_CONFIG_FILE})
3529    set_tests_properties(${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_NAME}_udp PROPERTIES TIMEOUT 120)
3530
3531    add_test(NAME ${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_NAME}_tcp
3532        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_MASTER_STARTER} TCP ${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_MASTER_CONFIG_FILE})
3533    set_tests_properties(${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_NAME}_tcp PROPERTIES TIMEOUT 120)
3534
3535    # subscribe notify one id tests
3536    add_test(NAME ${TEST_SUBSCRIBE_NOTIFY_ONE_NAME}_diff_client_ids_diff_ports_udp
3537        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_ONE_MASTER_STARTER} UDP ${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE})
3538    set_tests_properties(${TEST_SUBSCRIBE_NOTIFY_ONE_NAME}_diff_client_ids_diff_ports_udp PROPERTIES TIMEOUT 120)
3539
3540    add_test(NAME ${TEST_SUBSCRIBE_NOTIFY_ONE_NAME}_diff_client_ids_diff_ports_tcp
3541        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_ONE_MASTER_STARTER} TCP ${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE})
3542    set_tests_properties(${TEST_SUBSCRIBE_NOTIFY_ONE_NAME}_diff_client_ids_diff_ports_tcp PROPERTIES TIMEOUT 120)
3543
3544    add_test(NAME ${TEST_SUBSCRIBE_NOTIFY_ONE_NAME}_diff_client_ids_diff_ports_both_tcp_and_udp
3545        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SUBSCRIBE_NOTIFY_ONE_MASTER_STARTER} TCP_AND_UDP ${TEST_SUBSCRIBE_NOTIFY_ONE_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE})
3546    set_tests_properties(${TEST_SUBSCRIBE_NOTIFY_ONE_NAME}_diff_client_ids_diff_ports_both_tcp_and_udp PROPERTIES TIMEOUT 120)
3547
3548    # cpu load tests
3549    add_test(NAME ${TEST_CPU_LOAD_NAME}
3550        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_CPU_LOAD_MASTER_STARTER}
3551    )
3552    set_tests_properties(${TEST_CPU_LOAD_NAME} PROPERTIES TIMEOUT 3000)
3553
3554    # initial event tests
3555    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_diff_ports_udp
3556        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE} UDP)
3557    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_diff_client_ids_diff_ports_udp PROPERTIES TIMEOUT 120)
3558
3559    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_diff_ports_tcp
3560        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE} TCP)
3561    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_diff_client_ids_diff_ports_tcp PROPERTIES TIMEOUT 120)
3562
3563    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_diff_ports_both_tcp_and_udp
3564        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE} TCP_AND_UDP)
3565    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_diff_client_ids_diff_ports_both_tcp_and_udp PROPERTIES TIMEOUT 120)
3566
3567    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_same_ports_udp
3568        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_UDP_CONFIG_FILE} UDP)
3569    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_diff_client_ids_same_ports_udp PROPERTIES TIMEOUT 120)
3570
3571    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_same_ports_tcp
3572        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_TCP_CONFIG_FILE} TCP)
3573    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_diff_client_ids_same_ports_tcp PROPERTIES TIMEOUT 120)
3574
3575    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_same_ports_both_tcp_and_udp
3576        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_CONFIG_FILE} TCP_AND_UDP)
3577    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_diff_client_ids_same_ports_both_tcp_and_udp PROPERTIES TIMEOUT 120)
3578
3579    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_partial_same_ports_both_tcp_and_udp
3580        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_PARTIAL_SAME_PORTS_MASTER_CONFIG_FILE} TCP_AND_UDP)
3581    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_diff_client_ids_partial_same_ports_both_tcp_and_udp PROPERTIES TIMEOUT 120)
3582
3583    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_diff_ports_same_service_id_udp
3584        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_MASTER_CONFIG_FILE} TCP_AND_UDP SAME_SERVICE_ID)
3585    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_diff_client_ids_diff_ports_same_service_id_udp PROPERTIES TIMEOUT 120)
3586
3587    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_diff_ports_udp
3588        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE} UDP MULTIPLE_EVENTS)
3589    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_diff_ports_udp PROPERTIES TIMEOUT 120)
3590
3591    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_diff_ports_tcp
3592        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE} TCP MULTIPLE_EVENTS)
3593    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_diff_ports_tcp PROPERTIES TIMEOUT 120)
3594
3595    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_diff_ports_both_tcp_and_udp
3596        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE} TCP_AND_UDP MULTIPLE_EVENTS)
3597    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_diff_ports_both_tcp_and_udp PROPERTIES TIMEOUT 120)
3598
3599    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_same_ports_udp
3600        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_UDP_CONFIG_FILE} UDP MULTIPLE_EVENTS)
3601    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_same_ports_udp PROPERTIES TIMEOUT 120)
3602
3603    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_same_ports_tcp
3604        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_TCP_CONFIG_FILE} TCP MULTIPLE_EVENTS)
3605    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_same_ports_tcp PROPERTIES TIMEOUT 120)
3606
3607    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_same_ports_both_tcp_and_udp
3608        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_CONFIG_FILE} TCP_AND_UDP MULTIPLE_EVENTS)
3609    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_same_ports_both_tcp_and_udp PROPERTIES TIMEOUT 120)
3610
3611    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_partial_same_ports_both_tcp_and_udp
3612        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_PARTIAL_SAME_PORTS_MASTER_CONFIG_FILE} TCP_AND_UDP MULTIPLE_EVENTS)
3613    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_partial_same_ports_both_tcp_and_udp PROPERTIES TIMEOUT 120)
3614
3615    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_diff_ports_same_service_id_udp
3616        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_MASTER_CONFIG_FILE} TCP_AND_UDP SAME_SERVICE_ID MULTIPLE_EVENTS)
3617    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_diff_ports_same_service_id_udp PROPERTIES TIMEOUT 120)
3618
3619    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_multiple_events_subscribe_on_availability_diff_client_ids_diff_ports_udp
3620        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE} UDP MULTIPLE_EVENTS SUBSCRIBE_ON_AVAILABILITY)
3621    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_multiple_events_subscribe_on_availability_diff_client_ids_diff_ports_udp PROPERTIES TIMEOUT 120)
3622
3623    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_multiple_events_subscribe_on_availability_diff_client_ids_diff_ports_tcp
3624        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE} TCP MULTIPLE_EVENTS SUBSCRIBE_ON_AVAILABILITY)
3625    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_multiple_events_subscribe_on_availability_diff_client_ids_diff_ports_tcp PROPERTIES TIMEOUT 120)
3626
3627    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_multiple_events_subscribe_on_availability_diff_client_ids_diff_ports_both_tcp_and_udp
3628        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE} TCP_AND_UDP MULTIPLE_EVENTS SUBSCRIBE_ON_AVAILABILITY)
3629    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_multiple_events_subscribe_on_availability_diff_client_ids_diff_ports_both_tcp_and_udp PROPERTIES TIMEOUT 120)
3630
3631    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_multiple_events_subscribe_on_availability_diff_client_ids_same_ports_udp
3632        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_UDP_CONFIG_FILE} UDP MULTIPLE_EVENTS SUBSCRIBE_ON_AVAILABILITY)
3633    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_multiple_events_subscribe_on_availability_diff_client_ids_same_ports_udp PROPERTIES TIMEOUT 120)
3634
3635    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_multiple_events_subscribe_on_availability_diff_client_ids_same_ports_tcp
3636        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_TCP_CONFIG_FILE} TCP MULTIPLE_EVENTS SUBSCRIBE_ON_AVAILABILITY)
3637    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_multiple_events_subscribe_on_availability_diff_client_ids_same_ports_tcp PROPERTIES TIMEOUT 120)
3638
3639    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_multiple_events_subscribe_on_availability_diff_client_ids_same_ports_both_tcp_and_udp
3640        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_CONFIG_FILE} TCP_AND_UDP MULTIPLE_EVENTS SUBSCRIBE_ON_AVAILABILITY)
3641    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_multiple_events_subscribe_on_availability_diff_client_ids_same_ports_both_tcp_and_udp PROPERTIES TIMEOUT 120)
3642
3643    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_multiple_events_subscribe_on_availability_diff_client_ids_partial_same_ports_both_tcp_and_udp
3644        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_PARTIAL_SAME_PORTS_MASTER_CONFIG_FILE} TCP_AND_UDP MULTIPLE_EVENTS SUBSCRIBE_ON_AVAILABILITY)
3645    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_multiple_events_subscribe_on_availability_diff_client_ids_partial_same_ports_both_tcp_and_udp PROPERTIES TIMEOUT 120)
3646
3647    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_multiple_events_subscribe_on_availability_diff_client_ids_diff_ports_same_service_id_udp
3648        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_SAME_SERVICEID_MASTER_CONFIG_FILE} TCP_AND_UDP SAME_SERVICE_ID MULTIPLE_EVENTS SUBSCRIBE_ON_AVAILABILITY)
3649    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_multiple_events_subscribe_on_availability_diff_client_ids_diff_ports_same_service_id_udp PROPERTIES TIMEOUT 120)
3650
3651    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_diff_ports_partial_subscription_udp
3652        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_UDP_CONFIG_FILE} UDP MULTIPLE_EVENTS SUBSCRIBE_ONLY_ONE)
3653    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_diff_ports_partial_subscription_udp PROPERTIES TIMEOUT 120)
3654
3655    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_diff_ports_partial_subscription_tcp
3656        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_TCP_CONFIG_FILE} TCP MULTIPLE_EVENTS SUBSCRIBE_ONLY_ONE)
3657    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_diff_ports_partial_subscription_tcp PROPERTIES TIMEOUT 120)
3658
3659    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_diff_ports_partial_subscription_both_tcp_and_udp
3660        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_DIFF_PORTS_MASTER_CONFIG_FILE} TCP_AND_UDP MULTIPLE_EVENTS SUBSCRIBE_ONLY_ONE)
3661    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_multiple_events_diff_client_ids_diff_ports_partial_subscription_both_tcp_and_udp PROPERTIES TIMEOUT 120)
3662
3663    add_test(NAME ${TEST_INITIAL_EVENT_NAME}_diff_client_ids_same_ports_udp_client_subscribes_twice
3664        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_INITIAL_EVENT_MASTER_STARTER} ${TEST_INITIAL_EVENT_DIFF_IDS_SAME_PORTS_MASTER_UDP_CONFIG_FILE} UDP CLIENT_SUBSCRIBES_TWICE)
3665    set_tests_properties(${TEST_INITIAL_EVENT_NAME}_diff_client_ids_same_ports_udp_client_subscribes_twice PROPERTIES TIMEOUT 120)
3666
3667    # offer tests
3668    add_test(NAME ${TEST_OFFER_NAME}_local
3669        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_OFFER_LOCAL_STARTER})
3670    set_tests_properties(${TEST_OFFER_NAME}_local PROPERTIES TIMEOUT 180)
3671    add_test(NAME ${TEST_OFFER_NAME}_external
3672        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_OFFER_EXTERNAL_MASTER_STARTER})
3673    set_tests_properties(${TEST_OFFER_NAME}_local PROPERTIES TIMEOUT 360)
3674    add_test(NAME ${TEST_OFFER_BIG_NAME}
3675        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_OFFER_BIG_MASTER_STARTER})
3676    set_tests_properties(${TEST_OFFER_BIG_NAME} PROPERTIES TIMEOUT 360)
3677
3678    # offered services info tets
3679    add_test(NAME ${TEST_OFFERED_SERVICES_INFO_NAME}_local
3680        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_OFFERED_SERVICES_INFO_LOCAL_STARTER})
3681    set_tests_properties(${TEST_OFFERED_SERVICES_INFO_NAME}_local PROPERTIES TIMEOUT 180)
3682
3683    # Restart-Routing tests
3684    add_test(NAME ${TEST_RESTART_ROUTING_NAME}
3685        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_RESTART_ROUTING_STARTER}
3686    )
3687    if (${TEST_SECURITY})
3688        # Security tests
3689        add_test(NAME ${TEST_SECURITY_NAME}
3690            COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SECURITY_SERVICE_LOCAL_START_SCRIPT}
3691        )
3692        add_test(NAME ${TEST_SECURITY_NAME}_external_allow
3693            COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SECURITY_EXTERNAL_MASTER_START_SCRIPT} security_test_config_client_external_allow.json --allow
3694        )
3695        add_test(NAME ${TEST_SECURITY_NAME}_external_deny
3696            COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SECURITY_EXTERNAL_MASTER_START_SCRIPT} security_test_config_client_external_deny.json --deny
3697        )
3698    endif()
3699
3700    # pending subscriptions test
3701    add_test(NAME ${TEST_PENDING_SUBSCRIPTION_NAME}_subscribe
3702        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_PENDING_SUBSCRIPTION_MASTER_STARTER} SUBSCRIBE)
3703    set_tests_properties(${TEST_PENDING_SUBSCRIPTION_NAME}_subscribe PROPERTIES TIMEOUT 180)
3704
3705    add_test(NAME ${TEST_PENDING_SUBSCRIPTION_NAME}_alternating_subscribe_unsubscribe
3706        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_PENDING_SUBSCRIPTION_MASTER_STARTER} SUBSCRIBE_UNSUBSCRIBE)
3707    set_tests_properties(${TEST_PENDING_SUBSCRIPTION_NAME}_alternating_subscribe_unsubscribe PROPERTIES TIMEOUT 180)
3708
3709    add_test(NAME ${TEST_PENDING_SUBSCRIPTION_NAME}_unsubscribe
3710    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_PENDING_SUBSCRIPTION_MASTER_STARTER} UNSUBSCRIBE)
3711    set_tests_properties(${TEST_PENDING_SUBSCRIPTION_NAME}_unsubscribe PROPERTIES TIMEOUT 180)
3712
3713    add_test(NAME ${TEST_PENDING_SUBSCRIPTION_NAME}_alternating_subscribe_unsubscribe_nack
3714    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_PENDING_SUBSCRIPTION_MASTER_STARTER} SUBSCRIBE_UNSUBSCRIBE_NACK)
3715    set_tests_properties(${TEST_PENDING_SUBSCRIPTION_NAME}_alternating_subscribe_unsubscribe_nack PROPERTIES TIMEOUT 180)
3716
3717    add_test(NAME ${TEST_PENDING_SUBSCRIPTION_NAME}_alternating_subscribe_unsubscribe_same_port
3718        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_PENDING_SUBSCRIPTION_MASTER_STARTER} SUBSCRIBE_UNSUBSCRIBE_SAME_PORT)
3719    set_tests_properties(${TEST_PENDING_SUBSCRIPTION_NAME}_alternating_subscribe_unsubscribe_same_port PROPERTIES TIMEOUT 180)
3720
3721    add_test(NAME ${TEST_PENDING_SUBSCRIPTION_NAME}_subscribe_resubscribe_mixed
3722        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_PENDING_SUBSCRIPTION_MASTER_STARTER} SUBSCRIBE_RESUBSCRIBE_MIXED)
3723    set_tests_properties(${TEST_PENDING_SUBSCRIPTION_NAME}_subscribe_resubscribe_mixed PROPERTIES TIMEOUT 180)
3724
3725    add_test(NAME ${TEST_PENDING_SUBSCRIPTION_NAME}_subscribe_stopsubscribe_subscribe
3726    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_PENDING_SUBSCRIPTION_MASTER_STARTER} SUBSCRIBE_STOPSUBSCRIBE_SUBSCRIBE)
3727    set_tests_properties(${TEST_PENDING_SUBSCRIPTION_NAME}_subscribe_stopsubscribe_subscribe PROPERTIES TIMEOUT 180)
3728
3729    add_test(NAME ${TEST_PENDING_SUBSCRIPTION_NAME}_send_request_to_sd_port
3730    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_PENDING_SUBSCRIPTION_MASTER_STARTER} REQUEST_TO_SD)
3731    set_tests_properties(${TEST_PENDING_SUBSCRIPTION_NAME}_send_request_to_sd_port PROPERTIES TIMEOUT 180)
3732
3733    # malicious data test
3734    add_test(NAME ${TEST_MALICIOUS_DATA_NAME}_events
3735    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_MALICIOUS_DATA_MASTER_STARTER} MALICIOUS_EVENTS)
3736    set_tests_properties(${TEST_MALICIOUS_DATA_NAME}_events PROPERTIES TIMEOUT 180)
3737
3738    add_test(NAME ${TEST_MALICIOUS_DATA_NAME}_protocol_version
3739    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_MALICIOUS_DATA_MASTER_STARTER} PROTOCOL_VERSION)
3740    set_tests_properties(${TEST_MALICIOUS_DATA_NAME}_protocol_version PROPERTIES TIMEOUT 180)
3741
3742    add_test(NAME ${TEST_MALICIOUS_DATA_NAME}_message_type
3743    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_MALICIOUS_DATA_MASTER_STARTER} MESSAGE_TYPE)
3744    set_tests_properties(${TEST_MALICIOUS_DATA_NAME}_message_type PROPERTIES TIMEOUT 180)
3745
3746    add_test(NAME ${TEST_MALICIOUS_DATA_NAME}_return_code
3747    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_MALICIOUS_DATA_MASTER_STARTER} RETURN_CODE)
3748    set_tests_properties(${TEST_MALICIOUS_DATA_NAME}_return_code PROPERTIES TIMEOUT 180)
3749
3750    add_test(NAME ${TEST_MALICIOUS_DATA_NAME}_wrong_header_fields_udp
3751    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_MALICIOUS_DATA_MASTER_STARTER} WRONG_HEADER_FIELDS_UDP)
3752    set_tests_properties(${TEST_MALICIOUS_DATA_NAME}_wrong_header_fields_udp PROPERTIES TIMEOUT 180)
3753
3754    # npdu tests
3755    add_test(NAME ${TEST_NPDU_NAME}_udp
3756        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_NPDU_STARTER} UDP sync)
3757    set_tests_properties(${TEST_NPDU_NAME}_udp PROPERTIES TIMEOUT 840)
3758
3759    add_test(NAME ${TEST_NPDU_NAME}_tcp
3760        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_NPDU_STARTER} TCP sync)
3761    set_tests_properties(${TEST_NPDU_NAME}_tcp PROPERTIES TIMEOUT 840)
3762
3763    # e2e tests
3764    add_test(NAME ${TEST_E2E_NAME}_external
3765    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_E2E_EXTERNAL_MASTER_START_SCRIPT} e2e_test_client_external.json)
3766    set_tests_properties(${TEST_E2E_NAME}_external PROPERTIES TIMEOUT 180)
3767
3768    if (${TEST_E2E_PROFILE_04})
3769    add_test(NAME ${TEST_E2E_PROFILE_04_NAME}_external
3770    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_E2E_PROFILE_04_EXTERNAL_MASTER_START_SCRIPT} e2e_profile_04_test_client_external.json)
3771    set_tests_properties(${TEST_E2E_PROFILE_04_NAME}_external PROPERTIES TIMEOUT 180)
3772    endif ()
3773
3774    # event tests
3775    add_test(NAME ${TEST_EVENT_NAME}_payload_fixed_udp
3776    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_EVENT_MASTER_START_SCRIPT} PAYLOAD_FIXED UDP)
3777    set_tests_properties(${TEST_EVENT_NAME}_payload_fixed_udp PROPERTIES TIMEOUT 180)
3778
3779    add_test(NAME ${TEST_EVENT_NAME}_payload_fixed_tcp
3780    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_EVENT_MASTER_START_SCRIPT} PAYLOAD_FIXED TCP)
3781    set_tests_properties(${TEST_EVENT_NAME}_payload_fixed_tcp PROPERTIES TIMEOUT 180)
3782
3783    add_test(NAME ${TEST_EVENT_NAME}_payload_dynamic_udp
3784    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_EVENT_MASTER_START_SCRIPT} PAYLOAD_DYNAMIC UDP)
3785    set_tests_properties(${TEST_EVENT_NAME}_payload_dynamic_udp PROPERTIES TIMEOUT 180)
3786
3787    add_test(NAME ${TEST_EVENT_NAME}_payload_dynamic_tcp
3788    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_EVENT_MASTER_START_SCRIPT} PAYLOAD_DYNAMIC TCP)
3789    set_tests_properties(${TEST_EVENT_NAME}_payload_dynamic_tcp PROPERTIES TIMEOUT 180)
3790
3791    # SOME/IP-TP tests
3792    add_test(NAME ${TEST_SOMEIPTP_NAME}_in_sequence
3793    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SOMEIPTP_MASTER_START_SCRIPT} IN_SEQUENCE)
3794    set_tests_properties(${TEST_SOMEIPTP_NAME}_in_sequence PROPERTIES TIMEOUT 180)
3795
3796    add_test(NAME ${TEST_SOMEIPTP_NAME}_mixed
3797    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SOMEIPTP_MASTER_START_SCRIPT} MIXED)
3798    set_tests_properties(${TEST_SOMEIPTP_NAME}_mixed PROPERTIES TIMEOUT 180)
3799
3800    add_test(NAME ${TEST_SOMEIPTP_NAME}_incomplete
3801    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SOMEIPTP_MASTER_START_SCRIPT} INCOMPLETE)
3802    set_tests_properties(${TEST_SOMEIPTP_NAME}_incomplete PROPERTIES TIMEOUT 180)
3803
3804    add_test(NAME ${TEST_SOMEIPTP_NAME}_duplicate
3805    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SOMEIPTP_MASTER_START_SCRIPT} DUPLICATE)
3806    set_tests_properties(${TEST_SOMEIPTP_NAME}_duplicate PROPERTIES TIMEOUT 180)
3807
3808    add_test(NAME ${TEST_SOMEIPTP_NAME}_overlap
3809    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SOMEIPTP_MASTER_START_SCRIPT} OVERLAP)
3810    set_tests_properties(${TEST_SOMEIPTP_NAME}_overlap PROPERTIES TIMEOUT 180)
3811
3812    add_test(NAME ${TEST_SOMEIPTP_NAME}_overlap_front_back
3813    COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SOMEIPTP_MASTER_START_SCRIPT} OVERLAP_FRONT_BACK)
3814    set_tests_properties(${TEST_SOMEIPTP_NAME}_overlap_front_back PROPERTIES TIMEOUT 180)
3815
3816    if(${TEST_SECOND_ADDRESS})
3817        add_test(NAME ${TEST_SECOND_ADDRESS_NAME}_second_ip_address_service_udp
3818            COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SECOND_ADDRESS_MASTER_START_SCRIPT} SERVICE UDP
3819        )
3820        set_tests_properties(${TEST_SECOND_ADDRESS_NAME}_second_ip_address_service_udp PROPERTIES TIMEOUT 180)
3821
3822        add_test(NAME ${TEST_SECOND_ADDRESS_NAME}_second_ip_address_client_udp
3823            COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SECOND_ADDRESS_MASTER_START_SCRIPT} CLIENT UDP
3824        )
3825        set_tests_properties(${TEST_SECOND_ADDRESS_NAME}_second_ip_address_client_udp PROPERTIES TIMEOUT 180)
3826    endif()
3827
3828    # suspend resume test
3829    add_test(NAME ${TEST_SUSPEND_RESUME_NAME}_initial
3830        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_SUSPEND_RESUME_MASTER_START_SCRIPT} SERVICE
3831    )
3832    set_tests_properties(${TEST_SUSPEND_RESUME_NAME}_initial PROPERTIES TIMEOUT 80)
3833
3834else()
3835    # Routing tests
3836    add_test(NAME ${TEST_LOCAL_ROUTING_NAME}
3837        COMMAND ${PROJECT_BINARY_DIR}/test/${TEST_LOCAL_ROUTING_STARTER}
3838    )
3839endif()
3840