From 23d68e8c798d29309a277fb3c869c23f9cac2bbf Mon Sep 17 00:00:00 2001 From: Deon McClung Date: Fri, 31 Jan 2020 12:30:11 -0700 Subject: [PATCH 1/6] Enable CXX language to support using GenerateExportHeader Signed-off-by: Deon McClung --- CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6d65fb85..1af66c40 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,6 +31,8 @@ file(READ version.minor PAHO_VERSION_MINOR) file(READ version.patch PAHO_VERSION_PATCH) SET(CLIENT_VERSION ${PAHO_VERSION_MAJOR}.${PAHO_VERSION_MINOR}.${PAHO_VERSION_PATCH}) +ENABLE_LANGUAGE(CXX) + INCLUDE(GNUInstallDirs) INCLUDE(GenerateExportHeader) From 3df3f5dcb08628e48d7950ad2c809db98a5e2618 Mon Sep 17 00:00:00 2001 From: Deon McClung Date: Sat, 1 Feb 2020 10:20:35 -0700 Subject: [PATCH 2/6] Fix the non-CMake build Signed-off-by: Deon McClung --- Makefile | 5 +++-- export/ExportDeclarations.h | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 export/ExportDeclarations.h diff --git a/Makefile b/Makefile index bc54e9f6..9dae56db 100755 --- a/Makefile +++ b/Makefile @@ -154,11 +154,11 @@ PAHO_C_SUB_TARGET = ${blddir}/samples/${PAHO_C_SUB_NAME} PAHO_CS_PUB_TARGET = ${blddir}/samples/${PAHO_CS_PUB_NAME} PAHO_CS_SUB_TARGET = ${blddir}/samples/${PAHO_CS_SUB_NAME} -#CCFLAGS_SO = -g -fPIC $(CFLAGS) -Os -Wall -fvisibility=hidden -I$(blddir_work) +#CCFLAGS_SO = -g -fPIC $(CFLAGS) -Os -Wall -fvisibility=hidden -I$(blddir_work) -Iexport #FLAGS_EXE = $(LDFLAGS) -I ${srcdir} -lpthread -L ${blddir} #FLAGS_EXES = $(LDFLAGS) -I ${srcdir} ${START_GROUP} -lpthread -lssl -lcrypto ${END_GROUP} -L ${blddir} -CCFLAGS_SO = -g -fPIC $(CFLAGS) -D_GNU_SOURCE -Os -Wall -fvisibility=hidden -I$(blddir_work) -DMQTT_EXPORTS=1 +CCFLAGS_SO = -g -fPIC $(CFLAGS) -D_GNU_SOURCE -Os -Wall -fvisibility=hidden -I$(blddir_work) -Iexport -DMQTT_EXPORTS=1 FLAGS_EXE = $(LDFLAGS) -I ${srcdir} ${START_GROUP} -lpthread ${GAI_LIB} ${END_GROUP} -L ${blddir} FLAGS_EXES = $(LDFLAGS) -I ${srcdir} ${START_GROUP} -lpthread ${GAI_LIB} -lssl -lcrypto ${END_GROUP} -L ${blddir} @@ -304,6 +304,7 @@ install: build $(INSTALL_DATA) ${srcdir}/MQTTProperties.h $(DESTDIR)${includedir} $(INSTALL_DATA) ${srcdir}/MQTTReasonCodes.h $(DESTDIR)${includedir} $(INSTALL_DATA) ${srcdir}/MQTTSubscribeOpts.h $(DESTDIR)${includedir} + $(INSTALL_DATA) export/ExportDeclarations.h $(DESTDIR)${includedir} - $(INSTALL_DATA) doc/man/man1/paho_c_pub.1 $(DESTDIR)${man1dir} - $(INSTALL_DATA) doc/man/man1/paho_c_sub.1 $(DESTDIR)${man1dir} - $(INSTALL_DATA) doc/man/man1/paho_cs_pub.1 $(DESTDIR)${man1dir} diff --git a/export/ExportDeclarations.h b/export/ExportDeclarations.h new file mode 100644 index 00000000..6a40fd33 --- /dev/null +++ b/export/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 From c116b725fff631180414a6e99701977715a4a690 Mon Sep 17 00:00:00 2001 From: Deon McClung Date: Sat, 1 Feb 2020 22:06:30 -0700 Subject: [PATCH 3/6] Make shared build optional Signed-off-by: Deon McClung --- CMakeLists.txt | 41 +++--- src/CMakeLists.txt | 183 +++++++++++++----------- test/CMakeLists.txt | 338 ++++++++++++++++++++++++++++---------------- 3 files changed, 345 insertions(+), 217 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8ab0436d..ea0105ba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -44,6 +44,7 @@ ENDIF() ## build options SET(PAHO_WITH_SSL FALSE CACHE BOOL "Flag that defines whether to build ssl-enabled binaries too. ") +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") @@ -51,6 +52,10 @@ 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() @@ -65,27 +70,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}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7b2c3322..517ab0f9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -73,34 +73,36 @@ SET_TARGET_PROPERTIES(common_obj PROPERTIES ADD_EXECUTABLE(MQTTVersion MQTTVersion.c) -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}) +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() IF (PAHO_BUILD_STATIC) ADD_LIBRARY(paho-mqtt3c-static STATIC $ MQTTClient.c) @@ -108,8 +110,10 @@ IF (PAHO_BUILD_STATIC) TARGET_LINK_LIBRARIES(paho-mqtt3c-static ${LIBS_SYSTEM}) TARGET_LINK_LIBRARIES(paho-mqtt3a-static ${LIBS_SYSTEM}) - SET_TARGET_PROPERTIES(paho-mqtt3c-static PROPERTIES OUTPUT_NAME paho-mqtt3c) - SET_TARGET_PROPERTIES(paho-mqtt3a-static PROPERTIES OUTPUT_NAME paho-mqtt3a) + 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() FOREACH(TARGET paho-mqtt3c-static paho-mqtt3a-static) TARGET_INCLUDE_DIRECTORIES(${TARGET} @@ -120,35 +124,44 @@ IF (PAHO_BUILD_STATIC) ${CMAKE_BINARY_DIR}) ENDFOREACH() - INSTALL(TARGETS paho-mqtt3c-static paho-mqtt3a-static - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + 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(FILES MQTTAsync.h MQTTClient.h MQTTClientPersistence.h MQTTProperties.h MQTTReasonCodes.h MQTTSubscribeOpts.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 @@ -173,30 +186,32 @@ IF (PAHO_WITH_SSL) 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") - 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}) + 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() IF (PAHO_BUILD_STATIC) ADD_LIBRARY(paho-mqtt3cs-static STATIC $ MQTTClient.c SSLSocket.c) @@ -205,16 +220,26 @@ IF (PAHO_WITH_SSL) 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") - SET_TARGET_PROPERTIES(paho-mqtt3cs-static PROPERTIES OUTPUT_NAME paho-mqtt3cs) - SET_TARGET_PROPERTIES(paho-mqtt3as-static PROPERTIES OUTPUT_NAME paho-mqtt3as) + 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() - INSTALL(TARGETS paho-mqtt3cs-static paho-mqtt3as-static - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + 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 diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 7bb9d826..094fc71f 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( @@ -70,10 +70,17 @@ ADD_EXECUTABLE( test1.c ) -TARGET_LINK_LIBRARIES( - test1 - paho-mqtt3c -) +IF (NOT PAHO_BUILD_SHARED) + TARGET_LINK_LIBRARIES( + test1 + paho-mqtt3c-static + ) +ELSE() + TARGET_LINK_LIBRARIES( + test1 + paho-mqtt3c + ) +ENDIF() IF (WIN32) ADD_CUSTOM_COMMAND( @@ -134,10 +141,17 @@ ADD_EXECUTABLE( test15.c ) -TARGET_LINK_LIBRARIES( - test15 - paho-mqtt3c -) +IF (NOT PAHO_BUILD_SHARED) + TARGET_LINK_LIBRARIES( + test15 + paho-mqtt3c-static + ) +ELSE() + TARGET_LINK_LIBRARIES( + test15 + paho-mqtt3c + ) +ENDIF() ADD_TEST( NAME test15-1-single-thread-client @@ -190,10 +204,17 @@ ADD_EXECUTABLE( test2.c ) -TARGET_LINK_LIBRARIES( - test2 - paho-mqtt3c -) +IF (NOT PAHO_BUILD_SHARED) + TARGET_LINK_LIBRARIES( + test2 + paho-mqtt3c-static + ) +ELsE() + TARGET_LINK_LIBRARIES( + test2 + paho-mqtt3c + ) +ENDIF() ADD_TEST( NAME test2-1-multiple-threads-single-client @@ -211,10 +232,17 @@ IF (PAHO_WITH_SSL) test3.c ) - TARGET_LINK_LIBRARIES( - test3 - paho-mqtt3cs - ) + IF (NOT PAHO_BUILD_SHARED) + TARGET_LINK_LIBRARIES( + test3 + paho-mqtt3cs-static + ) + ELSE() + TARGET_LINK_LIBRARIES( + test3 + paho-mqtt3cs + ) + ENDIF() ADD_TEST( NAME test3-1-ssl-conn-to-non-SSL-broker @@ -293,10 +321,17 @@ ADD_EXECUTABLE( test4.c ) -TARGET_LINK_LIBRARIES( - test4 - paho-mqtt3a -) +IF (NOT PAHO_BUILD_SHARED) + TARGET_LINK_LIBRARIES( + test4 + paho-mqtt3a-static + ) +ELSE() + TARGET_LINK_LIBRARIES( + test4 + paho-mqtt3a + ) +ENDIF() ADD_TEST( NAME test4-1-basic-connect-subscribe-receive @@ -355,10 +390,17 @@ ADD_EXECUTABLE( test45.c ) -TARGET_LINK_LIBRARIES( - test45 - paho-mqtt3a -) +IF (NOT PAHO_BUILD_SHARED) + TARGET_LINK_LIBRARIES( + test45 + paho-mqtt3a-static + ) +ELSE() + TARGET_LINK_LIBRARIES( + test45 + paho-mqtt3a + ) +ENDIF() ADD_TEST( NAME test45-1-basic-connect-subscribe-receive @@ -425,102 +467,102 @@ IF (PAHO_WITH_SSL) 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" + 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" + 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" + 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" + 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" + 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" + 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" + 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" + 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" + 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" + 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" + 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" + 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" + 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" + 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" + 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" + 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" + 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" + 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" + 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" + COMMAND test5 "--test_no" "10" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--server_key" "${CERTDIR}/test-root-ca.crt" ) #ADD_TEST( @@ -532,22 +574,22 @@ 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" + 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" + 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" + 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" + COMMAND test5 "--test_no" "13" "--ws" "--hostname" ${MQTT_SSL_HOSTNAME} "--client_key" "${CERTDIR}/client.pem" "--capath" "${CERTDIR}/notexist" ) SET_TESTS_PROPERTIES( @@ -592,10 +634,17 @@ ADD_EXECUTABLE( test6.c ) -TARGET_LINK_LIBRARIES( - test6 - paho-mqtt3a -) +IF (NOT PAHO_BUILD_SHARED) + TARGET_LINK_LIBRARIES( + test6 + paho-mqtt3a-static + ) +ELSE() + TARGET_LINK_LIBRARIES( + test6 + paho-mqtt3a + ) +ENDIF() ADD_TEST( NAME test6-restart-recovery @@ -612,10 +661,17 @@ ADD_EXECUTABLE( test8.c ) -TARGET_LINK_LIBRARIES( - test8 - paho-mqtt3a -) +IF (NOT PAHO_BUILD_SHARED) + TARGET_LINK_LIBRARIES( + test8 + paho-mqtt3a-static + ) +ELSE() + TARGET_LINK_LIBRARIES( + test8 + paho-mqtt3a + ) +ENDIF() ADD_TEST( NAME test8-1-basic-connect-subscribe-receive @@ -657,9 +713,9 @@ SET_TESTS_PROPERTIES( 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 + 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 ) @@ -669,10 +725,17 @@ ADD_EXECUTABLE( test9.c ) -TARGET_LINK_LIBRARIES( - test9 - paho-mqtt3a -) +IF (NOT PAHO_BUILD_SHARED) + TARGET_LINK_LIBRARIES( + test9 + paho-mqtt3a-static + ) +ELSE() + TARGET_LINK_LIBRARIES( + test9 + paho-mqtt3a + ) +ENDIF() ADD_TEST( NAME test9-1-offline-buffering-send-disconnected @@ -719,10 +782,17 @@ ADD_EXECUTABLE( test95.c ) -TARGET_LINK_LIBRARIES( - test95 - paho-mqtt3a -) +IF (NOT PAHO_BUILD_SHARED) + TARGET_LINK_LIBRARIES( + test95 + paho-mqtt3a-static + ) +ELSE() + TARGET_LINK_LIBRARIES( + test95 + paho-mqtt3a + ) +ENDIF() ADD_TEST( NAME test95-1-offline-buffering-send-disconnected @@ -769,10 +839,17 @@ ADD_EXECUTABLE( test10.c ) -TARGET_LINK_LIBRARIES( - test10 - paho-mqtt3c -) +IF (NOT PAHO_BUILD_SHARED) + TARGET_LINK_LIBRARIES( + test10 + paho-mqtt3c-static + ) +ELSE() + TARGET_LINK_LIBRARIES( + test10 + paho-mqtt3c + ) +ENDIF() ADD_TEST( NAME test10-1-client_topic_aliases @@ -837,10 +914,17 @@ ADD_EXECUTABLE( test11.c ) -TARGET_LINK_LIBRARIES( - test11 - paho-mqtt3a -) +IF (NOT PAHO_BUILD_SHARED) + TARGET_LINK_LIBRARIES( + test11 + paho-mqtt3a-static + ) +ELSE() + TARGET_LINK_LIBRARIES( + test11 + paho-mqtt3a + ) +ENDIF() ADD_TEST( NAME test11-1-client_topic_aliases @@ -905,27 +989,41 @@ ADD_EXECUTABLE( test_issue373.c ) -TARGET_LINK_LIBRARIES( - test_issue373 - paho-mqtt3a -) +IF (NOT PAHO_BUILD_SHARED) + TARGET_LINK_LIBRARIES( + test_issue373 + paho-mqtt3a-static + ) +ELSE() + TARGET_LINK_LIBRARIES( + test_issue373 + paho-mqtt3a + ) +ENDIF() ADD_EXECUTABLE( - test_sync_session_present - test_sync_session_present.c + test_sync_session_present + test_sync_session_present.c ) -TARGET_LINK_LIBRARIES( - test_sync_session_present - paho-mqtt3c -) +IF (NOT PAHO_BUILD_SHARED) + TARGET_LINK_LIBRARIES( + test_sync_session_present + paho-mqtt3c-static + ) +ELSE() + TARGET_LINK_LIBRARIES( + test_sync_session_present + paho-mqtt3c + ) +ENDIF() 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} + 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 + test_sync_session_present-1-client_session_present_after_reconnect + PROPERTIES TIMEOUT 540 ) From 22ba7924ff415c51ce4e04370efa663bc5577ec1 Mon Sep 17 00:00:00 2001 From: Deon McClung Date: Tue, 4 Feb 2020 06:49:39 -0700 Subject: [PATCH 4/6] Update the README.md to mention the PAHO_BUILD_SHARED option Signed-off-by: Deon McClung --- README.md | 1 + 1 file changed, 1 insertion(+) 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`) From 33bcce1ef84eaa7f51d0b625fbd2f2db301c8522 Mon Sep 17 00:00:00 2001 From: Ian Craggs Date: Wed, 5 Feb 2020 15:07:57 +0000 Subject: [PATCH 5/6] Build static and shared versions of samples and tests. Start running tests --- src/samples/CMakeLists.txt | 17 + test/CMakeLists.txt | 1742 +++++++++++++++++++----------------- 2 files changed, 937 insertions(+), 822 deletions(-) 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 094fc71f..3fe26cf0 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -65,965 +65,1063 @@ TARGET_LINK_LIBRARIES( ${LIBS_SYSTEM} ) -ADD_EXECUTABLE( - test1 - test1.c -) - -IF (NOT PAHO_BUILD_SHARED) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test1-static + test1.c + ) TARGET_LINK_LIBRARIES( - test1 + test1-static paho-mqtt3c-static ) -ELSE() + + ADD_TEST( + NAME test1-1-single-thread-client-static + COMMAND "test1-static" "--test_no" "1" "--connection" ${MQTT_TEST_BROKER} + ) + + SET_TESTS_PROPERTIES( + test1-1-single-thread-client-static + PROPERTIES TIMEOUT 540 + ) +ENDIF() + +IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test1 + test1.c + ) TARGET_LINK_LIBRARIES( test1 paho-mqtt3c ) -ENDIF() - -IF (WIN32) + + 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} -) - -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 -) - -ADD_EXECUTABLE( - test15 - test15.c -) - -IF (NOT PAHO_BUILD_SHARED) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test15-static + test15.c + ) TARGET_LINK_LIBRARIES( - test15 + test15-static paho-mqtt3c-static ) -ELSE() +ENDIF() + +IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test15 + test15.c + ) TARGET_LINK_LIBRARIES( test15 paho-mqtt3c ) + + 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 + ) 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 -) - -IF (NOT PAHO_BUILD_SHARED) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test2-static + test2.c + ) TARGET_LINK_LIBRARIES( - test2 + test2-static paho-mqtt3c-static ) -ELsE() +ENDIF() + +IF (PAHO_BUILD_SHARED) + 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 + ) ENDIF() -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 - ) - IF (NOT PAHO_BUILD_SHARED) - TARGET_LINK_LIBRARIES( - test3 - paho-mqtt3cs-static + IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test3-static + test3.c + ) + TARGET_LINK_LIBRARIES( + test3-static + paho-mqtt3cs-static ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} + ) + ENDIF() + + IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test3 + test3.c ) - ELSE() 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() -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() -ADD_EXECUTABLE( - test4 - test4.c -) - -IF (NOT PAHO_BUILD_SHARED) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test4-static + test4.c + ) TARGET_LINK_LIBRARIES( - test4 + test4-static paho-mqtt3a-static ) -ELSE() +ENDIF() + +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-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-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 -) - -ADD_EXECUTABLE( - test45 - test45.c -) - -IF (NOT PAHO_BUILD_SHARED) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test45-static + test45.c + ) TARGET_LINK_LIBRARIES( - test45 + test45-static paho-mqtt3a-static ) -ELSE() +ENDIF() + +IF (PAHO_BUILD_SHARED) + 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 + ) ENDIF() -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 -) - IF (PAHO_WITH_SSL) + IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test5-static + test5.c + ) + TARGET_LINK_LIBRARIES( + test5-static + paho-mqtt3as-static ${OPENSSL_LIB} ${OPENSSLCRYPTO_LIB} + ) + 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() + + +IF (PAHO_BUILD_STATIC) ADD_EXECUTABLE( - test5 - test5.c + test6-static + test6.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() - -ADD_EXECUTABLE( - test6 - test6.c -) - -IF (NOT PAHO_BUILD_SHARED) - TARGET_LINK_LIBRARIES( - test6 + test6-static paho-mqtt3a-static ) -ELSE() +ENDIF() + +IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test6 + test6.c + ) TARGET_LINK_LIBRARIES( test6 paho-mqtt3a ) + + ADD_TEST( + NAME test6-restart-recovery + COMMAND test6 "--connection" ${MQTT_TEST_BROKER} + ) + + SET_TESTS_PROPERTIES( + test6-restart-recovery + PROPERTIES TIMEOUT 540 + ) ENDIF() -ADD_TEST( - NAME test6-restart-recovery - COMMAND test6 "--connection" ${MQTT_TEST_BROKER} -) -SET_TESTS_PROPERTIES( - test6-restart-recovery - PROPERTIES TIMEOUT 540 -) - -ADD_EXECUTABLE( - test8 - test8.c -) - -IF (NOT PAHO_BUILD_SHARED) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test8-static + test8.c + ) TARGET_LINK_LIBRARIES( - test8 + test8-static paho-mqtt3a-static ) -ELSE() +ENDIF() + +IF (PAHO_BUILD_SHARED) + 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 + ) ENDIF() -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_EXECUTABLE( - test9 - test9.c -) - -IF (NOT PAHO_BUILD_SHARED) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test9-static + test9.c + ) TARGET_LINK_LIBRARIES( - test9 + test9-static paho-mqtt3a-static ) -ELSE() +ENDIF() + +IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test9 + test9.c + ) TARGET_LINK_LIBRARIES( test9 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 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-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 -) - -ADD_EXECUTABLE( - test95 - test95.c -) - -IF (NOT PAHO_BUILD_SHARED) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test95-static + test95.c + ) TARGET_LINK_LIBRARIES( - test95 + test95-static paho-mqtt3a-static ) -ELSE() +ENDIF() + +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 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 -) - -ADD_EXECUTABLE( - test10 - test10.c -) - -IF (NOT PAHO_BUILD_SHARED) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test10-static + test10.c + ) TARGET_LINK_LIBRARIES( - test10 + test10-static paho-mqtt3c-static ) -ELSE() +ENDIF() + +IF (PAHO_BUILD_SHARED) + 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 + ) ENDIF() -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 -) - -IF (NOT PAHO_BUILD_SHARED) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test11-static + test11.c + ) TARGET_LINK_LIBRARIES( - test11 + test11-static paho-mqtt3a-static ) -ELSE() +ENDIF() + +IF (PAHO_BUILD_SHARED) + 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 + ) ENDIF() -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 -) - -IF (NOT PAHO_BUILD_SHARED) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test_issue373-static + test_issue373.c + ) TARGET_LINK_LIBRARIES( - test_issue373 + test_issue373-static paho-mqtt3a-static ) -ELSE() +ENDIF() + +IF (PAHO_BUILD_SHARED) + ADD_EXECUTABLE( + test_issue373 + test_issue373.c + ) TARGET_LINK_LIBRARIES( test_issue373 paho-mqtt3a ) ENDIF() -ADD_EXECUTABLE( - test_sync_session_present - test_sync_session_present.c -) -IF (NOT PAHO_BUILD_SHARED) +IF (PAHO_BUILD_STATIC) + ADD_EXECUTABLE( + test_sync_session_present-static + test_sync_session_present.c + ) TARGET_LINK_LIBRARIES( - test_sync_session_present + test_sync_session_present-static paho-mqtt3c-static ) -ELSE() +ENDIF() + +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_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() - -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 -) From a67785a372884dca4d1b0d80ac536d9a4efb1aea Mon Sep 17 00:00:00 2001 From: Ian Craggs Date: Wed, 5 Feb 2020 16:30:54 +0000 Subject: [PATCH 6/6] Run all static tests --- test/CMakeLists.txt | 1029 ++++++++++++++++++++++++++++++++++++------- 1 file changed, 869 insertions(+), 160 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 3fe26cf0..acc0c1bc 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -80,8 +80,44 @@ IF (PAHO_BUILD_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() @@ -162,6 +198,52 @@ IF (PAHO_BUILD_STATIC) 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} + ) + + 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() IF (PAHO_BUILD_SHARED) @@ -226,10 +308,21 @@ IF (PAHO_BUILD_STATIC) 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() IF (PAHO_BUILD_SHARED) @@ -237,6 +330,7 @@ IF (PAHO_BUILD_SHARED) test2 test2.c ) + TARGET_LINK_LIBRARIES( test2 paho-mqtt3c @@ -265,6 +359,76 @@ IF (PAHO_WITH_SSL) 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) @@ -355,10 +519,63 @@ IF (PAHO_BUILD_STATIC) 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() IF (PAHO_BUILD_SHARED) @@ -429,10 +646,63 @@ IF (PAHO_BUILD_STATIC) 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() IF (PAHO_BUILD_SHARED) @@ -504,10 +774,173 @@ IF (PAHO_WITH_SSL) 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) @@ -515,172 +948,172 @@ IF (PAHO_WITH_SSL) 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-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 () - 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 - ) + 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() @@ -691,10 +1124,21 @@ IF (PAHO_BUILD_STATIC) 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() IF (PAHO_BUILD_SHARED) @@ -702,6 +1146,7 @@ IF (PAHO_BUILD_SHARED) test6 test6.c ) + TARGET_LINK_LIBRARIES( test6 paho-mqtt3a @@ -724,10 +1169,57 @@ IF (PAHO_BUILD_STATIC) 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() IF (PAHO_BUILD_SHARED) @@ -735,6 +1227,7 @@ IF (PAHO_BUILD_SHARED) test8 test8.c ) + TARGET_LINK_LIBRARIES( test8 paho-mqtt3a @@ -792,10 +1285,51 @@ IF (PAHO_BUILD_STATIC) 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) @@ -803,6 +1337,7 @@ IF (PAHO_BUILD_SHARED) test9 test9.c ) + TARGET_LINK_LIBRARIES( test9 paho-mqtt3a @@ -854,10 +1389,51 @@ IF (PAHO_BUILD_STATIC) 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() IF (PAHO_BUILD_SHARED) @@ -865,6 +1441,7 @@ IF (PAHO_BUILD_SHARED) test95 test95.c ) + TARGET_LINK_LIBRARIES( test95 paho-mqtt3a @@ -916,10 +1493,69 @@ IF (PAHO_BUILD_STATIC) 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() IF (PAHO_BUILD_SHARED) @@ -927,6 +1563,7 @@ IF (PAHO_BUILD_SHARED) test10 test10.c ) + TARGET_LINK_LIBRARIES( test10 paho-mqtt3c @@ -996,10 +1633,69 @@ IF (PAHO_BUILD_STATIC) 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() IF (PAHO_BUILD_SHARED) @@ -1007,6 +1703,7 @@ IF (PAHO_BUILD_SHARED) test11 test11.c ) + TARGET_LINK_LIBRARIES( test11 paho-mqtt3a @@ -1099,10 +1796,21 @@ IF (PAHO_BUILD_STATIC) 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() IF (PAHO_BUILD_SHARED) @@ -1110,6 +1818,7 @@ IF (PAHO_BUILD_SHARED) test_sync_session_present test_sync_session_present.c ) + TARGET_LINK_LIBRARIES( test_sync_session_present paho-mqtt3c