diff --git a/CMakeLists.txt b/CMakeLists.txt index 2df9e00d..790d6dd3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,7 +33,6 @@ SET(CLIENT_VERSION ${PAHO_VERSION_MAJOR}.${PAHO_VERSION_MINOR}.${PAHO_VERSION_PA ENABLE_LANGUAGE(CXX) INCLUDE(GNUInstallDirs) -INCLUDE(GenerateExportHeader) STRING(TIMESTAMP BUILD_TIMESTAMP UTC) MESSAGE(STATUS "Timestamp is ${BUILD_TIMESTAMP}") @@ -46,13 +45,18 @@ ENDIF() ## build options SET(PAHO_WITH_SSL FALSE CACHE BOOL "Flag that defines whether to build ssl-enabled binaries too. ") -SET(PAHO_BUILD_STATIC FALSE CACHE BOOL "Build as a static library") +SET(PAHO_BUILD_SHARED TRUE CACHE BOOL "Build shared library") +SET(PAHO_BUILD_STATIC FALSE CACHE BOOL "Build static library") SET(PAHO_BUILD_DOCUMENTATION FALSE CACHE BOOL "Create and install the HTML based API documentation (requires Doxygen)") SET(PAHO_BUILD_SAMPLES FALSE CACHE BOOL "Build sample programs") SET(PAHO_BUILD_DEB_PACKAGE FALSE CACHE BOOL "Build debian package") SET(PAHO_ENABLE_TESTING TRUE CACHE BOOL "Build tests and run") SET(PAHO_ENABLE_CPACK TRUE CACHE BOOL "Enable CPack") +IF (NOT PAHO_BUILD_SHARED AND NOT PAHO_BUILD_STATIC) + MESSAGE(FATAL_ERROR "YOu must set either PAHO_BUILD_SHARED, PAHO_BUILD_STATIC, or both") +ENDIF() + IF(PAHO_BUILD_DEB_PACKAGE) set(CMAKE_INSTALL_DOCDIR share/doc/libpaho-mqtt) ENDIF() @@ -67,27 +71,27 @@ IF(PAHO_BUILD_DOCUMENTATION) ENDIF() IF (PAHO_ENABLE_CPACK) - ### packaging settings - FILE(GLOB samples "src/samples/*.c") - INSTALL(FILES ${samples} DESTINATION ${CMAKE_INSTALL_DOCDIR}/samples) + ### packaging settings + FILE(GLOB samples "src/samples/*.c") + INSTALL(FILES ${samples} DESTINATION ${CMAKE_INSTALL_DOCDIR}/samples) - SET(CPACK_PACKAGE_VENDOR "Eclipse Paho") - SET(CPACK_PACKAGE_NAME "Eclipse-Paho-MQTT-C") - INSTALL(FILES CONTRIBUTING.md epl-v10 edl-v10 README.md notice.html DESTINATION ${CMAKE_INSTALL_DOCDIR}) + SET(CPACK_PACKAGE_VENDOR "Eclipse Paho") + SET(CPACK_PACKAGE_NAME "Eclipse-Paho-MQTT-C") + INSTALL(FILES CONTRIBUTING.md epl-v10 edl-v10 README.md notice.html DESTINATION ${CMAKE_INSTALL_DOCDIR}) - IF (WIN32) - SET(CPACK_GENERATOR "ZIP") - ELSEIF(PAHO_BUILD_DEB_PACKAGE) - INSTALL(FILES CONTRIBUTING.md epl-v10 edl-v10 README.md notice.html DESTINATION ${CMAKE_INSTALL_DOCDIR}) + IF (WIN32) + SET(CPACK_GENERATOR "ZIP") + ELSEIF(PAHO_BUILD_DEB_PACKAGE) + INSTALL(FILES CONTRIBUTING.md epl-v10 edl-v10 README.md notice.html DESTINATION ${CMAKE_INSTALL_DOCDIR}) - SET(CPACK_GENERATOR "DEB") - CONFIGURE_FILE(${CMAKE_SCRIPTS}/CPackDebConfig.cmake.in - ${CMAKE_BINARY_DIR}/CPackDebConfig.cmake @ONLY) - SET(CPACK_PROJECT_CONFIG_FILE ${CMAKE_BINARY_DIR}/CPackDebConfig.cmake) - ADD_SUBDIRECTORY(debian) - ELSE() - SET(CPACK_GENERATOR "TGZ") - ENDIF() + SET(CPACK_GENERATOR "DEB") + CONFIGURE_FILE(${CMAKE_SCRIPTS}/CPackDebConfig.cmake.in + ${CMAKE_BINARY_DIR}/CPackDebConfig.cmake @ONLY) + SET(CPACK_PROJECT_CONFIG_FILE ${CMAKE_BINARY_DIR}/CPackDebConfig.cmake) + ADD_SUBDIRECTORY(debian) + ELSE() + SET(CPACK_GENERATOR "TGZ") + ENDIF() ELSE() FILE(GLOB samples "src/samples/*.c") INSTALL(FILES ${samples} DESTINATION ${CMAKE_INSTALL_DOCDIR}) @@ -100,7 +104,7 @@ INCLUDE(CPack) IF(PAHO_ENABLE_TESTING) ENABLE_TESTING() - INCLUDE_DIRECTORIES(test ${CMAKE_BINARY_DIR} src) + INCLUDE_DIRECTORIES(test src) ADD_SUBDIRECTORY(test) ELSE() INCLUDE_DIRECTORIES(src) diff --git a/README.md b/README.md index bae232f9..998bb9d9 100644 --- a/README.md +++ b/README.md @@ -89,6 +89,7 @@ Before compiling, determine the value of some variables in order to configure fe Variable | Default Value | Description ------------ | ------------- | ------------- +PAHO_BUILD_SHARED | TRUE | Build a shared version of the libraries PAHO_BUILD_STATIC | FALSE | Build a static version of the libraries PAHO_WITH_SSL | FALSE | Flag that defines whether to build ssl-enabled binaries too. OPENSSL_SEARCH_PATH | "" (system default) | Directory containing your OpenSSL installation (i.e. `/usr/local` when headers are in `/usr/local/include` and libraries are in `/usr/local/lib`) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 09aab634..517ab0f9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -70,81 +70,98 @@ ADD_LIBRARY(common_obj OBJECT ${common_src}) SET_TARGET_PROPERTIES(common_obj PROPERTIES POSITION_INDEPENDENT_CODE ON COMPILE_DEFINITIONS "MQTT_EXPORTS=1") -TARGET_INCLUDE_DIRECTORIES(common_obj - PRIVATE ${CMAKE_BINARY_DIR} -) ADD_EXECUTABLE(MQTTVersion MQTTVersion.c) -TARGET_INCLUDE_DIRECTORIES(MQTTVersion - PRIVATE ${CMAKE_BINARY_DIR} -) -IF (PAHO_BUILD_STATIC) - ADD_LIBRARY(paho-mqtt3c STATIC $ MQTTClient.c) - ADD_LIBRARY(paho-mqtt3a STATIC $ MQTTAsync.c) -ELSE() +IF (PAHO_BUILD_SHARED) ADD_LIBRARY(paho-mqtt3c SHARED $ MQTTClient.c) ADD_LIBRARY(paho-mqtt3a SHARED $ MQTTAsync.c) + + TARGET_LINK_LIBRARIES(paho-mqtt3c ${LIBS_SYSTEM}) + TARGET_LINK_LIBRARIES(paho-mqtt3a ${LIBS_SYSTEM}) + + TARGET_LINK_LIBRARIES(MQTTVersion paho-mqtt3a paho-mqtt3c ${LIBS_SYSTEM}) + SET_TARGET_PROPERTIES( + paho-mqtt3c paho-mqtt3a PROPERTIES + VERSION ${CLIENT_VERSION} + SOVERSION ${PAHO_VERSION_MAJOR} + DEFINE_SYMBOL "MQTT_EXPORTS") + FOREACH(TARGET paho-mqtt3c paho-mqtt3a) + TARGET_INCLUDE_DIRECTORIES(${TARGET} + PUBLIC + $ + $ + PRIVATE + ${CMAKE_BINARY_DIR}) + ENDFOREACH() + + INSTALL(TARGETS paho-mqtt3c paho-mqtt3a + EXPORT eclipse-paho-mqtt-cTargets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + INSTALL(TARGETS MQTTVersion + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ENDIF() -TARGET_LINK_LIBRARIES(paho-mqtt3c ${LIBS_SYSTEM}) -TARGET_LINK_LIBRARIES(paho-mqtt3a ${LIBS_SYSTEM}) +IF (PAHO_BUILD_STATIC) + ADD_LIBRARY(paho-mqtt3c-static STATIC $ MQTTClient.c) + ADD_LIBRARY(paho-mqtt3a-static STATIC $ MQTTAsync.c) -TARGET_LINK_LIBRARIES(MQTTVersion paho-mqtt3a paho-mqtt3c ${LIBS_SYSTEM}) -SET_TARGET_PROPERTIES( - paho-mqtt3c paho-mqtt3a PROPERTIES - VERSION ${CLIENT_VERSION} - SOVERSION ${PAHO_VERSION_MAJOR} - DEFINE_SYMBOL "MQTT_EXPORTS") + TARGET_LINK_LIBRARIES(paho-mqtt3c-static ${LIBS_SYSTEM}) + TARGET_LINK_LIBRARIES(paho-mqtt3a-static ${LIBS_SYSTEM}) + IF (NOT WIN32) + SET_TARGET_PROPERTIES(paho-mqtt3c-static PROPERTIES OUTPUT_NAME paho-mqtt3c) + SET_TARGET_PROPERTIES(paho-mqtt3a-static PROPERTIES OUTPUT_NAME paho-mqtt3a) + ENDIF() -GENERATE_EXPORT_HEADER(paho-mqtt3a - BASE_NAME LIBMQTT - EXPORT_MACRO_NAME LIBMQTT_API - EXPORT_FILE_NAME ${CMAKE_BINARY_DIR}/ExportDeclarations.h -) + FOREACH(TARGET paho-mqtt3c-static paho-mqtt3a-static) + TARGET_INCLUDE_DIRECTORIES(${TARGET} + PUBLIC + $ + $ + PRIVATE + ${CMAKE_BINARY_DIR}) + ENDFOREACH() -FOREACH(TARGET paho-mqtt3c paho-mqtt3a) - TARGET_INCLUDE_DIRECTORIES(${TARGET} - PUBLIC - $ - $ - PRIVATE - ${CMAKE_BINARY_DIR}) -ENDFOREACH() + IF (NOT PAHO_BUILD_SHARED) + TARGET_LINK_LIBRARIES(MQTTVersion paho-mqtt3a-static paho-mqtt3c-static ${LIBS_SYSTEM}) + INSTALL(TARGETS paho-mqtt3c-static paho-mqtt3a-static + EXPORT eclipse-paho-mqtt-cTargets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + ELSE() + INSTALL(TARGETS paho-mqtt3c-static paho-mqtt3a-static + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + ENDIF() +ENDIF() -INSTALL(TARGETS paho-mqtt3c paho-mqtt3a - EXPORT eclipse-paho-mqtt-cTargets - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -INSTALL(TARGETS MQTTVersion - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - -INSTALL(FILES MQTTAsync.h MQTTClient.h MQTTClientPersistence.h MQTTProperties.h MQTTReasonCodes.h MQTTSubscribeOpts.h ${CMAKE_BINARY_DIR}/ExportDeclarations.h +INSTALL(FILES MQTTAsync.h MQTTClient.h MQTTClientPersistence.h MQTTProperties.h MQTTReasonCodes.h MQTTSubscribeOpts.h ExportDeclarations.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) IF (PAHO_WITH_SSL) SET(OPENSSL_SEARCH_PATH "" CACHE PATH "Directory containing OpenSSL libraries and includes") IF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") - IF(OPENSSL_SEARCH_PATH STREQUAL "") - SET(OPENSSL_SEARCH_PATH "/usr/local/opt/openssl") - ENDIF () + IF(OPENSSL_SEARCH_PATH STREQUAL "") + SET(OPENSSL_SEARCH_PATH "/usr/local/opt/openssl") + ENDIF () ENDIF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") IF (WIN32) - IF(OPENSSL_SEARCH_PATH STREQUAL "") - SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win64") - SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib64") - IF (DEFINED ENV{PAHO_WINDOWS_BUILD_BIT}) - IF ($ENV{PAHO_WINDOWS_BUILD_BIT} STREQUAL "x86") - SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win32") - SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib32") - ENDIF () + IF(OPENSSL_SEARCH_PATH STREQUAL "") + SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win64") + SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib64") + IF (DEFINED ENV{PAHO_WINDOWS_BUILD_BIT}) + IF ($ENV{PAHO_WINDOWS_BUILD_BIT} STREQUAL "x86") + SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win32") + SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib32") + ENDIF () + ENDIF () ENDIF () - ENDIF () ELSE() - SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib64") + SET(OPENSSL_SEARCH_LIB_PATH "${OPENSSL_SEARCH_PATH}/lib64") ENDIF () FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h @@ -166,41 +183,72 @@ IF (PAHO_WITH_SSL) ## common compilation for libpaho-mqtt3cs and libpaho-mqtt3as ## Note: SSL libraries must be recompiled due ifdefs ADD_LIBRARY(common_ssl_obj OBJECT ${common_src}) - SET_PROPERTY(TARGET common_ssl_obj PROPERTY POSITION_INDEPENDENT_CODE ON) + SET_PROPERTY(TARGET common_ssl_obj PROPERTY POSITION_INDEPENDENT_CODE ON) SET_PROPERTY(TARGET common_ssl_obj PROPERTY COMPILE_DEFINITIONS "OPENSSL=1;MQTT_EXPORTS=1") - TARGET_INCLUDE_DIRECTORIES(common_ssl_obj - PRIVATE ${CMAKE_BINARY_DIR} - ) - IF (PAHO_BUILD_STATIC) - ADD_LIBRARY(paho-mqtt3cs STATIC $ MQTTClient.c SSLSocket.c) - ADD_LIBRARY(paho-mqtt3as STATIC $ MQTTAsync.c SSLSocket.c) - ELSE() + IF (PAHO_BUILD_SHARED) ADD_LIBRARY(paho-mqtt3cs SHARED $ MQTTClient.c SSLSocket.c) ADD_LIBRARY(paho-mqtt3as SHARED $ MQTTAsync.c SSLSocket.c) + + TARGET_LINK_LIBRARIES(paho-mqtt3cs ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} ${LIBS_SYSTEM}) + TARGET_LINK_LIBRARIES(paho-mqtt3as ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} ${LIBS_SYSTEM}) + SET_TARGET_PROPERTIES( + paho-mqtt3cs paho-mqtt3as PROPERTIES + VERSION ${CLIENT_VERSION} + SOVERSION ${PAHO_VERSION_MAJOR} + COMPILE_DEFINITIONS "OPENSSL=1" + DEFINE_SYMBOL "MQTT_EXPORTS") + FOREACH(TARGET paho-mqtt3cs paho-mqtt3as) + TARGET_INCLUDE_DIRECTORIES(${TARGET} + PUBLIC + $ + $ + PRIVATE + ${CMAKE_BINARY_DIR}) + ENDFOREACH() + INSTALL(TARGETS paho-mqtt3cs paho-mqtt3as + EXPORT eclipse-paho-mqtt-cTargets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ENDIF() - TARGET_LINK_LIBRARIES(paho-mqtt3cs ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} ${LIBS_SYSTEM}) - TARGET_LINK_LIBRARIES(paho-mqtt3as ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} ${LIBS_SYSTEM}) - SET_TARGET_PROPERTIES( - paho-mqtt3cs paho-mqtt3as PROPERTIES - VERSION ${CLIENT_VERSION} - SOVERSION ${PAHO_VERSION_MAJOR} - COMPILE_DEFINITIONS "OPENSSL=1" - DEFINE_SYMBOL "MQTT_EXPORTS") - FOREACH(TARGET paho-mqtt3cs paho-mqtt3as) - TARGET_INCLUDE_DIRECTORIES(${TARGET} - PUBLIC - $ - $ - PRIVATE - ${CMAKE_BINARY_DIR}) - ENDFOREACH() - INSTALL(TARGETS paho-mqtt3cs paho-mqtt3as - EXPORT eclipse-paho-mqtt-cTargets - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + IF (PAHO_BUILD_STATIC) + ADD_LIBRARY(paho-mqtt3cs-static STATIC $ MQTTClient.c SSLSocket.c) + ADD_LIBRARY(paho-mqtt3as-static STATIC $ MQTTAsync.c SSLSocket.c) + + TARGET_LINK_LIBRARIES(paho-mqtt3cs-static ${OPENSSL_LIBRARIES} ${LIBS_SYSTEM}) + TARGET_LINK_LIBRARIES(paho-mqtt3as-static ${OPENSSL_LIBRARIES} ${LIBS_SYSTEM}) + SET_TARGET_PROPERTIES( + paho-mqtt3cs-static paho-mqtt3as-static PROPERTIES + VERSION ${CLIENT_VERSION} + SOVERSION ${PAHO_VERSION_MAJOR} + COMPILE_DEFINITIONS "OPENSSL=1" + LINK_FLAGS "MQTT_EXPORTS") + IF (NOT WIN32) + SET_TARGET_PROPERTIES(paho-mqtt3cs-static PROPERTIES OUTPUT_NAME paho-mqtt3cs) + SET_TARGET_PROPERTIES(paho-mqtt3as-static PROPERTIES OUTPUT_NAME paho-mqtt3as) + ENDIF() + + IF (NOT PAHO_BUILD_SHARED) + INSTALL(TARGETS paho-mqtt3cs-static paho-mqtt3as-static + EXPORT eclipse-paho-mqtt-cTargets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + ELSE() + INSTALL(TARGETS paho-mqtt3cs-static paho-mqtt3as-static + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + ENDIF() + FOREACH(TARGET paho-mqtt3cs-static paho-mqtt3as-static) + TARGET_INCLUDE_DIRECTORIES(${TARGET} + PUBLIC + $ + $ + PRIVATE + ${CMAKE_BINARY_DIR}) + ENDFOREACH() + ENDIF() ENDIF() INSTALL(EXPORT eclipse-paho-mqtt-cTargets @@ -220,16 +268,16 @@ INSTALL(FILES ADD_EXECUTABLE( Base64Test EXCLUDE_FROM_ALL Base64.c Base64.h ) TARGET_COMPILE_DEFINITIONS( Base64Test PUBLIC "-DBASE64_TEST" ) IF (PAHO_WITH_SSL) - ADD_EXECUTABLE( Base64TestOpenSSL EXCLUDE_FROM_ALL Base64.c Base64.h ) - TARGET_LINK_LIBRARIES( Base64TestOpenSSL ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} ) - TARGET_COMPILE_DEFINITIONS( Base64TestOpenSSL PUBLIC "-DBASE64_TEST -DOPENSSL=1" ) + ADD_EXECUTABLE( Base64TestOpenSSL EXCLUDE_FROM_ALL Base64.c Base64.h ) + TARGET_LINK_LIBRARIES( Base64TestOpenSSL ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} ) + TARGET_COMPILE_DEFINITIONS( Base64TestOpenSSL PUBLIC "-DBASE64_TEST -DOPENSSL=1" ) ENDIF (PAHO_WITH_SSL) # SHA1 test ADD_EXECUTABLE( Sha1Test EXCLUDE_FROM_ALL SHA1.c SHA1.h ) TARGET_COMPILE_DEFINITIONS( Sha1Test PUBLIC "-DSHA1_TEST" ) IF (PAHO_WITH_SSL) - ADD_EXECUTABLE( Sha1TestOpenSSL EXCLUDE_FROM_ALL SHA1.c SHA1.h ) - TARGET_LINK_LIBRARIES( Sha1TestOpenSSL ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} ) - TARGET_COMPILE_DEFINITIONS( Sha1TestOpenSSL PUBLIC "-DSHA1_TEST -DOPENSSL=1" ) + ADD_EXECUTABLE( Sha1TestOpenSSL EXCLUDE_FROM_ALL SHA1.c SHA1.h ) + TARGET_LINK_LIBRARIES( Sha1TestOpenSSL ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} ) + TARGET_COMPILE_DEFINITIONS( Sha1TestOpenSSL PUBLIC "-DSHA1_TEST -DOPENSSL=1" ) ENDIF (PAHO_WITH_SSL) diff --git a/src/ExportDeclarations.h b/src/ExportDeclarations.h new file mode 100644 index 00000000..1b1b9cf1 --- /dev/null +++ b/src/ExportDeclarations.h @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2020, 2020 Andreas Walter + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and Eclipse Distribution License v1.0 which accompany this distribution. + * + * The Eclipse Public License is available at + * http://www.eclipse.org/legal/epl-v10.html + * and the Eclipse Distribution License is available at + * http://www.eclipse.org/org/documents/edl-v10.php. + * + * Contributors: + * Andreas Walter - initially moved export declarations into separate fle + *******************************************************************************/ + +#if !defined(EXPORTDECLARATIONS_H) +#define EXPORTDECLARATIONS_H + +#if defined(_WIN32) || defined(_WIN64) +# if defined(MQTT_EXPORTS) +# define LIBMQTT_API __declspec(dllexport) +# elif defined(MQTT_DIRECT) +# define LIBMQTT_API +# else +# define LIBMQTT_API __declspec(dllimport) +# endif +#else +# if defined(MQTT_EXPORTS) +# define LIBMQTT_API __attribute__ ((visibility ("default"))) +# else +# define LIBMQTT_API extern +# endif +#endif + +#endif diff --git a/src/samples/CMakeLists.txt b/src/samples/CMakeLists.txt index 5dddd7ba..7e329acc 100644 --- a/src/samples/CMakeLists.txt +++ b/src/samples/CMakeLists.txt @@ -29,6 +29,8 @@ IF (WIN32) ENDIF() # sample files c + +IF (PAHO_BUILD_SHARED) ADD_EXECUTABLE(paho_c_pub paho_c_pub.c pubsub_opts.c) ADD_EXECUTABLE(paho_c_sub paho_c_sub.c pubsub_opts.c) ADD_EXECUTABLE(paho_cs_pub paho_cs_pub.c pubsub_opts.c) @@ -63,3 +65,18 @@ INSTALL(TARGETS paho_c_sub RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) +ENDIF() + +IF (PAHO_BUILD_STATIC) +ADD_EXECUTABLE(paho_c_pub_static paho_c_pub.c pubsub_opts.c) +ADD_EXECUTABLE(paho_c_sub_static paho_c_sub.c pubsub_opts.c) +ADD_EXECUTABLE(paho_cs_pub_static paho_cs_pub.c pubsub_opts.c) +ADD_EXECUTABLE(paho_cs_sub_static paho_cs_sub.c pubsub_opts.c) + +TARGET_LINK_LIBRARIES(paho_c_pub_static paho-mqtt3as-static ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB}) +TARGET_LINK_LIBRARIES(paho_c_sub_static paho-mqtt3as-static ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB}) +TARGET_LINK_LIBRARIES(paho_cs_pub_static paho-mqtt3cs-static ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB}) +TARGET_LINK_LIBRARIES(paho_cs_sub_static paho-mqtt3cs-static ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB}) + +ENDIF() + diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 7bb9d826..acc0c1bc 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -8,46 +8,46 @@ SET(CERTDIR ${CMAKE_SOURCE_DIR}/test/ssl) IF (PAHO_WITH_SSL) - SET(OPENSSL_SEARCH_PATH "" CACHE PATH "Directory containing OpenSSL libraries and includes") + SET(OPENSSL_SEARCH_PATH "" CACHE PATH "Directory containing OpenSSL libraries and includes") - IF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") - IF(OPENSSL_SEARCH_PATH STREQUAL "") - SET(OPENSSL_SEARCH_PATH "/usr/local/opt/openssl") - ENDIF () - ENDIF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") + IF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") + IF(OPENSSL_SEARCH_PATH STREQUAL "") + SET(OPENSSL_SEARCH_PATH "/usr/local/opt/openssl") + ENDIF () + ENDIF (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") - IF (WIN32) - IF(OPENSSL_SEARCH_PATH STREQUAL "") - SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win64") - IF (DEFINED ENV{PAHO_WINDOWS_BUILD_BIT}) - IF ($ENV{PAHO_WINDOWS_BUILD_BIT} STREQUAL "x86") - SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win32") - ENDIF () - ENDIF () - ENDIF () - ENDIF () + IF (WIN32) + IF(OPENSSL_SEARCH_PATH STREQUAL "") + SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win64") + IF (DEFINED ENV{PAHO_WINDOWS_BUILD_BIT}) + IF ($ENV{PAHO_WINDOWS_BUILD_BIT} STREQUAL "x86") + SET(OPENSSL_SEARCH_PATH "C:/OpenSSL-Win32") + ENDIF () + ENDIF () + ENDIF () + ENDIF () - FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h - HINTS ${OPENSSL_SEARCH_PATH}/include) + FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h + HINTS ${OPENSSL_SEARCH_PATH}/include) - MESSAGE(STATUS "OpenSSL hints: ${OPENSSL_SEARCH_PATH}") - MESSAGE(STATUS "OpenSSL headers found at ${OPENSSL_INCLUDE_DIR}") + MESSAGE(STATUS "OpenSSL hints: ${OPENSSL_SEARCH_PATH}") + MESSAGE(STATUS "OpenSSL headers found at ${OPENSSL_INCLUDE_DIR}") - INCLUDE_DIRECTORIES( - ${OPENSSL_INCLUDE_DIR} - ) + INCLUDE_DIRECTORIES( + ${OPENSSL_INCLUDE_DIR} + ) ENDIF () IF (WIN32) - SET(LIBS_SYSTEM ws2_32) + SET(LIBS_SYSTEM ws2_32) ELSEIF (UNIX) - IF(CMAKE_SYSTEM_NAME MATCHES "Linux") - SET(LIBS_SYSTEM c dl pthread) - ELSEIF (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") - SET(LIBS_SYSTEM compat pthread) - ELSE() - SET(LIBS_SYSTEM c pthread) - ENDIF() + IF(CMAKE_SYSTEM_NAME MATCHES "Linux") + SET(LIBS_SYSTEM c dl pthread) + ELSEIF (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") + SET(LIBS_SYSTEM compat pthread) + ELSE() + SET(LIBS_SYSTEM c pthread) + ENDIF() ENDIF() ADD_EXECUTABLE( @@ -65,867 +65,1772 @@ TARGET_LINK_LIBRARIES( ${LIBS_SYSTEM} ) -ADD_EXECUTABLE( - test1 - test1.c -) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test1-static + test1.c + ) + TARGET_LINK_LIBRARIES( + test1-static + paho-mqtt3c-static + ) + + ADD_TEST( + NAME test1-1-single-thread-client-static + COMMAND "test1-static" "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test1-2-multithread-callbacks-static + COMMAND "test1-static" "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test1-3-connack-return-codes-static + COMMAND "test1-static" "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test1-4-client-persistence-static + COMMAND "test1-static" "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test1-5-disconnect-with-quiesce-static + COMMAND "test1-static" "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test1-6-connlost-will-message-static + COMMAND "test1-static" "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test1-7-connlost-binary-will-message-static + COMMAND "test1-static" "--test_no" "7" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + SET_TESTS_PROPERTIES( + test1-1-single-thread-client-static + test1-2-multithread-callbacks-static + test1-3-connack-return-codes-static + test1-4-client-persistence-static + test1-5-disconnect-with-quiesce-static + test1-6-connlost-will-message-static + test1-7-connlost-binary-will-message-static + PROPERTIES TIMEOUT 540 + ) +ENDIF() -TARGET_LINK_LIBRARIES( - test1 - paho-mqtt3c -) - -IF (WIN32) +IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test1 + test1.c + ) + TARGET_LINK_LIBRARIES( + test1 + paho-mqtt3c + ) + + IF (WIN32) ADD_CUSTOM_COMMAND( TARGET test1 PRE_BUILD COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/dll-copy.cmake COMMENT "Copying DLLs to test directory" ) + ENDIF() + + ADD_TEST( + NAME test1-1-single-thread-client + COMMAND "test1" "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test1-2-multithread-callbacks + COMMAND "test1" "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test1-3-connack-return-codes + COMMAND "test1" "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test1-4-client-persistence + COMMAND "test1" "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test1-5-disconnect-with-quiesce + COMMAND "test1" "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test1-6-connlost-will-message + COMMAND "test1" "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test1-7-connlost-binary-will-message + COMMAND "test1" "--test_no" "7" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + SET_TESTS_PROPERTIES( + test1-1-single-thread-client + test1-2-multithread-callbacks + test1-3-connack-return-codes + test1-4-client-persistence + test1-5-disconnect-with-quiesce + test1-6-connlost-will-message + test1-7-connlost-binary-will-message + PROPERTIES TIMEOUT 540 + ) ENDIF() -ADD_TEST( - NAME test1-1-single-thread-client - COMMAND "test1" "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} -) -ADD_TEST( - NAME test1-2-multithread-callbacks - COMMAND "test1" "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} -) -ADD_TEST( - NAME test1-3-connack-return-codes - COMMAND "test1" "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} -) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test15-static + test15.c + ) + TARGET_LINK_LIBRARIES( + test15-static + paho-mqtt3c-static + ) + + ADD_TEST( + NAME test15-1-single-thread-client-static + COMMAND "test15-static" "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test15-2-multithread-callbacks-static + COMMAND "test15-static" "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test15-3-connack-return-codes-static + COMMAND "test15-static" "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test15-4-client-persistence-static + COMMAND "test15-static" "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test15-5-disconnect-with-quiesce-static + COMMAND "test15-static" "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test15-6-connlost-will-message-static + COMMAND "test15-static" "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test15-7-connlost-binary-will-message-static + COMMAND "test15-static" "--test_no" "7" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) -ADD_TEST( - NAME test1-4-client-persistence - COMMAND "test1" "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} -) + SET_TESTS_PROPERTIES( + test15-1-single-thread-client-static + test15-2-multithread-callbacks-static + test15-3-connack-return-codes-static + test15-4-client-persistence-static + test15-5-disconnect-with-quiesce-static + test15-6-connlost-will-message-static + test15-7-connlost-binary-will-message-static + PROPERTIES TIMEOUT 540 + ) +ENDIF() -ADD_TEST( - NAME test1-5-disconnect-with-quiesce - COMMAND "test1" "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} -) +IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test15 + test15.c + ) + TARGET_LINK_LIBRARIES( + test15 + paho-mqtt3c + ) -ADD_TEST( - NAME test1-6-connlost-will-message - COMMAND "test1" "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) + ADD_TEST( + NAME test15-1-single-thread-client + COMMAND "test15" "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test15-2-multithread-callbacks + COMMAND "test15" "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test15-3-connack-return-codes + COMMAND "test15" "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test15-4-client-persistence + COMMAND "test15" "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test15-5-disconnect-with-quiesce + COMMAND "test15" "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test15-6-connlost-will-message + COMMAND "test15" "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test15-7-connlost-binary-will-message + COMMAND "test15" "--test_no" "7" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) -ADD_TEST( - NAME test1-7-connlost-binary-will-message - COMMAND "test1" "--test_no" "7" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) + SET_TESTS_PROPERTIES( + test15-1-single-thread-client + test15-2-multithread-callbacks + test15-3-connack-return-codes + test15-4-client-persistence + test15-5-disconnect-with-quiesce + test15-6-connlost-will-message + test15-7-connlost-binary-will-message + PROPERTIES TIMEOUT 540 + ) +ENDIF() -SET_TESTS_PROPERTIES( - test1-1-single-thread-client - test1-2-multithread-callbacks - test1-3-connack-return-codes - test1-4-client-persistence - test1-5-disconnect-with-quiesce - test1-6-connlost-will-message - test1-7-connlost-binary-will-message - PROPERTIES TIMEOUT 540 -) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test2-static + test2.c + ) + + TARGET_LINK_LIBRARIES( + test2-static + paho-mqtt3c-static + ) + + ADD_TEST( + NAME test2-1-multiple-threads-single-client-static + COMMAND test2-static "--connection" ${MQTT_TEST_BROKER} + ) + + SET_TESTS_PROPERTIES( + test2-1-multiple-threads-single-client-static + PROPERTIES TIMEOUT 540 + ) +ENDIF() -ADD_EXECUTABLE( - test15 - test15.c -) +IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test2 + test2.c + ) + + TARGET_LINK_LIBRARIES( + test2 + paho-mqtt3c + ) -TARGET_LINK_LIBRARIES( - test15 - paho-mqtt3c -) + ADD_TEST( + NAME test2-1-multiple-threads-single-client + COMMAND test2 "--connection" ${MQTT_TEST_BROKER} + ) + + SET_TESTS_PROPERTIES( + test2-1-multiple-threads-single-client + PROPERTIES TIMEOUT 540 + ) +ENDIF() -ADD_TEST( - NAME test15-1-single-thread-client - COMMAND "test15" "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test15-2-multithread-callbacks - COMMAND "test15" "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test15-3-connack-return-codes - COMMAND "test15" "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test15-4-client-persistence - COMMAND "test15" "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test15-5-disconnect-with-quiesce - COMMAND "test15" "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test15-6-connlost-will-message - COMMAND "test15" "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test15-7-connlost-binary-will-message - COMMAND "test15" "--test_no" "7" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -SET_TESTS_PROPERTIES( - test15-1-single-thread-client - test15-2-multithread-callbacks - test15-3-connack-return-codes - test15-4-client-persistence - test15-5-disconnect-with-quiesce - test15-6-connlost-will-message - test15-7-connlost-binary-will-message - PROPERTIES TIMEOUT 540 -) - -ADD_EXECUTABLE( - test2 - test2.c -) - -TARGET_LINK_LIBRARIES( - test2 - paho-mqtt3c -) - -ADD_TEST( - NAME test2-1-multiple-threads-single-client - COMMAND test2 "--connection" ${MQTT_TEST_BROKER} -) - -SET_TESTS_PROPERTIES( - test2-1-multiple-threads-single-client - PROPERTIES TIMEOUT 540 -) IF (PAHO_WITH_SSL) - ADD_EXECUTABLE( - test3 - test3.c - ) - TARGET_LINK_LIBRARIES( - test3 - paho-mqtt3cs - ) - -ADD_TEST( - NAME test3-1-ssl-conn-to-non-SSL-broker - COMMAND test3 "--test_no" "1" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test3-2as-mutual-ssl-auth-single-thread - COMMAND test3 "--test_no" "2" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test3-2am-mutual-ssl-auth-multi-thread - COMMAND test3 "--test_no" "3" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test3-2b-mutual-ssl-broker-missing-client-cert - COMMAND test3 "--test_no" "4" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test3-2c-mutual-ssl-client-missing-broker-cert - COMMAND test3 "--test_no" "5" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test3-3as-broker-auth-server-cert-in-client-store-single-thread - COMMAND test3 "--test_no" "6" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test3-3am-broker-auth-server-cert-in-client-store-multi-thread - COMMAND test3 "--test_no" "7" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test3-3b-broker-auth-client-missing-broker-cert - COMMAND test3 "--test_no" "8" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test3-4s-broker-auth-accept-invalid-certificate-single-thread - COMMAND test3 "--test_no" "9" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test3-4m-broker-auth-accept-invalid-certificate-multi-thread - COMMAND test3 "--test_no" "10" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -#ADD_TEST( -# NAME test3-6-psk-ssl-auth -# COMMAND test3 "--test_no" "11" "--hostname" ${MQTT_SSL_HOSTNAME} -#) - -SET_TESTS_PROPERTIES( - test3-1-ssl-conn-to-non-SSL-broker - test3-2as-mutual-ssl-auth-single-thread - test3-2am-mutual-ssl-auth-multi-thread - test3-2b-mutual-ssl-broker-missing-client-cert - test3-2c-mutual-ssl-client-missing-broker-cert - test3-3as-broker-auth-server-cert-in-client-store-single-thread - test3-3am-broker-auth-server-cert-in-client-store-multi-thread - test3-3b-broker-auth-client-missing-broker-cert - test3-4s-broker-auth-accept-invalid-certificate-single-thread - test3-4m-broker-auth-accept-invalid-certificate-multi-thread -# test3-6-psk-ssl-auth - PROPERTIES TIMEOUT 540 -) + IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test3-static + test3.c + ) + TARGET_LINK_LIBRARIES( + test3-static + paho-mqtt3cs-static ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} + ) + + ADD_TEST( + NAME test3-1-ssl-conn-to-non-SSL-broker-static + COMMAND test3-static "--test_no" "1" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test3-2as-mutual-ssl-auth-single-thread-static + COMMAND test3-static "--test_no" "2" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test3-2am-mutual-ssl-auth-multi-thread-static + COMMAND test3-static "--test_no" "3" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test3-2b-mutual-ssl-broker-missing-client-cert-static + COMMAND test3-static "--test_no" "4" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test3-2c-mutual-ssl-client-missing-broker-cert-static + COMMAND test3-static "--test_no" "5" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test3-3as-broker-auth-server-cert-in-client-store-single-thread-static + COMMAND test3-static "--test_no" "6" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test3-3am-broker-auth-server-cert-in-client-store-multi-thread-static + COMMAND test3-static "--test_no" "7" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test3-3b-broker-auth-client-missing-broker-cert-static + COMMAND test3-static "--test_no" "8" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test3-4s-broker-auth-accept-invalid-certificate-single-thread-static + COMMAND test3-static "--test_no" "9" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test3-4m-broker-auth-accept-invalid-certificate-multi-thread-static + COMMAND test3-static "--test_no" "10" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + #ADD_TEST( + # NAME test3-6-psk-ssl-auth-static + # COMMAND test3-static "--test_no" "11" "--hostname" ${MQTT_SSL_HOSTNAME} + #) + + SET_TESTS_PROPERTIES( + test3-1-ssl-conn-to-non-SSL-broker-static + test3-2as-mutual-ssl-auth-single-thread-static + test3-2am-mutual-ssl-auth-multi-thread-static + test3-2b-mutual-ssl-broker-missing-client-cert-static + test3-2c-mutual-ssl-client-missing-broker-cert-static + test3-3as-broker-auth-server-cert-in-client-store-single-thread-static + test3-3am-broker-auth-server-cert-in-client-store-multi-thread-static + test3-3b-broker-auth-client-missing-broker-cert-static + test3-4s-broker-auth-accept-invalid-certificate-single-thread-static + test3-4m-broker-auth-accept-invalid-certificate-multi-thread-static + # test3-6-psk-ssl-auth-static + PROPERTIES TIMEOUT 540 + ) + ENDIF() + + IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test3 + test3.c + ) + TARGET_LINK_LIBRARIES( + test3 + paho-mqtt3cs + ) + + ADD_TEST( + NAME test3-1-ssl-conn-to-non-SSL-broker + COMMAND test3 "--test_no" "1" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test3-2as-mutual-ssl-auth-single-thread + COMMAND test3 "--test_no" "2" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test3-2am-mutual-ssl-auth-multi-thread + COMMAND test3 "--test_no" "3" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test3-2b-mutual-ssl-broker-missing-client-cert + COMMAND test3 "--test_no" "4" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test3-2c-mutual-ssl-client-missing-broker-cert + COMMAND test3 "--test_no" "5" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test3-3as-broker-auth-server-cert-in-client-store-single-thread + COMMAND test3 "--test_no" "6" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test3-3am-broker-auth-server-cert-in-client-store-multi-thread + COMMAND test3 "--test_no" "7" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test3-3b-broker-auth-client-missing-broker-cert + COMMAND test3 "--test_no" "8" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test3-4s-broker-auth-accept-invalid-certificate-single-thread + COMMAND test3 "--test_no" "9" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test3-4m-broker-auth-accept-invalid-certificate-multi-thread + COMMAND test3 "--test_no" "10" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + #ADD_TEST( + # NAME test3-6-psk-ssl-auth + # COMMAND test3 "--test_no" "11" "--hostname" ${MQTT_SSL_HOSTNAME} + #) + + SET_TESTS_PROPERTIES( + test3-1-ssl-conn-to-non-SSL-broker + test3-2as-mutual-ssl-auth-single-thread + test3-2am-mutual-ssl-auth-multi-thread + test3-2b-mutual-ssl-broker-missing-client-cert + test3-2c-mutual-ssl-client-missing-broker-cert + test3-3as-broker-auth-server-cert-in-client-store-single-thread + test3-3am-broker-auth-server-cert-in-client-store-multi-thread + test3-3b-broker-auth-client-missing-broker-cert + test3-4s-broker-auth-accept-invalid-certificate-single-thread + test3-4m-broker-auth-accept-invalid-certificate-multi-thread + # test3-6-psk-ssl-auth + PROPERTIES TIMEOUT 540 + ) + ENDIF() ENDIF() -ADD_EXECUTABLE( - test4 - test4.c -) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test4-static + test4.c + ) + + TARGET_LINK_LIBRARIES( + test4-static + paho-mqtt3a-static + ) + + ADD_TEST( + NAME test4-1-basic-connect-subscribe-receive-static + COMMAND test4-static "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test4-2-connect-timeout-static + COMMAND test4-static "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test4-3-multiple-client-objs-simultaneous-working-static + COMMAND test4-static "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test4-4-send-receive-big-messages-static + COMMAND test4-static "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test4-5-connack-return-codes-static + COMMAND test4-static "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test4-6-ha-connections-static + COMMAND test4-static "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test4-7-pending-tokens-static + COMMAND test4-static "--test_no" "7" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test4-8-incomplete-commands-requests-static + COMMAND test4-static "--test_no" "8" "--connection" ${MQTT_TEST_BROKER} + ) + + SET_TESTS_PROPERTIES( + test4-1-basic-connect-subscribe-receive-static + test4-2-connect-timeout-static + test4-3-multiple-client-objs-simultaneous-working-static + test4-4-send-receive-big-messages-static + test4-5-connack-return-codes-static + test4-6-ha-connections-static + test4-7-pending-tokens-static + test4-8-incomplete-commands-requests-static + PROPERTIES TIMEOUT 540 + ) +ENDIF() -TARGET_LINK_LIBRARIES( - test4 - paho-mqtt3a -) +IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test4 + test4.c + ) + TARGET_LINK_LIBRARIES( + test4 + paho-mqtt3a + ) -ADD_TEST( - NAME test4-1-basic-connect-subscribe-receive - COMMAND test4 "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} -) + ADD_TEST( + NAME test4-1-basic-connect-subscribe-receive + COMMAND test4 "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test4-2-connect-timeout + COMMAND test4 "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test4-3-multiple-client-objs-simultaneous-working + COMMAND test4 "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test4-4-send-receive-big-messages + COMMAND test4 "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test4-5-connack-return-codes + COMMAND test4 "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test4-6-ha-connections + COMMAND test4 "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test4-7-pending-tokens + COMMAND test4 "--test_no" "7" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test4-8-incomplete-commands-requests + COMMAND test4 "--test_no" "8" "--connection" ${MQTT_TEST_BROKER} + ) + + SET_TESTS_PROPERTIES( + test4-1-basic-connect-subscribe-receive + test4-2-connect-timeout + test4-3-multiple-client-objs-simultaneous-working + test4-4-send-receive-big-messages + test4-5-connack-return-codes + test4-6-ha-connections + test4-7-pending-tokens + test4-8-incomplete-commands-requests + PROPERTIES TIMEOUT 540 + ) +ENDIF() -ADD_TEST( - NAME test4-2-connect-timeout - COMMAND test4 "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} -) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test45-static + test45.c + ) + + TARGET_LINK_LIBRARIES( + test45-static + paho-mqtt3a-static + ) + + ADD_TEST( + NAME test45-1-basic-connect-subscribe-receive-static + COMMAND test45-static "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test45-2-connect-timeout-static + COMMAND test45-static "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test45-3-multiple-client-objs-simultaneous-working-static + COMMAND test45-static "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test45-4-send-receive-big-messages-static + COMMAND test45-static "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test45-5-connack-return-codes-static + COMMAND test45-static "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test45-6-ha-connections-static + COMMAND test45-static "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test45-7-pending-tokens-static + COMMAND test45-static "--test_no" "7" --verbose "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test45-8-incomplete-commands-requests-static + COMMAND test45-static "--test_no" "8" "--connection" ${MQTT_TEST_BROKER} + ) + + SET_TESTS_PROPERTIES( + test45-1-basic-connect-subscribe-receive-static + test45-2-connect-timeout-static + test45-3-multiple-client-objs-simultaneous-working-static + test45-4-send-receive-big-messages-static + test45-5-connack-return-codes-static + test45-6-ha-connections-static + test45-7-pending-tokens-static + test45-8-incomplete-commands-requests-static + PROPERTIES TIMEOUT 540 + ) +ENDIF() -ADD_TEST( - NAME test4-3-multiple-client-objs-simultaneous-working - COMMAND test4 "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} -) +IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test45 + test45.c + ) + TARGET_LINK_LIBRARIES( + test45 + paho-mqtt3a + ) -ADD_TEST( - NAME test4-4-send-receive-big-messages - COMMAND test4 "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} -) - -ADD_TEST( - NAME test4-5-connack-return-codes - COMMAND test4 "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} -) - -ADD_TEST( - NAME test4-6-ha-connections - COMMAND test4 "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} -) - -ADD_TEST( - NAME test4-7-pending-tokens - COMMAND test4 "--test_no" "7" "--connection" ${MQTT_TEST_BROKER} -) - -ADD_TEST( - NAME test4-8-incomplete-commands-requests - COMMAND test4 "--test_no" "8" "--connection" ${MQTT_TEST_BROKER} -) - -SET_TESTS_PROPERTIES( - test4-1-basic-connect-subscribe-receive - test4-2-connect-timeout - test4-3-multiple-client-objs-simultaneous-working - test4-4-send-receive-big-messages - test4-5-connack-return-codes - test4-6-ha-connections - test4-7-pending-tokens - test4-8-incomplete-commands-requests - PROPERTIES TIMEOUT 540 -) - -ADD_EXECUTABLE( - test45 - test45.c -) - -TARGET_LINK_LIBRARIES( - test45 - paho-mqtt3a -) - -ADD_TEST( - NAME test45-1-basic-connect-subscribe-receive - COMMAND test45 "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} -) - -ADD_TEST( - NAME test45-2-connect-timeout - COMMAND test45 "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} -) - -ADD_TEST( - NAME test45-3-multiple-client-objs-simultaneous-working - COMMAND test45 "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} -) - -ADD_TEST( - NAME test45-4-send-receive-big-messages - COMMAND test45 "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} -) - -ADD_TEST( - NAME test45-5-connack-return-codes - COMMAND test45 "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} -) - -ADD_TEST( - NAME test45-6-ha-connections - COMMAND test45 "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} -) - -ADD_TEST( - NAME test45-7-pending-tokens - COMMAND test45 "--test_no" "7" --verbose "--connection" ${MQTT_TEST_BROKER} -) - -ADD_TEST( - NAME test45-8-incomplete-commands-requests - COMMAND test45 "--test_no" "8" "--connection" ${MQTT_TEST_BROKER} -) - -SET_TESTS_PROPERTIES( - test45-1-basic-connect-subscribe-receive - test45-2-connect-timeout - test45-3-multiple-client-objs-simultaneous-working - test45-4-send-receive-big-messages - test45-5-connack-return-codes - test45-6-ha-connections - test45-7-pending-tokens - test45-8-incomplete-commands-requests - PROPERTIES TIMEOUT 540 -) + ADD_TEST( + NAME test45-1-basic-connect-subscribe-receive + COMMAND test45 "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test45-2-connect-timeout + COMMAND test45 "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test45-3-multiple-client-objs-simultaneous-working + COMMAND test45 "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test45-4-send-receive-big-messages + COMMAND test45 "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test45-5-connack-return-codes + COMMAND test45 "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test45-6-ha-connections + COMMAND test45 "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test45-7-pending-tokens + COMMAND test45 "--test_no" "7" --verbose "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test45-8-incomplete-commands-requests + COMMAND test45 "--test_no" "8" "--connection" ${MQTT_TEST_BROKER} + ) + + SET_TESTS_PROPERTIES( + test45-1-basic-connect-subscribe-receive + test45-2-connect-timeout + test45-3-multiple-client-objs-simultaneous-working + test45-4-send-receive-big-messages + test45-5-connack-return-codes + test45-6-ha-connections + test45-7-pending-tokens + test45-8-incomplete-commands-requests + PROPERTIES TIMEOUT 540 + ) +ENDIF() IF (PAHO_WITH_SSL) - ADD_EXECUTABLE( - test5 - test5.c - ) - - TARGET_LINK_LIBRARIES( - test5 - paho-mqtt3as - ) - -ADD_TEST( - NAME test5-1-ssl-connection-to-no-SSL-server - COMMAND test5 "--test_no" "1" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test5-1-ws-ssl-connection-to-no-SSL-server - COMMAND test5 "--test_no" "1" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test5-2a-mutual-ssl-auth-certificates-in-place - COMMAND test5 "--test_no" "2" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test5-2a-ws-mutual-ssl-auth-certificates-in-place - COMMAND test5 "--test_no" "2" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test5-2b-mutual-ssl-auth-broker-missing-client-cert - COMMAND test5 "--test_no" "3" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test5-2b-ws-mutual-ssl-auth-broker-missing-client-cert - COMMAND test5 "--test_no" "3" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test5-2c-mutual-ssl-auth-client-missing-broker-cert - COMMAND test5 "--test_no" "4" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test5-2c-ws-mutual-ssl-auth-client-missing-broker-cert - COMMAND test5 "--test_no" "4" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test5-2d-mutual-ssl-auth-client-missing-client-cert - COMMAND test5 "--test_no" "5" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test5-2d-ws-mutual-ssl-auth-client-missing-client-cert - COMMAND test5 "--test_no" "5" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test5-3a-server-auth-server-cert-in-client-store - COMMAND test5 "--test_no" "6" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test5-3a-ws-server-auth-server-cert-in-client-store - COMMAND test5 "--test_no" "6" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test5-3b-server-auth-client-missing-broker-cert - COMMAND test5 "--test_no" "7" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test5-3b-ws-server-auth-client-missing-broker-cert - COMMAND test5 "--test_no" "7" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test5-4-accept-invalid-certificates - COMMAND test5 "--test_no" "8" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test5-4-ws-accept-invalid-certificates - COMMAND test5 "--test_no" "8" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test5-6-multiple-connections - COMMAND test5 "--test_no" "9" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test5-6-ws-multiple-connections - COMMAND test5 "--test_no" "9" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test5-7-big-messages - COMMAND test5 "--test_no" "10" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -ADD_TEST( - NAME test5-7-ws-big-messages - COMMAND test5 "--test_no" "10" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" -) - -#ADD_TEST( -# NAME test5-8-psk-ssl-auth -# COMMAND test5 "--test_no" "11" "--hostname" ${MQTT_SSL_HOSTNAME} -#) - -IF (NOT WIN32) -# OpenSSL CApath tests rely on Unix-type filesystem - can it work on Windows? -ADD_TEST( - NAME test5-5-server-verify-with-capath - COMMAND test5 "--test_no" "12" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--capath" "${CERTDIR}/capath" -) - -ADD_TEST( - NAME test5-5-ws-server-verify-with-capath - COMMAND test5 "--test_no" "12" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--capath" "${CERTDIR}/capath" -) - -ADD_TEST( - NAME test5-6-server-verify-with-capath - COMMAND test5 "--test_no" "13" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--capath" "${CERTDIR}/notexist" -) - -ADD_TEST( - NAME test5-6-ws-server-verify-with-capath - COMMAND test5 "--test_no" "13" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--capath" "${CERTDIR}/notexist" -) - -SET_TESTS_PROPERTIES( - test5-5-server-verify-with-capath - test5-5-ws-server-verify-with-capath - test5-6-server-verify-with-capath - test5-6-ws-server-verify-with-capath - PROPERTIES TIMEOUT 540 -) -ENDIF () - - -SET_TESTS_PROPERTIES( - test5-1-ssl-connection-to-no-SSL-server - test5-1-ws-ssl-connection-to-no-SSL-server - test5-2a-mutual-ssl-auth-certificates-in-place - test5-2a-ws-mutual-ssl-auth-certificates-in-place - test5-2b-mutual-ssl-auth-broker-missing-client-cert - test5-2b-ws-mutual-ssl-auth-broker-missing-client-cert - test5-2c-mutual-ssl-auth-client-missing-broker-cert - test5-2c-ws-mutual-ssl-auth-client-missing-broker-cert - test5-2d-mutual-ssl-auth-client-missing-client-cert - test5-2d-ws-mutual-ssl-auth-client-missing-client-cert - test5-3a-server-auth-server-cert-in-client-store - test5-3a-ws-server-auth-server-cert-in-client-store - test5-3b-server-auth-client-missing-broker-cert - test5-3b-ws-server-auth-client-missing-broker-cert - test5-4-accept-invalid-certificates - test5-4-ws-accept-invalid-certificates - test5-6-multiple-connections - test5-6-ws-multiple-connections - test5-7-big-messages - test5-7-ws-big-messages -# test5-8-psk-ssl-auth - PROPERTIES TIMEOUT 540 -) + IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test5-static + test5.c + ) + + TARGET_LINK_LIBRARIES( + test5-static + paho-mqtt3as-static ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} + ) + + ADD_TEST( + NAME test5-1-ssl-connection-to-no-SSL-server-static + COMMAND test5-static "--test_no" "1" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-1-ws-ssl-connection-to-no-SSL-server-static + COMMAND test5-static "--test_no" "1" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-2a-mutual-ssl-auth-certificates-in-place-static + COMMAND test5-static "--test_no" "2" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-2a-ws-mutual-ssl-auth-certificates-in-place-static + COMMAND test5-static "--test_no" "2" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-2b-mutual-ssl-auth-broker-missing-client-cert-static + COMMAND test5-static "--test_no" "3" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-2b-ws-mutual-ssl-auth-broker-missing-client-cert-static + COMMAND test5-static "--test_no" "3" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-2c-mutual-ssl-auth-client-missing-broker-cert-static + COMMAND test5-static "--test_no" "4" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-2c-ws-mutual-ssl-auth-client-missing-broker-cert-static + COMMAND test5-static "--test_no" "4" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-2d-mutual-ssl-auth-client-missing-client-cert-static + COMMAND test5-static "--test_no" "5" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-2d-ws-mutual-ssl-auth-client-missing-client-cert-static + COMMAND test5-static "--test_no" "5" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-3a-server-auth-server-cert-in-client-store-static + COMMAND test5-static "--test_no" "6" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-3a-ws-server-auth-server-cert-in-client-store-static + COMMAND test5-static "--test_no" "6" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-3b-server-auth-client-missing-broker-cert-static + COMMAND test5-static "--test_no" "7" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-3b-ws-server-auth-client-missing-broker-cert-static + COMMAND test5-static "--test_no" "7" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-4-accept-invalid-certificates-static + COMMAND test5-static "--test_no" "8" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-4-ws-accept-invalid-certificates-static + COMMAND test5-static "--test_no" "8" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-6-multiple-connections-static + COMMAND test5-static "--test_no" "9" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-6-ws-multiple-connections-static + COMMAND test5-static "--test_no" "9" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-7-big-messages-static + COMMAND test5-static "--test_no" "10" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-7-ws-big-messages-static + COMMAND test5-static "--test_no" "10" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + #ADD_TEST( + # NAME test5-8-psk-ssl-auth-static + # COMMAND test5-static "--test_no" "11" "--hostname" ${MQTT_SSL_HOSTNAME} + #) + + IF (NOT WIN32) + # OpenSSL CApath tests rely on Unix-type filesystem - can it work on Windows? + ADD_TEST( + NAME test5-5-server-verify-with-capath-static + COMMAND test5-static "--test_no" "12" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--capath" "${CERTDIR}/capath" + ) + + ADD_TEST( + NAME test5-5-ws-server-verify-with-capath-static + COMMAND test5-static "--test_no" "12" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--capath" "${CERTDIR}/capath" + ) + + ADD_TEST( + NAME test5-6-server-verify-with-capath-static + COMMAND test5-static "--test_no" "13" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--capath" "${CERTDIR}/notexist" + ) + + ADD_TEST( + NAME test5-6-ws-server-verify-with-capath-static + COMMAND test5-static "--test_no" "13" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--capath" "${CERTDIR}/notexist" + ) + + SET_TESTS_PROPERTIES( + test5-5-server-verify-with-capath-static + test5-5-ws-server-verify-with-capath-static + test5-6-server-verify-with-capath-static + test5-6-ws-server-verify-with-capath-static + PROPERTIES TIMEOUT 540 + ) + ENDIF () + + + SET_TESTS_PROPERTIES( + test5-1-ssl-connection-to-no-SSL-server-static + test5-1-ws-ssl-connection-to-no-SSL-server-static + test5-2a-mutual-ssl-auth-certificates-in-place-static + test5-2a-ws-mutual-ssl-auth-certificates-in-place-static + test5-2b-mutual-ssl-auth-broker-missing-client-cert-static + test5-2b-ws-mutual-ssl-auth-broker-missing-client-cert-static + test5-2c-mutual-ssl-auth-client-missing-broker-cert-static + test5-2c-ws-mutual-ssl-auth-client-missing-broker-cert-static + test5-2d-mutual-ssl-auth-client-missing-client-cert-static + test5-2d-ws-mutual-ssl-auth-client-missing-client-cert-static + test5-3a-server-auth-server-cert-in-client-store-static + test5-3a-ws-server-auth-server-cert-in-client-store-static + test5-3b-server-auth-client-missing-broker-cert-static + test5-3b-ws-server-auth-client-missing-broker-cert-static + test5-4-accept-invalid-certificates-static + test5-4-ws-accept-invalid-certificates-static + test5-6-multiple-connections-static + test5-6-ws-multiple-connections-static + test5-7-big-messages-static + test5-7-ws-big-messages-static + # test5-8-psk-ssl-auth-static + PROPERTIES TIMEOUT 540 + ) + ENDIF() + + IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test5 + test5.c + ) + + TARGET_LINK_LIBRARIES( + test5 + paho-mqtt3as + ) + ADD_TEST( + NAME test5-1-ssl-connection-to-no-SSL-server + COMMAND test5 "--test_no" "1" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-1-ws-ssl-connection-to-no-SSL-server + COMMAND test5 "--test_no" "1" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-2a-mutual-ssl-auth-certificates-in-place + COMMAND test5 "--test_no" "2" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-2a-ws-mutual-ssl-auth-certificates-in-place + COMMAND test5 "--test_no" "2" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-2b-mutual-ssl-auth-broker-missing-client-cert + COMMAND test5 "--test_no" "3" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-2b-ws-mutual-ssl-auth-broker-missing-client-cert + COMMAND test5 "--test_no" "3" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-2c-mutual-ssl-auth-client-missing-broker-cert + COMMAND test5 "--test_no" "4" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-2c-ws-mutual-ssl-auth-client-missing-broker-cert + COMMAND test5 "--test_no" "4" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-2d-mutual-ssl-auth-client-missing-client-cert + COMMAND test5 "--test_no" "5" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-2d-ws-mutual-ssl-auth-client-missing-client-cert + COMMAND test5 "--test_no" "5" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-3a-server-auth-server-cert-in-client-store + COMMAND test5 "--test_no" "6" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-3a-ws-server-auth-server-cert-in-client-store + COMMAND test5 "--test_no" "6" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-3b-server-auth-client-missing-broker-cert + COMMAND test5 "--test_no" "7" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-3b-ws-server-auth-client-missing-broker-cert + COMMAND test5 "--test_no" "7" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-4-accept-invalid-certificates + COMMAND test5 "--test_no" "8" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-4-ws-accept-invalid-certificates + COMMAND test5 "--test_no" "8" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-6-multiple-connections + COMMAND test5 "--test_no" "9" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-6-ws-multiple-connections + COMMAND test5 "--test_no" "9" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-7-big-messages + COMMAND test5 "--test_no" "10" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + ADD_TEST( + NAME test5-7-ws-big-messages + COMMAND test5 "--test_no" "10" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" + ) + + #ADD_TEST( + # NAME test5-8-psk-ssl-auth + # COMMAND test5 "--test_no" "11" "--hostname" ${MQTT_SSL_HOSTNAME} + #) + + IF (NOT WIN32) + # OpenSSL CApath tests rely on Unix-type filesystem - can it work on Windows? + ADD_TEST( + NAME test5-5-server-verify-with-capath + COMMAND test5 "--test_no" "12" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--capath" "${CERTDIR}/capath" + ) + + ADD_TEST( + NAME test5-5-ws-server-verify-with-capath + COMMAND test5 "--test_no" "12" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--capath" "${CERTDIR}/capath" + ) + + ADD_TEST( + NAME test5-6-server-verify-with-capath + COMMAND test5 "--test_no" "13" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--capath" "${CERTDIR}/notexist" + ) + + ADD_TEST( + NAME test5-6-ws-server-verify-with-capath + COMMAND test5 "--test_no" "13" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--capath" "${CERTDIR}/notexist" + ) + + SET_TESTS_PROPERTIES( + test5-5-server-verify-with-capath + test5-5-ws-server-verify-with-capath + test5-6-server-verify-with-capath + test5-6-ws-server-verify-with-capath + PROPERTIES TIMEOUT 540 + ) + ENDIF () + + SET_TESTS_PROPERTIES( + test5-1-ssl-connection-to-no-SSL-server + test5-1-ws-ssl-connection-to-no-SSL-server + test5-2a-mutual-ssl-auth-certificates-in-place + test5-2a-ws-mutual-ssl-auth-certificates-in-place + test5-2b-mutual-ssl-auth-broker-missing-client-cert + test5-2b-ws-mutual-ssl-auth-broker-missing-client-cert + test5-2c-mutual-ssl-auth-client-missing-broker-cert + test5-2c-ws-mutual-ssl-auth-client-missing-broker-cert + test5-2d-mutual-ssl-auth-client-missing-client-cert + test5-2d-ws-mutual-ssl-auth-client-missing-client-cert + test5-3a-server-auth-server-cert-in-client-store + test5-3a-ws-server-auth-server-cert-in-client-store + test5-3b-server-auth-client-missing-broker-cert + test5-3b-ws-server-auth-client-missing-broker-cert + test5-4-accept-invalid-certificates + test5-4-ws-accept-invalid-certificates + test5-6-multiple-connections + test5-6-ws-multiple-connections + test5-7-big-messages + test5-7-ws-big-messages + # test5-8-psk-ssl-auth + PROPERTIES TIMEOUT 540 + ) + + ENDIF() ENDIF() -ADD_EXECUTABLE( - test6 - test6.c -) -TARGET_LINK_LIBRARIES( - test6 - paho-mqtt3a -) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test6-static + test6.c + ) + + TARGET_LINK_LIBRARIES( + test6-static + paho-mqtt3a-static + ) + + ADD_TEST( + NAME test6-restart-recovery-static + COMMAND test6-static "--connection" ${MQTT_TEST_BROKER} + ) + + SET_TESTS_PROPERTIES( + test6-restart-recovery-static + PROPERTIES TIMEOUT 540 + ) +ENDIF() -ADD_TEST( - NAME test6-restart-recovery - COMMAND test6 "--connection" ${MQTT_TEST_BROKER} -) +IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test6 + test6.c + ) + + TARGET_LINK_LIBRARIES( + test6 + paho-mqtt3a + ) -SET_TESTS_PROPERTIES( - test6-restart-recovery - PROPERTIES TIMEOUT 540 -) - -ADD_EXECUTABLE( - test8 - test8.c -) - -TARGET_LINK_LIBRARIES( - test8 - paho-mqtt3a -) - -ADD_TEST( - NAME test8-1-basic-connect-subscribe-receive - COMMAND test8 "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} -) - -ADD_TEST( - NAME test8-2-connect-timeout - COMMAND test8 "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} -) - -ADD_TEST( - NAME test8-3-multiple-client-objects-simultaneous-working - COMMAND test8 "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} -) - -ADD_TEST( - NAME test8-4-send-receive-big-messages - COMMAND test8 "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} "--size" "500000" -) - -ADD_TEST( - NAME test8-5a-all-ha-connections-out-of-service - COMMAND test8 "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} -) - -ADD_TEST( - NAME test8-5b-all-ha-connections-out-of-service-except-the-last-one - COMMAND test8 "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} -) - -ADD_TEST( - NAME test8-5c-all-ha-connections-out-of-service-except-the-first-one - COMMAND test8 "--test_no" "7" "--connection" ${MQTT_TEST_BROKER} -) - -SET_TESTS_PROPERTIES( - test8-1-basic-connect-subscribe-receive - test8-2-connect-timeout - test8-3-multiple-client-objects-simultaneous-working - test8-4-send-receive-big-messages - test8-5a-all-ha-connections-out-of-service - test8-5b-all-ha-connections-out-of-service-except-the-last-one - test8-5c-all-ha-connections-out-of-service-except-the-first-one - PROPERTIES TIMEOUT 540 -) + ADD_TEST( + NAME test6-restart-recovery + COMMAND test6 "--connection" ${MQTT_TEST_BROKER} + ) + + SET_TESTS_PROPERTIES( + test6-restart-recovery + PROPERTIES TIMEOUT 540 + ) +ENDIF() -ADD_EXECUTABLE( - test9 - test9.c -) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test8-static + test8.c + ) + + TARGET_LINK_LIBRARIES( + test8-static + paho-mqtt3a-static + ) + + ADD_TEST( + NAME test8-1-basic-connect-subscribe-receive-static + COMMAND test8-static "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test8-2-connect-timeout-static + COMMAND test8-static "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test8-3-multiple-client-objects-simultaneous-working-static + COMMAND test8-static "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test8-4-send-receive-big-messages-static + COMMAND test8-static "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} "--size" "500000" + ) + + ADD_TEST( + NAME test8-5a-all-ha-connections-out-of-service-static + COMMAND test8-static "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test8-5b-all-ha-connections-out-of-service-except-the-last-one-static + COMMAND test8-static "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test8-5c-all-ha-connections-out-of-service-except-the-first-one-static + COMMAND test8-static "--test_no" "7" "--connection" ${MQTT_TEST_BROKER} + ) + + SET_TESTS_PROPERTIES( + test8-1-basic-connect-subscribe-receive-static + test8-2-connect-timeout-static + test8-3-multiple-client-objects-simultaneous-working-static + test8-4-send-receive-big-messages-static + test8-5a-all-ha-connections-out-of-service-static + test8-5b-all-ha-connections-out-of-service-except-the-last-one-static + test8-5c-all-ha-connections-out-of-service-except-the-first-one-static + PROPERTIES TIMEOUT 540 + ) +ENDIF() -TARGET_LINK_LIBRARIES( - test9 - paho-mqtt3a -) +IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test8 + test8.c + ) + + TARGET_LINK_LIBRARIES( + test8 + paho-mqtt3a + ) -ADD_TEST( - NAME test9-1-offline-buffering-send-disconnected - COMMAND test9 "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) + ADD_TEST( + NAME test8-1-basic-connect-subscribe-receive + COMMAND test8 "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test8-2-connect-timeout + COMMAND test8 "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test8-3-multiple-client-objects-simultaneous-working + COMMAND test8 "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test8-4-send-receive-big-messages + COMMAND test8 "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} "--size" "500000" + ) + + ADD_TEST( + NAME test8-5a-all-ha-connections-out-of-service + COMMAND test8 "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test8-5b-all-ha-connections-out-of-service-except-the-last-one + COMMAND test8 "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} + ) + + ADD_TEST( + NAME test8-5c-all-ha-connections-out-of-service-except-the-first-one + COMMAND test8 "--test_no" "7" "--connection" ${MQTT_TEST_BROKER} + ) + + SET_TESTS_PROPERTIES( + test8-1-basic-connect-subscribe-receive + test8-2-connect-timeout + test8-3-multiple-client-objects-simultaneous-working + test8-4-send-receive-big-messages + test8-5a-all-ha-connections-out-of-service + test8-5b-all-ha-connections-out-of-service-except-the-last-one + test8-5c-all-ha-connections-out-of-service-except-the-first-one + PROPERTIES TIMEOUT 540 + ) +ENDIF() -ADD_TEST( - NAME test9-2-offline-buffering-send-disconnected-serverURIs - COMMAND test9 "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test9-static + test9.c + ) + + TARGET_LINK_LIBRARIES( + test9-static + paho-mqtt3a-static + ) + + ADD_TEST( + NAME test9-1-offline-buffering-send-disconnected-static + COMMAND test9-static "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test9-2-offline-buffering-send-disconnected-serverURIs-static + COMMAND test9-static "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test9-3-offline-buffering-auto-reconnect-static + COMMAND test9-static "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test9-4-offline-buffering-auto-reconnect-serverURIs-static + COMMAND test9-static "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test9-5-offline-buffering-max-buffered-static + COMMAND test9-static "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test9-6-offline-buffering-max-buffered-binary-will-static + COMMAND test9-static "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + SET_TESTS_PROPERTIES( + test9-1-offline-buffering-send-disconnected-static + test9-2-offline-buffering-send-disconnected-serverURIs-static + test9-3-offline-buffering-auto-reconnect-static + test9-4-offline-buffering-auto-reconnect-serverURIs-static + test9-5-offline-buffering-max-buffered-static + test9-6-offline-buffering-max-buffered-binary-will-static + PROPERTIES TIMEOUT 540 + ) +ENDIF() + +IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test9 + test9.c + ) + + TARGET_LINK_LIBRARIES( + test9 + paho-mqtt3a + ) -ADD_TEST( - NAME test9-3-offline-buffering-auto-reconnect - COMMAND test9 "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) + ADD_TEST( + NAME test9-1-offline-buffering-send-disconnected + COMMAND test9 "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test9-2-offline-buffering-send-disconnected-serverURIs + COMMAND test9 "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test9-3-offline-buffering-auto-reconnect + COMMAND test9 "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test9-4-offline-buffering-auto-reconnect-serverURIs + COMMAND test9 "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test9-5-offline-buffering-max-buffered + COMMAND test9 "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test9-6-offline-buffering-max-buffered-binary-will + COMMAND test9 "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + SET_TESTS_PROPERTIES( + test9-1-offline-buffering-send-disconnected + test9-2-offline-buffering-send-disconnected-serverURIs + test9-3-offline-buffering-auto-reconnect + test9-4-offline-buffering-auto-reconnect-serverURIs + test9-5-offline-buffering-max-buffered + test9-6-offline-buffering-max-buffered-binary-will + PROPERTIES TIMEOUT 540 + ) +ENDIF() -ADD_TEST( - NAME test9-4-offline-buffering-auto-reconnect-serverURIs - COMMAND test9 "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test95-static + test95.c + ) + + TARGET_LINK_LIBRARIES( + test95-static + paho-mqtt3a-static + ) + + ADD_TEST( + NAME test95-1-offline-buffering-send-disconnected-static + COMMAND test95-static "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test95-2-offline-buffering-send-disconnected-serverURIs-static + COMMAND test95-static "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test95-3-offline-buffering-auto-reconnect-static + COMMAND test95-static "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test95-4-offline-buffering-auto-reconnect-serverURIs-static + COMMAND test95-static "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test95-5-offline-buffering-max-buffered-static + COMMAND test95-static "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test95-6-offline-buffering-max-buffered-binary-will-static + COMMAND test95-static "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + SET_TESTS_PROPERTIES( + test95-1-offline-buffering-send-disconnected-static + test95-2-offline-buffering-send-disconnected-serverURIs-static + test95-3-offline-buffering-auto-reconnect-static + test95-4-offline-buffering-auto-reconnect-serverURIs-static + test95-5-offline-buffering-max-buffered-static + test95-6-offline-buffering-max-buffered-binary-will-static + PROPERTIES TIMEOUT 540 + ) +ENDIF() -ADD_TEST( - NAME test9-5-offline-buffering-max-buffered - COMMAND test9 "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) +IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test95 + test95.c + ) + + TARGET_LINK_LIBRARIES( + test95 + paho-mqtt3a + ) + + ADD_TEST( + NAME test95-1-offline-buffering-send-disconnected + COMMAND test95 "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test95-2-offline-buffering-send-disconnected-serverURIs + COMMAND test95 "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test95-3-offline-buffering-auto-reconnect + COMMAND test95 "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test95-4-offline-buffering-auto-reconnect-serverURIs + COMMAND test95 "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test95-5-offline-buffering-max-buffered + COMMAND test95 "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test95-6-offline-buffering-max-buffered-binary-will + COMMAND test95 "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + SET_TESTS_PROPERTIES( + test95-1-offline-buffering-send-disconnected + test95-2-offline-buffering-send-disconnected-serverURIs + test95-3-offline-buffering-auto-reconnect + test95-4-offline-buffering-auto-reconnect-serverURIs + test95-5-offline-buffering-max-buffered + test95-6-offline-buffering-max-buffered-binary-will + PROPERTIES TIMEOUT 540 + ) +ENDIF() -ADD_TEST( - NAME test9-6-offline-buffering-max-buffered-binary-will - COMMAND test9 "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test10-static + test10.c + ) + + TARGET_LINK_LIBRARIES( + test10-static + paho-mqtt3c-static + ) + + ADD_TEST( + NAME test10-1-client_topic_aliases-static + COMMAND "test10-static" "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test10-2-server_topic_aliases-static + COMMAND "test10-static" "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test10-3-subscription_ids-static + COMMAND "test10-static" "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test10-4-flow_control-static + COMMAND "test10-static" "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test10-5-error_handling-static + COMMAND "test10-static" "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test10-6-qos_1_2_errors-static + COMMAND "test10-static" "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test10-7-request_response-static + COMMAND "test10-static" "--test_no" "7" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test10-8-subscribe_options-static + COMMAND "test10-static" "--test_no" "8" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test10-9-shared_subscriptions-static + COMMAND "test10-static" "--test_no" "9" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + SET_TESTS_PROPERTIES( + test10-1-client_topic_aliases-static + test10-2-server_topic_aliases-static + test10-3-subscription_ids-static + test10-4-flow_control-static + test10-5-error_handling-static + test10-6-qos_1_2_errors-static + test10-7-request_response-static + test10-8-subscribe_options-static + test10-9-shared_subscriptions-static + PROPERTIES TIMEOUT 540 + ) +ENDIF() -SET_TESTS_PROPERTIES( - test9-1-offline-buffering-send-disconnected - test9-2-offline-buffering-send-disconnected-serverURIs - test9-3-offline-buffering-auto-reconnect - test9-4-offline-buffering-auto-reconnect-serverURIs - test9-5-offline-buffering-max-buffered - test9-6-offline-buffering-max-buffered-binary-will - PROPERTIES TIMEOUT 540 -) +IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test10 + test10.c + ) + + TARGET_LINK_LIBRARIES( + test10 + paho-mqtt3c + ) -ADD_EXECUTABLE( - test95 - test95.c -) + ADD_TEST( + NAME test10-1-client_topic_aliases + COMMAND "test10" "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test10-2-server_topic_aliases + COMMAND "test10" "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test10-3-subscription_ids + COMMAND "test10" "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test10-4-flow_control + COMMAND "test10" "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test10-5-error_handling + COMMAND "test10" "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test10-6-qos_1_2_errors + COMMAND "test10" "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test10-7-request_response + COMMAND "test10" "--test_no" "7" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test10-8-subscribe_options + COMMAND "test10" "--test_no" "8" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test10-9-shared_subscriptions + COMMAND "test10" "--test_no" "9" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + SET_TESTS_PROPERTIES( + test10-1-client_topic_aliases + test10-2-server_topic_aliases + test10-3-subscription_ids + test10-4-flow_control + test10-5-error_handling + test10-6-qos_1_2_errors + test10-7-request_response + test10-8-subscribe_options + test10-9-shared_subscriptions + PROPERTIES TIMEOUT 540 + ) +ENDIF() -TARGET_LINK_LIBRARIES( - test95 - paho-mqtt3a -) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test11-static + test11.c + ) + + TARGET_LINK_LIBRARIES( + test11-static + paho-mqtt3a-static + ) + + ADD_TEST( + NAME test11-1-client_topic_aliases-static + COMMAND "test11-static" "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test11-2-server_topic_aliases-static + COMMAND "test11-static" "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test11-3-subscription_ids-static + COMMAND "test11-static" "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test11-4-flow_control-static + COMMAND "test11-static" "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test11-5-error_handling-static + COMMAND "test11-static" "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test11-6-qos_1_2_errors-static + COMMAND "test11-static" "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test11-7-request_response-static + COMMAND "test11-static" "--test_no" "7" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test11-8-subscribe_options-static + COMMAND "test11-static" "--test_no" "8" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test11-9-shared_subscriptions-static + COMMAND "test11-static" "--test_no" "9" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + SET_TESTS_PROPERTIES( + test11-1-client_topic_aliases-static + test11-2-server_topic_aliases-static + test11-3-subscription_ids-static + test11-4-flow_control-static + test11-5-error_handling-static + test11-6-qos_1_2_errors-static + test11-7-request_response-static + test11-8-subscribe_options-static + test11-9-shared_subscriptions-static + PROPERTIES TIMEOUT 540 + ) +ENDIF() -ADD_TEST( - NAME test95-1-offline-buffering-send-disconnected - COMMAND test95 "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) +IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test11 + test11.c + ) + + TARGET_LINK_LIBRARIES( + test11 + paho-mqtt3a + ) -ADD_TEST( - NAME test95-2-offline-buffering-send-disconnected-serverURIs - COMMAND test95 "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) + ADD_TEST( + NAME test11-1-client_topic_aliases + COMMAND "test11" "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test11-2-server_topic_aliases + COMMAND "test11" "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test11-3-subscription_ids + COMMAND "test11" "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test11-4-flow_control + COMMAND "test11" "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test11-5-error_handling + COMMAND "test11" "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test11-6-qos_1_2_errors + COMMAND "test11" "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test11-7-request_response + COMMAND "test11" "--test_no" "7" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test11-8-subscribe_options + COMMAND "test11" "--test_no" "8" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + ADD_TEST( + NAME test11-9-shared_subscriptions + COMMAND "test11" "--test_no" "9" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + SET_TESTS_PROPERTIES( + test11-1-client_topic_aliases + test11-2-server_topic_aliases + test11-3-subscription_ids + test11-4-flow_control + test11-5-error_handling + test11-6-qos_1_2_errors + test11-7-request_response + test11-8-subscribe_options + test11-9-shared_subscriptions + PROPERTIES TIMEOUT 540 + ) +ENDIF() -ADD_TEST( - NAME test95-3-offline-buffering-auto-reconnect - COMMAND test95 "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test_issue373-static + test_issue373.c + ) + TARGET_LINK_LIBRARIES( + test_issue373-static + paho-mqtt3a-static + ) +ENDIF() -ADD_TEST( - NAME test95-4-offline-buffering-auto-reconnect-serverURIs - COMMAND test95 "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) +IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test_issue373 + test_issue373.c + ) + TARGET_LINK_LIBRARIES( + test_issue373 + paho-mqtt3a + ) +ENDIF() -ADD_TEST( - NAME test95-5-offline-buffering-max-buffered - COMMAND test95 "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) -ADD_TEST( - NAME test95-6-offline-buffering-max-buffered-binary-will - COMMAND test95 "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test_sync_session_present-static + test_sync_session_present.c + ) + + TARGET_LINK_LIBRARIES( + test_sync_session_present-static + paho-mqtt3c-static + ) + + ADD_TEST( + NAME test_sync_session_present-1-client_session_present_after_reconnect-static + COMMAND "test_sync_session_present-static" "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + SET_TESTS_PROPERTIES( + test_sync_session_present-1-client_session_present_after_reconnect-static + PROPERTIES TIMEOUT 540 + ) +ENDIF() -SET_TESTS_PROPERTIES( - test95-1-offline-buffering-send-disconnected - test95-2-offline-buffering-send-disconnected-serverURIs - test95-3-offline-buffering-auto-reconnect - test95-4-offline-buffering-auto-reconnect-serverURIs - test95-5-offline-buffering-max-buffered - test95-6-offline-buffering-max-buffered-binary-will - PROPERTIES TIMEOUT 540 -) +IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test_sync_session_present + test_sync_session_present.c + ) + + TARGET_LINK_LIBRARIES( + test_sync_session_present + paho-mqtt3c + ) -ADD_EXECUTABLE( - test10 - test10.c -) - -TARGET_LINK_LIBRARIES( - test10 - paho-mqtt3c -) - -ADD_TEST( - NAME test10-1-client_topic_aliases - COMMAND "test10" "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test10-2-server_topic_aliases - COMMAND "test10" "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test10-3-subscription_ids - COMMAND "test10" "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test10-4-flow_control - COMMAND "test10" "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test10-5-error_handling - COMMAND "test10" "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test10-6-qos_1_2_errors - COMMAND "test10" "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test10-7-request_response - COMMAND "test10" "--test_no" "7" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test10-8-subscribe_options - COMMAND "test10" "--test_no" "8" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test10-9-shared_subscriptions - COMMAND "test10" "--test_no" "9" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -SET_TESTS_PROPERTIES( - test10-1-client_topic_aliases - test10-2-server_topic_aliases - test10-3-subscription_ids - test10-4-flow_control - test10-5-error_handling - test10-6-qos_1_2_errors - test10-7-request_response - test10-8-subscribe_options - test10-9-shared_subscriptions - PROPERTIES TIMEOUT 540 -) - -ADD_EXECUTABLE( - test11 - test11.c -) - -TARGET_LINK_LIBRARIES( - test11 - paho-mqtt3a -) - -ADD_TEST( - NAME test11-1-client_topic_aliases - COMMAND "test11" "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test11-2-server_topic_aliases - COMMAND "test11" "--test_no" "2" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test11-3-subscription_ids - COMMAND "test11" "--test_no" "3" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test11-4-flow_control - COMMAND "test11" "--test_no" "4" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test11-5-error_handling - COMMAND "test11" "--test_no" "5" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test11-6-qos_1_2_errors - COMMAND "test11" "--test_no" "6" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test11-7-request_response - COMMAND "test11" "--test_no" "7" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test11-8-subscribe_options - COMMAND "test11" "--test_no" "8" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -ADD_TEST( - NAME test11-9-shared_subscriptions - COMMAND "test11" "--test_no" "9" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -SET_TESTS_PROPERTIES( - test11-1-client_topic_aliases - test11-2-server_topic_aliases - test11-3-subscription_ids - test11-4-flow_control - test11-5-error_handling - test11-6-qos_1_2_errors - test11-7-request_response - test11-8-subscribe_options - test11-9-shared_subscriptions - PROPERTIES TIMEOUT 540 -) - -ADD_EXECUTABLE( - test_issue373 - test_issue373.c -) - -TARGET_LINK_LIBRARIES( - test_issue373 - paho-mqtt3a -) - -ADD_EXECUTABLE( - test_sync_session_present - test_sync_session_present.c -) - -TARGET_LINK_LIBRARIES( - test_sync_session_present - paho-mqtt3c -) - -ADD_TEST( - NAME test_sync_session_present-1-client_session_present_after_reconnect - COMMAND "test_sync_session_present" "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} -) - -SET_TESTS_PROPERTIES( - test_sync_session_present-1-client_session_present_after_reconnect - PROPERTIES TIMEOUT 540 -) + ADD_TEST( + NAME test_sync_session_present-1-client_session_present_after_reconnect + COMMAND "test_sync_session_present" "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} "--proxy_connection" ${MQTT_TEST_PROXY} + ) + + SET_TESTS_PROPERTIES( + test_sync_session_present-1-client_session_present_after_reconnect + PROPERTIES TIMEOUT 540 + ) +ENDIF()