Moved dbshard tests to a separate cmake file

This commit is contained in:
Markus Makela 2014-12-19 17:23:26 +02:00
parent a7d1a865de
commit ce53159e7d
3 changed files with 21 additions and 7 deletions

View File

@ -1,8 +1,6 @@
if(MYSQLCLIENT_FOUND AND BUILD_TESTS)
add_executable(testdbshard testdbshard.c)
target_link_libraries(testdbshard ${MYSQLCLIENT_LIBRARIES} ssl crypto dl z m rt pthread)
foreach(VAR RANGE 3000 3003)
execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/prepare_shard.sh ${TEST_HOST} ${VAR} ${TEST_USER} ${TEST_PASSWORD})
endforeach()
add_test(NAME DBShardTest COMMAND $<TARGET_FILE:testdbshard> ${TEST_HOST} ${TEST_PORT_DB} ${TEST_USER} ${TEST_PASSWORD})
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/test.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/test.cmake @ONLY)
add_test(NAME DBShardTest COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/test.cmake)
endif()

View File

@ -1,13 +1,19 @@
#!/bin/bash
if [ $# -lt 3 ]
if [ $# -lt 5 ]
then
echo "usage $0 <host> <port> <username> <password>"
printf "Not enough arguments: '"
for i in $@
do
printf "$i "
done
echo "'given, 5 needed."
echo "usage $0 <host> <port> <username> <password> <database name>"
exit 1
fi
HOST=$1
PORT=$2
USER=$3
PW=$4
SHD="shard$RANDOM"
SHD=$5
mysql -u $USER -p$PW -P $PORT -h $HOST -e "create database $SHD;"
echo "Created database \"$SHD\" at $HOST:$PORT"

View File

@ -0,0 +1,10 @@
set(DBSHARD_TEST_PORTS 3000 3001 3002 3003)
foreach(VAR ${DBSHARD_TEST_PORTS})
execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/prepare_shard.sh @TEST_HOST@ ${VAR} @TEST_USER@ @TEST_PASSWORD@ "db${VAR}")
endforeach()
execute_process(COMMAND ${CMAKE_CURRENT_BINARY_DIR}/testdbshard @TEST_HOST@ @TEST_PORT_DB@ @TEST_USER@ @TEST_PASSWORD@ RESULT_VARIABLE RVAL)
if(RVAL EQUAL 0)
message("Test passed.")
else()
message(FATAL_ERROR "Test failed.")
endif()