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) | 
