diff options
author | Ralf Habacker <ralf.habacker@freenet.de> | 2007-03-03 14:32:17 +0000 |
---|---|---|
committer | Ralf Habacker <ralf.habacker@freenet.de> | 2007-03-03 14:32:17 +0000 |
commit | 36ebfd411b358fb4797d31d23f945e8f6844d15a (patch) | |
tree | 9c8982d1da82fdffea8d2a741dba82e927874869 /cmake/test | |
parent | 4ceb86d29a68ebe52b20c8c090bc90c68a58f8c8 (diff) |
* cmake: new directory, contains cmake build support.
See http://www.cmake.org for more informations.
Currently only unix will be buildable because some
win32 required files are still missing.
Diffstat (limited to 'cmake/test')
-rw-r--r-- | cmake/test/CMakeLists.txt | 250 | ||||
-rw-r--r-- | cmake/test/data/valid-config-files/debug-allow-all-sha1.conf.cmake | 16 | ||||
-rw-r--r-- | cmake/test/data/valid-config-files/debug-allow-all.conf.cmake | 15 | ||||
-rw-r--r-- | cmake/test/name-test/CMakeLists.txt | 25 |
4 files changed, 306 insertions, 0 deletions
diff --git a/cmake/test/CMakeLists.txt b/cmake/test/CMakeLists.txt new file mode 100644 index 00000000..65606bf7 --- /dev/null +++ b/cmake/test/CMakeLists.txt @@ -0,0 +1,250 @@ + +#if HAVE_GLIB +# GLIB_SUBDIR=glib +#endif +#if HAVE_PYTHON +# PYTHON_SUBDIR=python +#endif +#if HAVE_QTESTLIB +# QT_SUBDIR=qt +#endif + +add_subdirectory( name-test ) + +#SUBDIRS=name-test $(GLIB_SUBDIR) $(PYTHON_SUBDIR) $(QT_SUBDIR) +#DIST_SUBDIRS=glib python qt name-test + +#INCLUDES=-I$(top_srcdir) $(DBUS_test-CFLAGS) + +include_directories( ${CMAKE_SOURCE_DIR}/.. ) +include_directories( ${CMAKE_INCLUDE_PATH} ) + +if (WIN32) +add_definitions(-Dsleep=_sleep) +endif (WIN32) + +set (TEST_SOCKET_DIR "/") + +#if (DBUS_BUILD_TESTS) +## break-loader removed for now +#test-BINARIES=test-service test-names test-shell-service shell-test spawn-test test-segfault test-exit test-sleep-forever + +#enable stand alone make check test +#TESTS=shell-test +#else +#test-BINARIES= +#TESTS= +#endif + +#if DBUS_GCOV_ENABLED +#GCOV_BINARIES=decode-gcov +#else +#GCOV_BINARIES= +#endif + +set (test-service_SOURCES + ${CMAKE_SOURCE_DIR}/../test/test-service.c + ${CMAKE_SOURCE_DIR}/../test/test-utils.c + ${CMAKE_SOURCE_DIR}/../test/test-utils.h +) + +set (test-names_SOURCES + ${CMAKE_SOURCE_DIR}/../test/test-names.c + ${CMAKE_SOURCE_DIR}/../test/test-utils.c + ${CMAKE_SOURCE_DIR}/../test/test-utils.h +) + +set (break_loader_SOURCES + ${CMAKE_SOURCE_DIR}/../test/break-loader.c +) + +set (test-shell-service_SOURCES + ${CMAKE_SOURCE_DIR}/../test/test-shell-service.c + ${CMAKE_SOURCE_DIR}/../test/test-utils.c + ${CMAKE_SOURCE_DIR}/../test/test-utils.h +) + +set (test-shell_SOURCES + ${CMAKE_SOURCE_DIR}/../test/shell-test.c +) + +set (test-spawn_SOURCES + ${CMAKE_SOURCE_DIR}/../test/spawn-test.c +) + +set (test-exit_SOURCES + ${CMAKE_SOURCE_DIR}/../test/test-exit.c +) + +set (test-segfault_SOURCES + ${CMAKE_SOURCE_DIR}/../test/test-segfault.c +) + +set (test-sleep-forever_SOURCES + ${CMAKE_SOURCE_DIR}/../test/test-sleep-forever.c +) + +set (decode_gcov_SOURCES + ${CMAKE_SOURCE_DIR}/../test/decode-gcov.c +) + +add_executable(test-service ${test-service_SOURCES}) +target_link_libraries(test-service dbus-1) +install_targets(/bin test-service) + +# (rh) does not work at now +ADD_TEST(test-service ${EXECUTABLE_OUTPUT_PATH}/test-service${EXT}) + + + +add_executable(test-names ${test-names_SOURCES}) +target_link_libraries(test-names dbus-1) +install_targets(/bin test-names) +ADD_TEST(test-names ${EXECUTABLE_OUTPUT_PATH}/test-names${EXT}) + +add_executable(test-shell ${test-shell_SOURCES}) +target_link_libraries(test-shell dbus-1) +install_targets(/bin test-shell) +ADD_TEST(test-shell ${EXECUTABLE_OUTPUT_PATH}/test-shell${EXT}) + +add_executable(test-shell-service ${test-shell_SOURCES}) +target_link_libraries(test-shell-service dbus-1) +install_targets(/bin test-shell-service) +ADD_TEST(test-shell-service ${EXECUTABLE_OUTPUT_PATH}/test-shell-service${EXT}) + +add_executable(test-spawn ${test-spawn_SOURCES}) +target_link_libraries(test-spawn dbus-1) +# (rh) does not work now +#ADD_TEST(test-spawn ${EXECUTABLE_OUTPUT_PATH}/test-spawn${EXT}) + +add_executable(test-exit ${test-exit_SOURCES}) +target_link_libraries(test-exit dbus-1) +install_targets(/bin test-exit) +ADD_TEST(test-exit ${EXECUTABLE_OUTPUT_PATH}/test-exit${EXT}) + +add_executable(test-segfault ${test-segfault_SOURCES}) +target_link_libraries(test-segfault dbus-1) +install_targets(/bin test-segfault) +ADD_TEST(test-segfault ${EXECUTABLE_OUTPUT_PATH}/test-segfault${EXT}) + +add_executable(test-sleep-forever ${test-sleep-forever_SOURCES}) +target_link_libraries(test-sleep-forever dbus-1) +# (rh) don't know for what this test is good +#ADD_TEST(test-sleep-forever ${EXECUTABLE_OUTPUT_PATH}/test-sleep-forever${EXT}) + +#add_executable(decode-gcov ${decode_gcov_SOURCES}) +#target_link_libraries(decode-gcov dbus-1) + +#EXTRA_DIST= +# +### keep these in creation order, i.e. uppermost dirs first +set (TESTDIRS + test/data + test/data/valid-messages + test/data/invalid-messages + test/data/incomplete-messages + test/data/auth + test/data/sha-1 + test/data/valid-config-files + test/data/valid-config-files/basic.d + test/data/valid-config-files/system.d + test/data/valid-service-files + test/data/invalid-config-files + test/data/equiv-config-files + test/data/equiv-config-files/basic + test/data/equiv-config-files/basic/basic.d + test/data/equiv-config-files/entities + test/data/equiv-config-files/entities/basic.d +) +set (CONFIG_VERBOSE 0) + +### copy tests to builddir so that generated tests and static tests +### are all in one place. +FOREACH(FILE_TYPE *.message *.message-raw *.auth-script *.sha1 *.txt *.conf *.service) + FOREACH(DIR ${TESTDIRS}) + FILE(GLOB FILES "${CMAKE_SOURCE_DIR}/../${DIR}/${FILE_TYPE}" ) + FILE(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/${DIR}) + FOREACH(FILE ${FILES}) + GET_FILENAME_COMPONENT(FILENAME ${FILE} NAME) + SET (TARGET ${CMAKE_BINARY_DIR}/${DIR}/${FILENAME}) + configure_file(${FILE} ${TARGET} COPYONLY) + IF (CONFIG_VERBOSE) + MESSAGE("FROM: ${FILE}\nTO: ${TARGET}\n") + ENDIF (CONFIG_VERBOSE) + ENDFOREACH(FILE) + ENDFOREACH(DIR) +ENDFOREACH(FILE_TYPE) + +### generate test files +SET (CONFIG_FILES test/data/valid-config-files) +configure_file(${CMAKE_SOURCE_DIR}/${CONFIG_FILES}/debug-allow-all-sha1.conf.cmake ${CMAKE_BINARY_DIR}/${CONFIG_FILES}/debug-allow-all-sha1.conf ) +configure_file(${CMAKE_SOURCE_DIR}/${CONFIG_FILES}/debug-allow-all.conf.cmake ${CMAKE_BINARY_DIR}/${CONFIG_FILES}/debug-allow-all.conf ) + +# (rh) disabled copying because bus-test could not parse this files for unknown reasons +FILE(GLOB FILES "${CMAKE_BINARY_DIR}/bus/*.conf" ) +FOREACH(FILE ${FILES}) + GET_FILENAME_COMPONENT(FILENAME ${FILE} NAME) + SET (TARGET ${CMAKE_BINARY_DIR}/${CONFIG_FILES}/${FILENAME}) + configure_file(${FILE} ${TARGET}) + IF (CONFIG_VERBOSE) + MESSAGE("FROM: ${FILE}\nTO: ${TARGET}\n") + ENDIF (CONFIG_VERBOSE) +ENDFOREACH(FILE) + +# todo: for installation the TEST_..._BINARY variables must reflect the +# installation dir or has to be defined relative +# +SET (SERVICE_FILES test/data/valid-service-files) +FILE(GLOB FILES "${CMAKE_SOURCE_DIR}/../${SERVICE_FILES}/*.service.in" ) +FOREACH(FILE ${FILES}) + GET_FILENAME_COMPONENT(FILENAME ${FILE} NAME_WE) + SET (TARGET ${CMAKE_BINARY_DIR}/${SERVICE_FILES}/${FILENAME}.service) + IF (CONFIG_VERBOSE) + MESSAGE("FROM: ${FILE}\nTO: ${TARGET}\n") + ENDIF (CONFIG_VERBOSE) + configure_file(${FILE} ${TARGET} ) + install_files(/data/dbus-1/services FILES ${TARGET}) +ENDFOREACH(FILE) + +# +#FIND_TESTS=find -name "*.message" -o -name "*.message-raw" -o -name "*.auth-script" -o -name "*.sha1" -o -name "*.txt" -o -name "*.conf" -o -name "*.service" +# +### copy tests to builddir so that generated tests and static tests +### are all in one place. +#all-local: +# for D in $(TESTDIRS); do +# test -d $(top_builddir)/test/$$D || mkdir $(top_builddir)/test/$$D || exit 1 ; +# done ; +# if ! (test $(srcdir) = . || test $(srcdir) -ef .) ; then +# FILES=`(cd $(srcdir) && $(FIND_TESTS))` ; +# for F in $$FILES; do +# SRC=$(srcdir)/$$F ; +# DEST=$(top_builddir)/test/$$F ; +# echo '-- Copying test file '$$F ; +# cp $$SRC $$DEST || exit 1 ; +# chmod u+w $$DEST || exit 1 ; +# done ; +# else +# echo '-- No need to copy test data as srcdir = builddir' ; +# fi ; +# echo '-- Copying' $(top_builddir)/bus/*.conf 'to test directory' ; +# cp $(top_builddir)/bus/*.conf $(top_builddir)/test/data/valid-config-files || exit 1 ; +# chmod u+w $(top_builddir)/test/data/valid-config-files/*.conf || exit 1 +# +### this doesn't clean generated test data files when srcdir=builddir +#clean-local: +# if test $(srcdir) != . ; then +# FILES=`(cd $(top_builddir)/test && $(FIND_TESTS))` ; +# for F in $$FILES; do +# DEST=$(top_builddir)/test/$$F ; +# echo '-- Deleting test file '$$F ; +# rm $$DEST || exit 1 ; +# done ; +# REVERSEDIRS= ; +# for D in $(TESTDIRS); do +# REVERSEDIRS="$$D $$REVERSEDIRS" ; +# done ; +# for D in $$REVERSEDIRS; do +# rmdir $(top_builddir)/test/$$D || exit 1 ; +# done ; +# fi diff --git a/cmake/test/data/valid-config-files/debug-allow-all-sha1.conf.cmake b/cmake/test/data/valid-config-files/debug-allow-all-sha1.conf.cmake new file mode 100644 index 00000000..68f28228 --- /dev/null +++ b/cmake/test/data/valid-config-files/debug-allow-all-sha1.conf.cmake @@ -0,0 +1,16 @@ +<!-- Bus that listens on a debug pipe and requires SHA1 auth, used to test SHA1 --> + +<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" + "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> +<busconfig> + <listen>debug-pipe:name=test-server</listen> + <listen>tcp:host=localhost,port=1234</listen> + <servicedir>@TEST_SERVICE_DIR@</servicedir> + <auth>DBUS_COOKIE_SHA1</auth> + <policy context="default"> + <allow send_interface="*"/> + <allow receive_interface="*"/> + <allow own="*"/> + <allow user="*"/> + </policy> +</busconfig> diff --git a/cmake/test/data/valid-config-files/debug-allow-all.conf.cmake b/cmake/test/data/valid-config-files/debug-allow-all.conf.cmake new file mode 100644 index 00000000..fd2844ad --- /dev/null +++ b/cmake/test/data/valid-config-files/debug-allow-all.conf.cmake @@ -0,0 +1,15 @@ +<!-- Bus that listens on a debug pipe and doesn't create any restrictions --> + +<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" + "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> +<busconfig> + <listen>debug-pipe:name=test-server</listen> + <listen>tcp:host=localhost,port=1234</listen> + <servicedir>@TEST_SERVICE_DIR@</servicedir> + <policy context="default"> + <allow send_interface="*"/> + <allow receive_interface="*"/> + <allow own="*"/> + <allow user="*"/> + </policy> +</busconfig> diff --git a/cmake/test/name-test/CMakeLists.txt b/cmake/test/name-test/CMakeLists.txt new file mode 100644 index 00000000..3b8f39ec --- /dev/null +++ b/cmake/test/name-test/CMakeLists.txt @@ -0,0 +1,25 @@ +if (DBUS_BUILD_TESTS) + +set (NAMEtest-DIR ../../../test/name-test) + +include_directories( ${CMAKE_SOURCE_DIR}/.. ) +include_directories( ${CMAKE_INCLUDE_PATH} ) +add_definitions(-DDBUS_COMPILATION) + +# there is also a test-names executable, don't know if this is the same +add_executable(test-names1 ${NAMEtest-DIR}/test-names.c) +target_link_libraries(test-names1 dbus-1) +install_targets(/bin test-names1) +ADD_TEST(test-names ${EXECUTABLE_OUTPUT_PATH}/test-names1) + +add_executable(test-pending-call-dispatch ${NAMEtest-DIR}/test-pending-call-dispatch.c) +target_link_libraries(test-pending-call-dispatch dbus-1) +install_targets(/bin test-pending-call-dispatch) +ADD_TEST(test-pending-call-dispatch ${EXECUTABLE_OUTPUT_PATH}/test-pending_call-dispatch) + +add_executable(test-thread-init ${NAMEtest-DIR}/test-threads-init.c) +target_link_libraries(test-thread-init dbus-1) +install_targets(/bin test-thread-init) +ADD_TEST(test-names ${EXECUTABLE_OUTPUT_PATH}/test-thread-init) + +endif (DBUS_BUILD_TESTS) |