
Instead of bundling the connector with the tests, it should be downloaded at configuration time.
40 lines
1.6 KiB
CMake
40 lines
1.6 KiB
CMake
# Function for declaring java tests
|
|
#
|
|
# name Name of the test
|
|
# src Test source files
|
|
# entry_point The entry point of the JAR file
|
|
# template The configuration template for this test
|
|
#
|
|
function(add_java_test name src entry_point template)
|
|
add_jar(${name} SOURCES ${src} ${MXS_JAR}
|
|
ENTRY_POINT ${entry_point} INCLUDE_JARS ${MXS_JAR} ${JDBC_JAR})
|
|
add_test(NAME ${name} COMMAND java
|
|
-cp ${TEST_JARPATH}:${CMAKE_CURRENT_BINARY_DIR}/${name}.jar
|
|
${entry_point}
|
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
|
add_template(${name} ${template})
|
|
add_dependencies(${name} maxscale_java)
|
|
set_property(TEST ${name} PROPERTY LABELS java)
|
|
endfunction()
|
|
|
|
# Some constants that make changing the connector easier
|
|
set(JDBC_JAR_NAME "mariadb-java-client-1.5.9.jar")
|
|
set(JDBC_JAR ${CMAKE_CURRENT_BINARY_DIR}/${JDBC_JAR_NAME} CACHE INTERNAL "")
|
|
set(MXS_JAR ${CMAKE_CURRENT_BINARY_DIR}/maxscale_java.jar CACHE INTERNAL "")
|
|
set(TEST_JARPATH "${MXS_JAR}:${JDBC_JAR}" CACHE INTERNAL "")
|
|
|
|
# If we don't have the JDBC driver, download it
|
|
if(NOT EXISTS ${JDBC_JAR})
|
|
message(STATUS "Downloading MariaDB Connector-J: ${JDBC_JAR_NAME}")
|
|
file(DOWNLOAD https://downloads.mariadb.com/Connectors/java/connector-java-1.5.9/mariadb-java-client-1.5.9.jar
|
|
${CMAKE_CURRENT_BINARY_DIR}/${JDBC_JAR_NAME}
|
|
SHOW_PROGRESS)
|
|
endif()
|
|
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/MaxScaleConfiguration.java.in ${CMAKE_CURRENT_BINARY_DIR}/MaxScaleConfiguration.java @ONLY)
|
|
add_jar(maxscale_java SOURCES MaxScaleConnection.java MaxScaleConfiguration.java
|
|
INCLUDE_JARS ${JDBC_JAR_NAME})
|
|
add_subdirectory(test1)
|
|
add_subdirectory(prep_stmt)
|
|
add_subdirectory(batch)
|