diff options
-rw-r--r-- | CMakeLists.txt | 4 | ||||
-rwxr-xr-x | test.sh | 25 |
2 files changed, 27 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 2ef322a..51020ee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,12 +46,12 @@ INSTALL(FILES hiredis.h read.h sds.h async.h INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/hiredis.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) -# Add tests: Currently, I don't know how to make the tests actually run -# without hanging! ENABLE_TESTING() ADD_EXECUTABLE(hiredis-test test.c) TARGET_LINK_LIBRARIES(hiredis-test hiredis) +ADD_TEST(NAME hiredis-test + COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/test.sh) # Add examples IF(ENABLE_EXAMPLES) @@ -0,0 +1,25 @@ +#!/bin/sh -ue + +REDIS_SERVER=${REDIS_SERVER:-redis-server} +REDIS_PORT=${REDIS_PORT:-56379} + +tmpdir=$(mktemp -d) +PID_FILE=${tmpdir}/hiredis-test-redis.pid +SOCK_FILE=${tmpdir}/hiredis-test-redis.sock + +cleanup() { + set +e + kill $(cat ${PID_FILE}) + rm -rf ${tmpdir} +} +trap cleanup INT TERM EXIT + +${REDIS_SERVER} - <<EOF +daemonize yes +pidfile ${PID_FILE} +port ${REDIS_PORT} +bind 127.0.0.1 +unixsocket ${SOCK_FILE} +EOF + +./hiredis-test -h 127.0.0.1 -p ${REDIS_PORT} -s ${SOCK_FILE} |