You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
(56) |
Apr
(109) |
May
(15) |
Jun
(3) |
Jul
(37) |
Aug
(96) |
Sep
(40) |
Oct
(4) |
Nov
(54) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(47) |
Feb
(30) |
Mar
(102) |
Apr
(120) |
May
(68) |
Jun
(54) |
Jul
(53) |
Aug
(122) |
Sep
(190) |
Oct
(71) |
Nov
(85) |
Dec
(108) |
2007 |
Jan
(72) |
Feb
(190) |
Mar
(53) |
Apr
(101) |
May
(145) |
Jun
(148) |
Jul
(167) |
Aug
(143) |
Sep
(23) |
Oct
(198) |
Nov
(223) |
Dec
(195) |
2008 |
Jan
(100) |
Feb
(129) |
Mar
(79) |
Apr
(77) |
May
(34) |
Jun
(95) |
Jul
(112) |
Aug
(160) |
Sep
(82) |
Oct
(124) |
Nov
(199) |
Dec
(355) |
2009 |
Jan
(436) |
Feb
(89) |
Mar
(298) |
Apr
(189) |
May
(33) |
Jun
(88) |
Jul
(105) |
Aug
(44) |
Sep
(181) |
Oct
(87) |
Nov
(75) |
Dec
(1) |
2010 |
Jan
(63) |
Feb
(21) |
Mar
(3) |
Apr
(1) |
May
(1) |
Jun
(3) |
Jul
(26) |
Aug
(37) |
Sep
(26) |
Oct
(15) |
Nov
(13) |
Dec
|
From: <svn...@op...> - 2009-04-04 21:50:01
|
Author: scriptor Date: Sat Apr 4 23:49:57 2009 New Revision: 5535 URL: http://www.opensync.org/changeset/5535 Log: Replacing "|| exit 1" by a solution, that defers the exit until after the TMPDIR has been removed. Added: plugins/ldap-sync/tests/check_osynctool_add_file_and_valgrind_and_slowsync (contents, props changed) Modified: plugins/ldap-sync/tests/check_add_modify_delete_and_sync plugins/ldap-sync/tests/check_add_modify_delete_four_ldifs_and_sync plugins/ldap-sync/tests/check_connect plugins/ldap-sync/tests/check_fastsync plugins/ldap-sync/tests/check_init plugins/ldap-sync/tests/check_modify_and_fastsync plugins/ldap-sync/tests/check_slowsync plugins/ldap-sync/tests/check_sync Modified: plugins/ldap-sync/tests/check_add_modify_delete_and_sync ============================================================================== --- plugins/ldap-sync/tests/check_add_modify_delete_and_sync Sat Apr 4 23:49:35 2009 (r5534) +++ plugins/ldap-sync/tests/check_add_modify_delete_and_sync Sat Apr 4 23:49:57 2009 (r5535) @@ -195,7 +195,14 @@ TMPDIR=`mktemp -d /tmp/ldap_sync_test.XXXXXX` || exit 1 -$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --connect $SYNCMETHOD --syncdone --disconnect --finalize || exit 1 +$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --connect $SYNCMETHOD --syncdone --disconnect --finalize + +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: osyncplugin has failed. Exiting." + exit 1 +fi + @@ -211,7 +218,13 @@ fi -$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --connect $SYNCMETHOD --syncdone --disconnect --finalize || exit 1 +$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --connect $SYNCMETHOD --syncdone --disconnect --finalize +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: osyncplugin has failed. Exiting." + exit 1 +fi + @@ -242,7 +255,9 @@ -$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --connect $SYNCMETHOD --syncdone --disconnect --finalize || exit 1 +$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --connect $SYNCMETHOD --syncdone --disconnect --finalize +rv=$? + if test -d "$TMPDIR"; then @@ -250,3 +265,8 @@ fi +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: osyncplugin has failed. Exiting." + exit 1 +fi + Modified: plugins/ldap-sync/tests/check_add_modify_delete_four_ldifs_and_sync ============================================================================== --- plugins/ldap-sync/tests/check_add_modify_delete_four_ldifs_and_sync Sat Apr 4 23:49:35 2009 (r5534) +++ plugins/ldap-sync/tests/check_add_modify_delete_four_ldifs_and_sync Sat Apr 4 23:49:57 2009 (r5535) @@ -438,7 +438,11 @@ ########## Synchronize ############# -$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --connect $SYNCMETHOD --syncdone --disconnect --finalize || exit 1 +$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --connect $SYNCMETHOD --syncdone --disconnect --finalize + +rv=$? + + if test -d "$TMPDIR"; then @@ -446,3 +450,8 @@ fi +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: osyncplugin has failed. Exiting." + exit 1 +fi + Modified: plugins/ldap-sync/tests/check_connect ============================================================================== --- plugins/ldap-sync/tests/check_connect Sat Apr 4 23:49:35 2009 (r5534) +++ plugins/ldap-sync/tests/check_connect Sat Apr 4 23:49:57 2009 (r5535) @@ -73,7 +73,9 @@ echo "$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --connect --disconnect --finalize" -$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --connect --disconnect --finalize || exit 1 +$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --connect --disconnect --finalize + +rv=$? if test -d "$TMPDIR"; then @@ -81,3 +83,8 @@ fi +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: osyncplugin has failed. Exiting." + exit 1 +fi + Modified: plugins/ldap-sync/tests/check_fastsync ============================================================================== --- plugins/ldap-sync/tests/check_fastsync Sat Apr 4 23:49:35 2009 (r5534) +++ plugins/ldap-sync/tests/check_fastsync Sat Apr 4 23:49:57 2009 (r5535) @@ -69,10 +69,16 @@ TMPDIR=`mktemp -d /tmp/ldap_sync_test.XXXXXX` || exit 1 -$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --connect --fastsync --syncdone --disconnect --finalize || exit 1 +$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --connect --fastsync --syncdone --disconnect --finalize +rv=$? if test -d "$TMPDIR"; then rm -rf "$TMPDIR" fi +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: osyncplugin has failed. Exiting." + exit 1 +fi + Modified: plugins/ldap-sync/tests/check_init ============================================================================== --- plugins/ldap-sync/tests/check_init Sat Apr 4 23:49:35 2009 (r5534) +++ plugins/ldap-sync/tests/check_init Sat Apr 4 23:49:57 2009 (r5535) @@ -73,10 +73,18 @@ TMPDIR=`mktemp -d /tmp/ldap_sync_test.XXXXXX` || exit 1 -$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --finalize || exit 1 +$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --finalize + +rv=$? + if test -d "$TMPDIR"; then rm -rf "$TMPDIR" fi +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: osyncplugin has failed. Exiting." + exit 1 +fi + Modified: plugins/ldap-sync/tests/check_modify_and_fastsync ============================================================================== --- plugins/ldap-sync/tests/check_modify_and_fastsync Sat Apr 4 23:49:35 2009 (r5534) +++ plugins/ldap-sync/tests/check_modify_and_fastsync Sat Apr 4 23:49:57 2009 (r5535) @@ -132,9 +132,16 @@ TMPDIR=`mktemp -d /tmp/ldap_sync_test.XXXXXX` || exit 1 -$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --connect --fastsync --syncdone --disconnect --finalize || exit 1 +$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --connect --fastsync --syncdone --disconnect --finalize +rv=$? if test -d "$TMPDIR"; then rm -rf "$TMPDIR" fi + +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: osyncplugin has failed. Exiting." + exit 1 +fi + Added: plugins/ldap-sync/tests/check_osynctool_add_file_and_valgrind_and_slowsync ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ plugins/ldap-sync/tests/check_osynctool_add_file_and_valgrind_and_slowsync Sat Apr 4 23:49:57 2009 (r5535) @@ -0,0 +1,122 @@ +#!/bin/bash + +set -x + +FILE=$0 +OSYNCTOOL=$(which osynctool 2>/dev/null) +if test ! -f "$OSYNCTOOL"; then + echo "$FILE:$LINENO: ERROR: osynctool could not be found. Exiting." + exit 1 +fi + +if test ! -x "$OSYNCTOOL"; then + echo "$FILE:$LINENO: ERROR: osynctool could be found, but it is not executable. Exiting." + exit 1 +fi + + + +PLUGINNAME="ldap-sync" +PLUGINPATH="$1/src" +CFG="$2/src/$PLUGINNAME" +OBJECTTYPE="$3" +XMLFILE="$4" + + +SOURCE_DIR=`dirname $FILE` +if test ! -d "$SOURCE_DIR"; then + echo "$FILE:$LINENO: ERROR: \"$SOURCE_DIR\" is not a directory. Exiting." + exit 1 +fi + +if test ! -r "$SOURCE_DIR/test.conf"; then + echo "$FILE:$LINENO: ERROR: \"$SOURCE_DIR/test.conf\" could not be read. Exiting." + exit 1 +fi + +if test ! -r "$SOURCE_DIR/check_osynctool_common.inc"; then + echo "$FILE:$LINENO: ERROR: \"$SOURCE_DIR/test.conf\" could not be read. Exiting." + exit 1 +fi + +source "$SOURCE_DIR/test.conf" +source "$SOURCE_DIR/check_osynctool_common.inc" + +echo "PLUGINPATH = \"$PLUGINPATH\"" +echo "CFG = \"$CFG\"" + + +if test -n "$TRACE_FILES"; then + echo "$FILE:$LINENO: Enabling OSYNC_TRACE." + if test ! -d "$TRACE_FILES"; then + mkdir -p "$TRACE_FILES" + fi + export OSYNC_TRACE="$TRACE_FILES" +fi + + +if test -z "$XMLFILE"; then + echo "$FILE:$LINENO: ERROR: \$XMLFILE is empty. Exiting." + exit 1 +fi + +if test ! -f "$XMLFILE"; then + echo "$FILE:$LINENO: ERROR: \"$XMLFILE\" could not be found. Exiting." + exit 1 +fi + +if test ! -r "$XMLFILE"; then + echo "$FILE:$LINENO: ERROR: \"$XMLFILE\" could be found, but it is not readable. Exiting." + exit 1 +fi + + +if test -z "$VALGRIND"; then + echo "$FILE:$LINENO: ERROR: \$VALGRIND is empty. Exiting."; + exit 1; +fi + + + + + +TMPDIR=`mktemp -d /tmp/ldap_sync_test.XXXXXX` || exit 1 +echo "TMPDIR = \"$TMPDIR\"" + + + + +# Set up test group +prologue; + +# Empty LDAP DIT +$SOURCE_DIR/remove_test_ldifs + +# Remove entry from directory used by file-sync +remove_file_by_objtype "$OBJECTTYPE" + +# Add XML file +add_file "$OBJECTTYPE" "$XMLFILE" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: add_file() has failed." + exit 1; +fi + +# osynctool should synchronize only one particular object type: +enable_only "$OBJECTTYPE" + +# Trigger synchronization +valgrind_slow_sync "$OBJECTTYPE" +rv=$? + +# Shut down test group +epilogue + + +if test -d "$TMPDIR"; then + rm -rf "$TMPDIR" +fi + + +exit $rv Modified: plugins/ldap-sync/tests/check_slowsync ============================================================================== --- plugins/ldap-sync/tests/check_slowsync Sat Apr 4 23:49:35 2009 (r5534) +++ plugins/ldap-sync/tests/check_slowsync Sat Apr 4 23:49:57 2009 (r5535) @@ -70,10 +70,16 @@ TMPDIR=`mktemp -d /tmp/ldap_sync_test.XXXXXX` || exit 1 -$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --connect --slowsync --syncdone --disconnect --finalize || exit 1 +$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --connect --slowsync --syncdone --disconnect --finalize + +rv=$? if test -d "$TMPDIR"; then rm -rf "$TMPDIR" fi +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: osyncplugin has failed. Exiting." + exit 1 +fi Modified: plugins/ldap-sync/tests/check_sync ============================================================================== --- plugins/ldap-sync/tests/check_sync Sat Apr 4 23:49:35 2009 (r5534) +++ plugins/ldap-sync/tests/check_sync Sat Apr 4 23:49:57 2009 (r5535) @@ -73,9 +73,17 @@ TMPDIR=`mktemp -d /tmp/ldap_sync_test.XXXXXX` || exit 1 -$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --connect --sync --syncdone --disconnect --finalize || exit 1 +$OSYNCPLUGIN --plugin $PLUGINNAME --pluginpath $PLUGINPATH --config $CFG --configdir $TMPDIR --initialize --connect --sync --syncdone --disconnect --finalize +rv=$? + if test -d "$TMPDIR"; then rm -rf "$TMPDIR" fi + +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: osyncplugin has failed. Exiting." + exit 1 +fi + |
From: <svn...@op...> - 2009-04-04 21:49:39
|
Author: scriptor Date: Sat Apr 4 23:49:35 2009 New Revision: 5534 URL: http://www.opensync.org/changeset/5534 Log: 1. Tried to reduce the length of the test names, so that fewer test names get cut off when being displayed. 2. Replaced "-fastsync" by "--fastsync". 3. Tried to introduce a timeout for the tests: ctest/cmake seems to care about the DART_TESTING_TIMEOUT variable only. All the other variables, like CTEST_TEST_TIMEOUT, CMAKE_LONG_TEST_TIMEOUT or CTEST_TIME_LIMIT do not seem to work at all, regardless of where they may have been set. And there seem to be only two ways how to set such a timeout with ctest: a) A line like export DART_TESTING_TIMEOUT=300 in the test script called by a typical ADD_TEST(...) macro in the CMakeLists.txt b) And a define while running cmake: cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DUPDATE_TYPE=svn -DCMAKE_BUILD_TYPE=Debug -DCMAKE_VERBOSE_MAKEFILE=ON -DDART_TESTING_TIMEOUT="300" All the other proposals found on the internet do not work at all. E.g.: http://www.cmake.org/pipermail/cmake/2007-October/017226.html http://www.cmake.org/pipermail/cmake/2007-October/017231.html http://www.cmake.org/pipermail/cmake/2007-January/012633.html Currently I have chosen a timeout of 5 minutes (300 seconds). This seems to be more realistic. Modified: plugins/ldap-sync/tests/CMakeLists.txt plugins/ldap-sync/tests/test.conf Modified: plugins/ldap-sync/tests/CMakeLists.txt ============================================================================== --- plugins/ldap-sync/tests/CMakeLists.txt Sat Apr 4 23:47:43 2009 (r5533) +++ plugins/ldap-sync/tests/CMakeLists.txt Sat Apr 4 23:49:35 2009 (r5534) @@ -8,6 +8,16 @@ SET ( XSLDIR "${CMAKE_SOURCE_DIR}/src/xslt" CACHE STRING "Path where the stylesheeets are located.") SET ( XMLDIR "${CMAKE_SOURCE_DIR}/tests" CACHE STRING "Path where any *.xml files are located.") SET ( SCHEMADIR "${LDAP_PLUGIN_OPENSYNC_SCHEMASDIR}" CACHE STRING "Path where any *.xml files are located.") +SET ( CTEST_TEST_TIMEOUT 1500 CACHE INTERNAL "The most natural variable for a timeout setting does not work. Great!") +SET ( CMAKE_LONG_TEST_TIMEOUT 1500 CACHE INTERNAL "Does not work, either." ) +SET ( DART_TESTING_TIMEOUT 1500 CACHE INTERNAL "Is there really no way to set a timeout to the tests run by ctest?") +SET ( CTEST_TIME_LIMIT 1500 CACHE INTERNAL "Taken from ChangeLog.txt in cmake-2.6.2... No chance.") + +OPTION ( RUN_LONG_TESTS "Should the tests with osynctool running under valgrind be run? They take quite some time.") + + + + MESSAGE(STATUS "checking for xmllint...") @@ -78,7 +88,10 @@ MESSAGE(STATUS "XSLDIR = ${XSLDIR}") MESSAGE(STATUS "XMLDIR = ${XMLDIR}") MESSAGE(STATUS "SCHEMADIR = ${SCHEMADIR}") - +MESSAGE(STATUS "CTEST_TEST_TIMEOUT = ${CTEST_TEST_TIMEOUT}") +MESSAGE(STATUS "CMAKE_LONG_TEST_TIMEOUT = ${CMAKE_LONG_TEST_TIMEOUT}") +MESSAGE(STATUS "DART_TESTING_TIMEOUT = ${DART_TESTING_TIMEOUT}") +MESSAGE(STATUS "CTEST_TIME_LIMIT = ${CTEST_TIME_LIMIT}") ##################################################### @@ -370,44 +383,44 @@ IF (LDAPMODIFY_EXECUTABLE) IF (LDAPDELETE_EXECUTABLE) - ADD_TEST( add_modify_delete_contact1_and_fastsync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact1.ldif ${TESTDIR}/contact1_entrymods "--fastsync") + ADD_TEST( add_mod_del_contact1_and_fastsync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact1.ldif ${TESTDIR}/contact1_entrymods "--fastsync") - ADD_TEST( add_modify_delete_contact2_and_fastsync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact2.ldif ${TESTDIR}/contact2_entrymods "--fastsync") + ADD_TEST( add_mod_del_contact2_and_fastsync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact2.ldif ${TESTDIR}/contact2_entrymods "--fastsync") - ADD_TEST( add_modify_delete_event_and_fastsync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/event1.ldif ${TESTDIR}/event1_entrymods "--fastsync") + ADD_TEST( add_mod_del_event_and_fastsync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/event1.ldif ${TESTDIR}/event1_entrymods "--fastsync") - ADD_TEST( add_modify_delete_todo_and_fastsync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/todo1.ldif ${TESTDIR}/todo1_entrymods "--fastsync" ) + ADD_TEST( add_mod_del_todo_and_fastsync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/todo1.ldif ${TESTDIR}/todo1_entrymods "--fastsync" ) - ADD_TEST( add_modify_delete_note_and_fastsync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/note1.ldif ${TESTDIR}/note1_entrymods "-fastsync") + ADD_TEST( add_mod_del_note_and_fastsync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/note1.ldif ${TESTDIR}/note1_entrymods "--fastsync") - ADD_TEST( add_modify_delete_contact1_and_sync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact1.ldif ${TESTDIR}/contact1_entrymods "--sync") + ADD_TEST( add_mod_del_contact1_and_sync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact1.ldif ${TESTDIR}/contact1_entrymods "--sync") - ADD_TEST( add_modify_delete_contact2_and_sync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact2.ldif ${TESTDIR}/contact2_entrymods "--sync") + ADD_TEST( add_mod_del_contact2_and_sync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact2.ldif ${TESTDIR}/contact2_entrymods "--sync") - ADD_TEST( add_modify_delete_event_and_sync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/event1.ldif ${TESTDIR}/event1_entrymods "--sync") + ADD_TEST( add_mod_del_event_and_sync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/event1.ldif ${TESTDIR}/event1_entrymods "--sync") - ADD_TEST( add_modify_delete_todo_and_sync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/todo1.ldif ${TESTDIR}/todo1_entrymods "--sync" ) + ADD_TEST( add_mod_del_todo_and_sync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/todo1.ldif ${TESTDIR}/todo1_entrymods "--sync" ) - ADD_TEST( add_modify_delete_note_and_sync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/note1.ldif ${TESTDIR}/note1_entrymods "-sync") + ADD_TEST( add_mod_del_note_and_sync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/note1.ldif ${TESTDIR}/note1_entrymods "-sync") - ADD_TEST( add_modify_delete_contact1_and_slowsync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact1.ldif ${TESTDIR}/contact1_entrymods "--slowsync") + ADD_TEST( add_mod_del_contact1_and_slowsync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact1.ldif ${TESTDIR}/contact1_entrymods "--slowsync") - ADD_TEST( add_modify_delete_contact2_and_slowsync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact2.ldif ${TESTDIR}/contact2_entrymods "--slowsync") + ADD_TEST( add_mod_del_contact2_and_slowsync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact2.ldif ${TESTDIR}/contact2_entrymods "--slowsync") - ADD_TEST( add_modify_delete_event_and_slowsync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/event1.ldif ${TESTDIR}/event1_entrymods "--slowsync") + ADD_TEST( add_mod_del_event_and_slowsync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/event1.ldif ${TESTDIR}/event1_entrymods "--slowsync") - ADD_TEST( add_modify_delete_todo_and_slowsync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/todo1.ldif ${TESTDIR}/todo1_entrymods "--slowsync" ) + ADD_TEST( add_mod_del_todo_and_slowsync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/todo1.ldif ${TESTDIR}/todo1_entrymods "--slowsync" ) - ADD_TEST( add_modify_delete_note_and_slowsync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/note1.ldif ${TESTDIR}/note1_entrymods "-slowsync") + ADD_TEST( add_mod_del_note_and_slowsync ${TESTDIR}/check_add_modify_delete_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/note1.ldif ${TESTDIR}/note1_entrymods "-slowsync") - ADD_TEST( add_modify_delete_all_four_objtypes_and_fastsync ${TESTDIR}/check_add_modify_delete_four_ldifs_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact1.ldif ${TESTDIR}/event1.ldif ${TESTDIR}/todo1.ldif ${TESTDIR}/note1.ldif ${TESTDIR}/contact1_entrymods ${TESTDIR}/event1_entrymods ${TESTDIR}/todo1_entrymods ${TESTDIR}/note1_entrymods "--fastsync") + ADD_TEST( add_mod_del_all_four_objtypes_and_fastsync ${TESTDIR}/check_add_modify_delete_four_ldifs_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact1.ldif ${TESTDIR}/event1.ldif ${TESTDIR}/todo1.ldif ${TESTDIR}/note1.ldif ${TESTDIR}/contact1_entrymods ${TESTDIR}/event1_entrymods ${TESTDIR}/todo1_entrymods ${TESTDIR}/note1_entrymods "--fastsync") - ADD_TEST( add_modify_delete_all_four_objtypes_and_fastsync ${TESTDIR}/check_add_modify_delete_four_ldifs_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact1.ldif ${TESTDIR}/event1.ldif ${TESTDIR}/todo1.ldif ${TESTDIR}/note1.ldif ${TESTDIR}/contact1_entrymods ${TESTDIR}/event1_entrymods ${TESTDIR}/todo1_entrymods ${TESTDIR}/note1_entrymods "--sync") + ADD_TEST( add_mod_del_all_four_objtypes_and_fastsync ${TESTDIR}/check_add_modify_delete_four_ldifs_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact1.ldif ${TESTDIR}/event1.ldif ${TESTDIR}/todo1.ldif ${TESTDIR}/note1.ldif ${TESTDIR}/contact1_entrymods ${TESTDIR}/event1_entrymods ${TESTDIR}/todo1_entrymods ${TESTDIR}/note1_entrymods "--sync") - ADD_TEST( add_modify_delete_all_four_objtypes_and_fastsync ${TESTDIR}/check_add_modify_delete_four_ldifs_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact1.ldif ${TESTDIR}/event1.ldif ${TESTDIR}/todo1.ldif ${TESTDIR}/note1.ldif ${TESTDIR}/contact1_entrymods ${TESTDIR}/event1_entrymods ${TESTDIR}/todo1_entrymods ${TESTDIR}/note1_entrymods "--slowsync") + ADD_TEST( add_mod_del_all_four_objtypes_and_fastsync ${TESTDIR}/check_add_modify_delete_four_ldifs_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact1.ldif ${TESTDIR}/event1.ldif ${TESTDIR}/todo1.ldif ${TESTDIR}/note1.ldif ${TESTDIR}/contact1_entrymods ${TESTDIR}/event1_entrymods ${TESTDIR}/todo1_entrymods ${TESTDIR}/note1_entrymods "--slowsync") ENDIF (LDAPDELETE_EXECUTABLE) ENDIF (LDAPMODIFY_EXECUTABLE) @@ -422,18 +435,18 @@ IF (LDAPDELETE_EXECUTABLE) IF (VALGRIND_EXECUTABLE) - ADD_TEST( valgrind_add_modify_delete_contact1_and_fastsync ${TESTDIR}/check_add_modify_delete_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact1.ldif ${TESTDIR}/contact1_entrymods "--fastsync" ${TESTDIR}/opensync.suppr ) + ADD_TEST( valgrind_add_mod_del_contact1_and_fastsync ${TESTDIR}/check_add_modify_delete_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact1.ldif ${TESTDIR}/contact1_entrymods "--fastsync" ${TESTDIR}/opensync.suppr ) - ADD_TEST( valgrind_add_modify_delete_contact2_and_fastsync ${TESTDIR}/check_add_modify_delete_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact2.ldif ${TESTDIR}/contact2_entrymods "--fastsync" ${TESTDIR}/opensync.suppr ) + ADD_TEST( valgrind_add_mod_del_contact2_and_fastsync ${TESTDIR}/check_add_modify_delete_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact2.ldif ${TESTDIR}/contact2_entrymods "--fastsync" ${TESTDIR}/opensync.suppr ) - ADD_TEST( valgrind_add_modify_delete_event_and_fastsync ${TESTDIR}/check_add_modify_delete_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/event1.ldif ${TESTDIR}/event1_entrymods "--fastsync" ${TESTDIR}/opensync.suppr ) + ADD_TEST( valgrind_add_mod_del_event_and_fastsync ${TESTDIR}/check_add_modify_delete_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/event1.ldif ${TESTDIR}/event1_entrymods "--fastsync" ${TESTDIR}/opensync.suppr ) - ADD_TEST( valgrind_add_modify_delete_todo_and_fastsync ${TESTDIR}/check_add_modify_delete_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/todo1.ldif ${TESTDIR}/todo1_entrymods "--fastsync" ${TESTDIR}/opensync.suppr ) + ADD_TEST( valgrind_add_mod_del_todo_and_fastsync ${TESTDIR}/check_add_modify_delete_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/todo1.ldif ${TESTDIR}/todo1_entrymods "--fastsync" ${TESTDIR}/opensync.suppr ) - ADD_TEST( valgrind_add_modify_delete_note_and_fastsync ${TESTDIR}/check_add_modify_delete_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/note1.ldif ${TESTDIR}/note1_entrymods "-fastsync" ${TESTDIR}/opensync.suppr ) + ADD_TEST( valgrind_add_mod_del_note_and_fastsync ${TESTDIR}/check_add_modify_delete_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/note1.ldif ${TESTDIR}/note1_entrymods "--fastsync" ${TESTDIR}/opensync.suppr ) - ADD_TEST( valgrind_add_modify_delete_all_four_objtypes_and_fastsync ${TESTDIR}/check_add_modify_delete_four_ldifs_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact1.ldif ${TESTDIR}/event1.ldif ${TESTDIR}/todo1.ldif ${TESTDIR}/note1.ldif ${TESTDIR}/contact1_entrymods ${TESTDIR}/event1_entrymods ${TESTDIR}/todo1_entrymods ${TESTDIR}/note1_entrymods "--fastsync") + ADD_TEST( valgrind_add_mod_del_all_four_objtypes_and_fastsync ${TESTDIR}/check_add_modify_delete_four_ldifs_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact1.ldif ${TESTDIR}/event1.ldif ${TESTDIR}/todo1.ldif ${TESTDIR}/note1.ldif ${TESTDIR}/contact1_entrymods ${TESTDIR}/event1_entrymods ${TESTDIR}/todo1_entrymods ${TESTDIR}/note1_entrymods "--fastsync") ENDIF (VALGRIND_EXECUTABLE) ENDIF (LDAPDELETE_EXECUTABLE) @@ -481,35 +494,35 @@ ADD_TEST( clean_up3 ${TESTDIR}/clean_up ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ) - ADD_TEST( osynctool_add_modify_delete_contact1_xmlfile ${TESTDIR}/check_osynctool_add_modify_delete_file_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" "${TESTDIR}/contact1.xml" "${TESTDIR}/contact1.xml_modified" ) + ADD_TEST( osynctool_add_mod_del_contact1_xmlfile ${TESTDIR}/check_osynctool_add_modify_delete_file_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" "${TESTDIR}/contact1.xml" "${TESTDIR}/contact1.xml_modified" ) - ADD_TEST( osynctool_add_modify_delete_contact2_xmlfile ${TESTDIR}/check_osynctool_add_modify_delete_file_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" "${TESTDIR}/contact2.xml" "${TESTDIR}/contact2.xml_modified" ) + ADD_TEST( osynctool_add_mod_del_contact2_xmlfile ${TESTDIR}/check_osynctool_add_modify_delete_file_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" "${TESTDIR}/contact2.xml" "${TESTDIR}/contact2.xml_modified" ) - ADD_TEST( osynctool_add_modify_delete_event_xmlfile ${TESTDIR}/check_osynctool_add_modify_delete_file_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "event" "${TESTDIR}/event1.xml" "${TESTDIR}/event1.xml_modified" ) + ADD_TEST( osynctool_add_mod_del_event_xmlfile ${TESTDIR}/check_osynctool_add_modify_delete_file_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "event" "${TESTDIR}/event1.xml" "${TESTDIR}/event1.xml_modified" ) - ADD_TEST( osynctool_add_modify_delete_todo_xmlfile ${TESTDIR}/check_osynctool_add_modify_delete_file_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "todo" "${TESTDIR}/todo1.xml" "${TESTDIR}/todo1.xml_modified" ) + ADD_TEST( osynctool_add_mod_del_todo_xmlfile ${TESTDIR}/check_osynctool_add_modify_delete_file_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "todo" "${TESTDIR}/todo1.xml" "${TESTDIR}/todo1.xml_modified" ) - ADD_TEST( osynctool_add_modify_delete_note1_xmlfile ${TESTDIR}/check_osynctool_add_modify_delete_file_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "note" "${TESTDIR}/note1.xml" "${TESTDIR}/note1.xml_modified" ) + ADD_TEST( osynctool_add_mod_del_note1_xmlfile ${TESTDIR}/check_osynctool_add_modify_delete_file_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "note" "${TESTDIR}/note1.xml" "${TESTDIR}/note1.xml_modified" ) - ADD_TEST( osynctool_add_modify_delete_note2_xmlfile ${TESTDIR}/check_osynctool_add_modify_delete_file_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "note" "${TESTDIR}/note2.xml" "${TESTDIR}/note2.xml_modified" ) + ADD_TEST( osynctool_add_mod_del_note2_xmlfile ${TESTDIR}/check_osynctool_add_modify_delete_file_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "note" "${TESTDIR}/note2.xml" "${TESTDIR}/note2.xml_modified" ) - ADD_TEST( osynctool_add_modify_delete_all_four_xmlfiles ${TESTDIR}/check_osynctool_add_modify_delete_four_files_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "${TESTDIR}/contact1.xml" "${TESTDIR}/event1.xml" "${TESTDIR}/todo1.xml" "${TESTDIR}/note1.xml" "${TESTDIR}/contact1.xml_modified" "${TESTDIR}/event1.xml_modified" "${TESTDIR}/todo1.xml_modified" "${TESTDIR}/note1.xml_modified" ) + ADD_TEST( osynctool_add_mod_del_all_four_xmlfiles ${TESTDIR}/check_osynctool_add_modify_delete_four_files_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "${TESTDIR}/contact1.xml" "${TESTDIR}/event1.xml" "${TESTDIR}/todo1.xml" "${TESTDIR}/note1.xml" "${TESTDIR}/contact1.xml_modified" "${TESTDIR}/event1.xml_modified" "${TESTDIR}/todo1.xml_modified" "${TESTDIR}/note1.xml_modified" ) ADD_TEST( clean_up4 ${TESTDIR}/clean_up ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ) - ADD_TEST( osynctool_add_modify_delete_contact1_ldif_and_sync ${TESTDIR}/check_osynctool_add_modify_delete_ldif_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" ${TESTDIR}/contact1.ldif ${TESTDIR}/contact1_entrymods ) + ADD_TEST( osynctool_add_mod_del_contact1_ldif_and_sync ${TESTDIR}/check_osynctool_add_modify_delete_ldif_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" ${TESTDIR}/contact1.ldif ${TESTDIR}/contact1_entrymods ) - ADD_TEST( osynctool_add_modify_delete_contact2_ldif_and_sync ${TESTDIR}/check_osynctool_add_modify_delete_ldif_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" ${TESTDIR}/contact2.ldif ${TESTDIR}/contact2_entrymods ) + ADD_TEST( osynctool_add_mod_del_contact2_ldif_and_sync ${TESTDIR}/check_osynctool_add_modify_delete_ldif_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" ${TESTDIR}/contact2.ldif ${TESTDIR}/contact2_entrymods ) - ADD_TEST( osynctool_add_modify_delete_event_ldif_and_sync ${TESTDIR}/check_osynctool_add_modify_delete_ldif_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "event" ${TESTDIR}/event1.ldif ${TESTDIR}/event1_entrymods ) + ADD_TEST( osynctool_add_mod_del_event_ldif_and_sync ${TESTDIR}/check_osynctool_add_modify_delete_ldif_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "event" ${TESTDIR}/event1.ldif ${TESTDIR}/event1_entrymods ) - ADD_TEST( osynctool_add_modify_delete_todo_ldif_and_sync ${TESTDIR}/check_osynctool_add_modify_delete_ldif_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "todo" ${TESTDIR}/todo1.ldif ${TESTDIR}/todo1_entrymods ) + ADD_TEST( osynctool_add_mod_del_todo_ldif_and_sync ${TESTDIR}/check_osynctool_add_modify_delete_ldif_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "todo" ${TESTDIR}/todo1.ldif ${TESTDIR}/todo1_entrymods ) - ADD_TEST( osynctool_add_modify_delete_note_ldif_and_sync ${TESTDIR}/check_osynctool_add_modify_delete_ldif_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "note" ${TESTDIR}/note1.ldif ${TESTDIR}/note1_entrymods ) + ADD_TEST( osynctool_add_mod_del_note_ldif_and_sync ${TESTDIR}/check_osynctool_add_modify_delete_ldif_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "note" ${TESTDIR}/note1.ldif ${TESTDIR}/note1_entrymods ) - ADD_TEST( osynctool_add_modify_delete_all_four_ldifs_and_sync ${TESTDIR}/check_osynctool_add_modify_delete_four_ldifs_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact1.ldif ${TESTDIR}/event1.ldif ${TESTDIR}/todo1.ldif ${TESTDIR}/note1.ldif ${TESTDIR}/contact1_entrymods ${TESTDIR}/event1_entrymods ${TESTDIR}/todo1_entrymods ${TESTDIR}/note1_entrymods ) + ADD_TEST( osynctool_add_mod_del_all_four_ldifs_and_sync ${TESTDIR}/check_osynctool_add_modify_delete_four_ldifs_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact1.ldif ${TESTDIR}/event1.ldif ${TESTDIR}/todo1.ldif ${TESTDIR}/note1.ldif ${TESTDIR}/contact1_entrymods ${TESTDIR}/event1_entrymods ${TESTDIR}/todo1_entrymods ${TESTDIR}/note1_entrymods ) @@ -523,41 +536,50 @@ ############################ # Now osynctool under valgrind... -IF (LDAPADD_EXECUTABLE) - IF (LDAPMODIFY_EXECUTABLE) - IF (LDAPDELETE_EXECUTABLE) - IF (VALGRIND_EXECUTABLE) - - - - #ADD_TEST( valgrind_osynctool_add_contact1_ldif ${TESTDIR}/check_osynctool_add_ldif_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" "${TESTDIR}/contact1.ldif" ) - - #ADD_TEST( valgrind_osynctool_add_contact2_ldif ${TESTDIR}/check_osynctool_add_ldif_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" "${TESTDIR}/contact2.ldif" ) - - #ADD_TEST( valgrind_osynctool_add_event_ldif ${TESTDIR}/check_osynctool_add_ldif_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "event" "${TESTDIR}/event1.ldif" ) - - #ADD_TEST( valgrind_osynctool_add_todo_ldif ${TESTDIR}/check_osynctool_add_ldif_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "todo" "${TESTDIR}/todo1.ldif" ) - - #ADD_TEST( valgrind_osynctool_add_note_ldif ${TESTDIR}/check_osynctool_add_ldif_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "note" "${TESTDIR}/note1.ldif" ) - - - - #ADD_TEST( valgrind_osynctool_add_contact1_xmlfile ${TESTDIR}/check_osynctool_add_file_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" "${TESTDIR}/contact1.xml" ) - - #ADD_TEST( valgrind_osynctool_add_contact2_xmlfile ${TESTDIR}/check_osynctool_add_file_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" "${TESTDIR}/contact2.xml" ) - - #ADD_TEST( valgrind_osynctool_add_event_xmlfile ${TESTDIR}/check_osynctool_add_file_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "event" "${TESTDIR}/event1.xml" ) - - #ADD_TEST( valgrind_osynctool_add_todo_xmlfile ${TESTDIR}/check_osynctool_add_file_and_valgrind_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "todo" "${TESTDIR}/todo1.xml" ) - - #ADD_TEST( valgrind_osynctool_add_note_xmlfile ${TESTDIR}/check_osynctool_add_file_and_valgrind_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "note" "${TESTDIR}/note1.xml" ) - - - - ENDIF (VALGRIND_EXECUTABLE) - ENDIF (LDAPDELETE_EXECUTABLE) - ENDIF (LDAPMODIFY_EXECUTABLE) -ENDIF (LDAPADD_EXECUTABLE) +if (RUN_LONG_TESTS) + IF (LDAPADD_EXECUTABLE) + IF (LDAPMODIFY_EXECUTABLE) + IF (LDAPDELETE_EXECUTABLE) + IF (VALGRIND_EXECUTABLE) + + + ADD_TEST( clean_up5 ${TESTDIR}/clean_up ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ) + + + ADD_TEST( valgrind_osynctool_add_contact1_ldif ${TESTDIR}/check_osynctool_add_ldif_and_valgrind_and_slowsync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" "${TESTDIR}/contact1.ldif" ) + + #ADD_TEST( valgrind_osynctool_add_contact2_ldif ${TESTDIR}/check_osynctool_add_ldif_and_valgrind_and_slowsync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" "${TESTDIR}/contact2.ldif" ) + + ADD_TEST( valgrind_osynctool_add_event_ldif ${TESTDIR}/check_osynctool_add_ldif_and_valgrind_and_slowsync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "event" "${TESTDIR}/event1.ldif" ) + + ADD_TEST( valgrind_osynctool_add_todo_ldif ${TESTDIR}/check_osynctool_add_ldif_and_valgrind_and_slowsync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "todo" "${TESTDIR}/todo1.ldif" ) + + ADD_TEST( valgrind_osynctool_add_note1_ldif ${TESTDIR}/check_osynctool_add_ldif_and_valgrind_and_slowsync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "note" "${TESTDIR}/note1.ldif" ) + + ADD_TEST( valgrind_osynctool_add_note2_ldif ${TESTDIR}/check_osynctool_add_ldif_and_valgrind_and_slowsync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "note" "${TESTDIR}/note2.ldif" ) + + + ADD_TEST( clean_up6 ${TESTDIR}/clean_up ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ) + + + ADD_TEST( valgrind_osynctool_add_contact1_xmlfile ${TESTDIR}/check_osynctool_add_file_and_valgrind_and_slowsync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" "${TESTDIR}/contact1.xml" ) + + ADD_TEST( valgrind_osynctool_add_contact2_xmlfile ${TESTDIR}/check_osynctool_add_file_and_valgrind_and_slowsync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" "${TESTDIR}/contact2.xml" ) + + ADD_TEST( valgrind_osynctool_add_event_xmlfile ${TESTDIR}/check_osynctool_add_file_and_valgrind_and_slowsync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "event" "${TESTDIR}/event1.xml" ) + + ADD_TEST( valgrind_osynctool_add_todo_xmlfile ${TESTDIR}/check_osynctool_add_file_and_valgrind_and_slowsync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "todo" "${TESTDIR}/todo1.xml" ) + + ADD_TEST( valgrind_osynctool_add_note_xmlfile ${TESTDIR}/check_osynctool_add_file_and_valgrind_and_slowsync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "note" "${TESTDIR}/note1.xml" ) + + ADD_TEST( valgrind_osynctool_add_note_xmlfile ${TESTDIR}/check_osynctool_add_file_and_valgrind_and_slowsync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "note" "${TESTDIR}/note2.xml" ) + + + ENDIF (VALGRIND_EXECUTABLE) + ENDIF (LDAPDELETE_EXECUTABLE) + ENDIF (LDAPMODIFY_EXECUTABLE) + ENDIF (LDAPADD_EXECUTABLE) +ENDIF (RUN_LONG_TESTS) ADD_TEST( final_clean_up ${TESTDIR}/clean_up ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ) Modified: plugins/ldap-sync/tests/test.conf ============================================================================== --- plugins/ldap-sync/tests/test.conf Sat Apr 4 23:47:43 2009 (r5533) +++ plugins/ldap-sync/tests/test.conf Sat Apr 4 23:49:35 2009 (r5534) @@ -34,12 +34,22 @@ GROUPNAME="sync_test_group" ########## Without leak checking: -VALGRIND="valgrind --db-attach=no --trace-children=yes --num-callers=30 --gen-suppressions=all --leak-check=no --show-reachable=yes --error-exitcode=1 --track-origins=yes" +VALGRIND="valgrind --db-attach=no --trace-children=yes --num-callers=30 --gen-suppressions=all --suppressions=${SOURCE_DIR}/opensync.suppr --leak-check=no --show-reachable=yes --error-exitcode=1 --track-origins=yes" ########## With leak checking: -#VALGRIND="valgrind --db-attach=no --trace-children=yes --num-callers=30 --gen-suppressions=all --leak-check=full --show-reachable=yes --error-exitcode=1 --track-origins=yes" +#VALGRIND="valgrind --db-attach=no --trace-children=yes --num-callers=30 --gen-suppressions=all --suppressions=${SOURCE_DIR}/opensync.suppr --leak-check=full --show-reachable=yes --error-exitcode=1 --track-origins=yes" ########## If you want to have libopensync trace files, define this variable: # If the variable is empty, tracing is disabled. TRACE_FILES="/tmp/trace" #TRACE_FILES="" + + +########## Set a more realistic timeout in seconds for each test: +# Default would be 1500 s (= 25 minutes!) +export TIMEOUT=1500 +export CTEST_TEST_TIMEOUT=${TIMEOUT} +export DART_TESTING_TIMEOUT=${TIMEOUT} +export CMAKE_LONG_TEST_TIMEOUT=${TIMEOUT} +export CTEST_TIME_LIMIT=${TIMEOUT} + |
From: <svn...@op...> - 2009-04-04 21:47:48
|
Author: scriptor Date: Sat Apr 4 23:47:43 2009 New Revision: 5533 URL: http://www.opensync.org/changeset/5533 Log: Changed run_delete() to pay regard to the peculiarity of the file-sync plugin, that it changes the UID quasi on the fly just to eliminate problems of certain characters with the different file systems. It is not really clear what kind of consequences this has to the whole synchronization process: Mapping engine, hashtable... Not really good ones, I suppose... Cf. filename_scape_characters() in file-sync/src/filename_scape.h which maps the problematic characters uniformly to '_', so that any remapping into the other direction would never lead to the original character... Modified: plugins/ldap-sync/tests/check_osynctool_common.inc Modified: plugins/ldap-sync/tests/check_osynctool_common.inc ============================================================================== --- plugins/ldap-sync/tests/check_osynctool_common.inc Sat Apr 4 02:37:33 2009 (r5532) +++ plugins/ldap-sync/tests/check_osynctool_common.inc Sat Apr 4 23:47:43 2009 (r5533) @@ -580,8 +580,12 @@ $LDAPDELETE $AUTH -r $DN rv=$? if test $rv -ne 0; then - echo "${FUNCNAME}(): ERROR: ldapdelete has failed. Exiting." - exit $rv; + $LDAPDELETE $AUTH -r ${DN/@/_} + rv=$? + if test $rv -ne 0; then + echo "${FUNCNAME}(): ERROR: ldapdelete has failed. Exiting." + exit $rv; + fi fi |
From: <svn...@op...> - 2009-04-04 00:37:41
|
Author: scriptor Date: Sat Apr 4 02:37:33 2009 New Revision: 5532 URL: http://www.opensync.org/changeset/5532 Log: Replaced '@' by '_' as far as file names are concerned which are to be processed by the file-sync plugin. Modified: plugins/ldap-sync/tests/test.conf Modified: plugins/ldap-sync/tests/test.conf ============================================================================== --- plugins/ldap-sync/tests/test.conf Sat Apr 4 02:37:04 2009 (r5531) +++ plugins/ldap-sync/tests/test.conf Sat Apr 4 02:37:33 2009 (r5532) @@ -26,10 +26,10 @@ CONTACT1_FILE='/tmp/file_contact/pas-id-49C8DD6D00000035' CONTACT2_FILE='/tmp/file_contact/pas-id-49C6A95E00000026' -EVENT1_FILE='/tmp/file_event/200...@ho...' -TODO1_FILE='/tmp/file_todo/200...@ho...' -NOTE1_FILE='/tmp/file_note/200...@ho...' -NOTE2_FILE='/tmp/file_note/200...@ho...' +EVENT1_FILE='/tmp/file_event/20090320T204925Z-32394-500-1-247_host.example.com' +TODO1_FILE='/tmp/file_todo/20090325T135501Z-32394-500-1-302_host.example.com' +NOTE1_FILE='/tmp/file_note/20090228T003924Z-14681-500-1-43_host.example.com' +NOTE2_FILE='/tmp/file_note/20090103T144254Z-31888-500-1-0_host.example.com' GROUPNAME="sync_test_group" |
From: <svn...@op...> - 2009-04-04 00:37:06
|
Author: scriptor Date: Sat Apr 4 02:37:04 2009 New Revision: 5531 URL: http://www.opensync.org/changeset/5531 Log: Replacing '@' by '_' as far as files are concerned which are intended to be processed by the file-sync plugin. See also file-sync/src/filename_scape.h. Modified: plugins/ldap-sync/tests/event1.xml plugins/ldap-sync/tests/note1.xml plugins/ldap-sync/tests/note2.xml plugins/ldap-sync/tests/todo1.xml Modified: plugins/ldap-sync/tests/event1.xml ============================================================================== --- plugins/ldap-sync/tests/event1.xml Sat Apr 4 02:36:54 2009 (r5530) +++ plugins/ldap-sync/tests/event1.xml Sat Apr 4 02:37:04 2009 (r5531) @@ -82,7 +82,7 @@ <ByMonth>3</ByMonth> </TimezoneRule> <Uid> - <Content>200...@ho...</Content> + <Content>20090320T204925Z-32394-500-1-247_host.example.com</Content> </Uid> </event> Modified: plugins/ldap-sync/tests/note1.xml ============================================================================== --- plugins/ldap-sync/tests/note1.xml Sat Apr 4 02:36:54 2009 (r5530) +++ plugins/ldap-sync/tests/note1.xml Sat Apr 4 02:37:04 2009 (r5531) @@ -34,6 +34,6 @@ <Content>First memo.</Content> </Summary> <Uid> - <Content>200...@ho...</Content> + <Content>20090228T003924Z-14681-500-1-43_host.example.com</Content> </Uid> </note> Modified: plugins/ldap-sync/tests/note2.xml ============================================================================== --- plugins/ldap-sync/tests/note2.xml Sat Apr 4 02:36:54 2009 (r5530) +++ plugins/ldap-sync/tests/note2.xml Sat Apr 4 02:37:04 2009 (r5531) @@ -36,8 +36,8 @@ <Summary> <Content>1st memo</Content> </Summary> -<Uid> - <Content>200...@ho...</Content> + <Uid> + <Content>20090103T144254Z-31888-500-1-0_host.example.com</Content> </Uid> </note> Modified: plugins/ldap-sync/tests/todo1.xml ============================================================================== --- plugins/ldap-sync/tests/todo1.xml Sat Apr 4 02:36:54 2009 (r5530) +++ plugins/ldap-sync/tests/todo1.xml Sat Apr 4 02:37:04 2009 (r5531) @@ -43,7 +43,7 @@ <Content>Task no. 1</Content> </Summary> <Uid> - <Content>200...@ho...</Content> + <Content>20090325T135501Z-32394-500-1-302_host.example.com</Content> </Uid> </todo> |
From: <svn...@op...> - 2009-04-04 00:36:58
|
Author: scriptor Date: Sat Apr 4 02:36:54 2009 New Revision: 5530 URL: http://www.opensync.org/changeset/5530 Log: Better handling of "No such object": This is an LDAP error message, that seems to occur even in regular cases, where there is really not a single entry in the DIT and nobody would consider this as an error condition. Modified: plugins/ldap-sync/src/ldap_connect.c plugins/ldap-sync/src/ldap_plugin.c plugins/ldap-sync/src/ldap_plugin.h plugins/ldap-sync/src/ldap_sasl.c Modified: plugins/ldap-sync/src/ldap_connect.c ============================================================================== --- plugins/ldap-sync/src/ldap_connect.c Sat Apr 4 02:36:45 2009 (r5529) +++ plugins/ldap-sync/src/ldap_connect.c Sat Apr 4 02:36:54 2009 (r5530) @@ -1134,7 +1134,7 @@ // Look for all the LDAP subschemata: - if (!ldap_plugin_call_ldap_search(ctx, sinkenv->ld, "cn=Subschema", "(objectClass=subschema)", LDAP_SCOPE_BASE, OBJECTCLASSES, sinkenv, &res, error)) { + if (!ldap_plugin_call_ldap_search(ctx, sinkenv->ld, "cn=Subschema", "(objectClass=subschema)", LDAP_SCOPE_BASE, OBJECTCLASSES, sinkenv, FALSE, &res, error)) { if (!osync_error_is_set(error)) { osync_error_set(error, OSYNC_ERROR_GENERIC, "%s:%i: ERROR: ldap_plugin_call_ldap_search() has failed.\n", __FILE__, __LINE__); } @@ -1220,12 +1220,15 @@ * @param kind_of_attributes For example, whether user attributes or control attributes are to be shown. * @param sinkenv The object type specific environment * @param results This function fills this struct with the search result. + * @param ignore_no_such_object This variable tells this function whether + * or not it should ignore "No such object" + * messages by libldap. * @param error The libopensync error pointer. * * @returns TRUE on success, FALSE, on failure. */ -osync_bool ldap_plugin_call_ldap_search(OSyncContext *ctx, const LDAP *ldap_handle, const char *searchbase, const char *filter, const int scope, const int kind_of_attributes, const sink_environment *sinkenv, LDAPMessage **results, OSyncError **error) +osync_bool ldap_plugin_call_ldap_search(OSyncContext *ctx, const LDAP *ldap_handle, const char *searchbase, const char *filter, const int scope, const int kind_of_attributes, const sink_environment *sinkenv, osync_bool ignore_no_such_object, LDAPMessage **results, OSyncError **error) { osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %p, %d, %d, %p, %p)", __func__, ctx, ldap_handle, searchbase, filter, scope, kind_of_attributes, sinkenv, error); @@ -1316,41 +1319,46 @@ ); - if (rv != LDAP_SUCCESS) { - // Translate scope into something human readable - switch(scope) { - case LDAP_SCOPE_BASE: - scope_str = "base"; - break; - - case LDAP_SCOPE_ONELEVEL: - scope_str = "one"; - break; - - case LDAP_SCOPE_SUBTREE: - scope_str = "sub"; - break; - - case LDAP_SCOPE_CHILDREN: - scope_str = "children"; - break; - - default: - scope_str = "default"; - break; - } - - msg = ldap_plugin_report_ldap_error(sinkenv, __FILE__, __LINE__, rv); + if (rv == LDAP_NO_SUCH_OBJECT && ignore_no_such_object) { + osync_trace(TRACE_INTERNAL, "%s:%i: ldap_search_ext_s() has returned LDAP_NO_SUCH_OBJECT, but ignore_no_such_object was set to TRUE.", __FILE__, __LINE__); + } else { + if (rv != LDAP_SUCCESS) { + // Translate scope into something human readable + switch(scope) { + case LDAP_SCOPE_BASE: + scope_str = "base"; + break; - osync_error_set(error, OSYNC_ERROR_GENERIC, "%s:%i: ERROR: Unable to search on \"%s\" with filter \"%s\" and scope \"%s\": %s", __FILE__, __LINE__, searchbase, filter, scope_str, msg ? msg : ""); - - if (msg) { - g_free(msg); - msg = NULL; + case LDAP_SCOPE_ONELEVEL: + scope_str = "one"; + break; + + case LDAP_SCOPE_SUBTREE: + scope_str = "sub"; + break; + + case LDAP_SCOPE_CHILDREN: + scope_str = "children"; + break; + + default: + scope_str = "default"; + break; + } + + msg = ldap_plugin_report_ldap_error(sinkenv, __FILE__, __LINE__, rv); + + + osync_error_set(error, OSYNC_ERROR_GENERIC, "%s:%i: ERROR: Unable to search on \"%s\" with filter \"%s\" and scope \"%s\": %s", __FILE__, __LINE__, searchbase, filter, scope_str, msg ? msg : ""); + + if (msg) { + g_free(msg); + msg = NULL; + } + + goto error; } - - goto error; } @@ -1410,7 +1418,7 @@ *rv = LDAP_SUCCESS; - if (!ldap_plugin_call_ldap_search(ctx, sinkenv->ld, dn, "(objectClass=*)", LDAP_SCOPE_ONELEVEL, USER_ATTRIBUTES, sinkenv, &all_results, error)) { + if (!ldap_plugin_call_ldap_search(ctx, sinkenv->ld, dn, "(objectClass=*)", LDAP_SCOPE_ONELEVEL, USER_ATTRIBUTES, sinkenv, TRUE, &all_results, error)) { int result_code = 0; @@ -1801,7 +1809,7 @@ // --------------------------------------------------------------- /* Search all entries that apply to the filter */ - if (!ldap_plugin_call_ldap_search(ctx, sinkenv->ld, base, filter, LDAP_SCOPE_ONELEVEL, USER_ATTRIBUTES, sinkenv, &all_results, error)) { + if (!ldap_plugin_call_ldap_search(ctx, sinkenv->ld, base, filter, LDAP_SCOPE_ONELEVEL, USER_ATTRIBUTES, sinkenv, TRUE, &all_results, error)) { int result_code = 0; @@ -1812,11 +1820,18 @@ ldap_get_option(sinkenv->ld, LDAP_OPT_RESULT_CODE, &result_code); if (result_code == LDAP_NO_SUCH_OBJECT) { - ldap_plugin_printf("%s:%i: Either the searchbase (\"%s\") is really wrong, or the user does not have sufficient access permissions to this particular part of the DIT.", __FILE__, __LINE__, base); - } + osync_trace(TRACE_INTERNAL, "%s:%i: Either the searchbase (\"%s\") is really wrong, or the user does not have sufficient access permissions to this particular part of the DIT, or there is indeed not a single entry.", __FILE__, __LINE__, base); + // Forget error message in this case. + if (osync_error_is_set(error)) { + osync_error_unref(error); + } - goto error; + goto done; + + } else { + goto error; + } } @@ -1831,7 +1846,21 @@ ldap_get_option(sinkenv->ld, LDAP_OPT_RESULT_CODE, &result_code); - if (result_code != LDAP_SUCCESS) { + if (result_code == LDAP_SUCCESS) { + goto done; + + } else if (result_code == LDAP_NO_SUCH_OBJECT) { + goto done; + + } else { + char *ldap_error = ldap_plugin_report_ldap_error(sinkenv, __FILE__, __LINE__, result_code); + + if (ldap_error == NULL) { + osync_error_set(error, OSYNC_ERROR_GENERIC, "%s:%i: ERROR: ldap_first_entry() has failed.", __FILE__, __LINE__); + } else { + osync_error_set(error, OSYNC_ERROR_GENERIC, "%s:%i: ERROR: ldap_first_entry() has failed: \"%s\"", __FILE__, __LINE__, ldap_error); + } + goto error; } } @@ -1853,7 +1882,7 @@ char *subentry_filter = (char *)"(objectClass=*)"; LDAPMessage *possible_subentries = NULL; - if (!ldap_plugin_call_ldap_search(ctx, sinkenv->ld, entry->dn, subentry_filter, LDAP_SCOPE_CHILDREN, USER_ATTRIBUTES, sinkenv, &possible_subentries, error)) { + if (!ldap_plugin_call_ldap_search(ctx, sinkenv->ld, entry->dn, subentry_filter, LDAP_SCOPE_CHILDREN, USER_ATTRIBUTES, sinkenv, FALSE, &possible_subentries, error)) { if (!osync_error_is_set(error)) { osync_error_set(error, OSYNC_ERROR_GENERIC, "%s:%i: ERROR: ldap_plugin_call_ldap_search() has failed.\n", __FILE__, __LINE__); } @@ -1911,7 +1940,7 @@ ldap_msgfree(all_results); - +done: osync_trace(TRACE_EXIT, "%s: *entrylist = %p", __func__, *entrylist); return TRUE; @@ -2178,7 +2207,7 @@ snprintf(filter, 4095, "(%s=*)", sinkenv->keyattr); - if (!ldap_plugin_call_ldap_search(ctx, sinkenv->ld, sinkenv->searchbase, filter, LDAP_SCOPE_ONELEVEL, USER_ATTRIBUTES, sinkenv, &uids, error)) { + if (!ldap_plugin_call_ldap_search(ctx, sinkenv->ld, sinkenv->searchbase, filter, LDAP_SCOPE_ONELEVEL, USER_ATTRIBUTES, sinkenv, TRUE, &uids, error)) { if (!osync_error_is_set(error)) { osync_error_set(error, OSYNC_ERROR_GENERIC, "%s:%i: ERROR: ldap_plugin_call_ldap_search() has failed.\n", __FILE__, __LINE__); } @@ -2224,9 +2253,8 @@ if (result_code == LDAP_SUCCESS) { osync_trace(TRACE_INTERNAL, "%s:%i: uid = NULL, but LDAP_SUCCESS. This is ok.", __FILE__, __LINE__); goto ok1; - } - if (result_code == LDAP_NO_SUCH_OBJECT) { + } else if (result_code == LDAP_NO_SUCH_OBJECT) { osync_trace(TRACE_INTERNAL, "%s:%i: uid = NULL: LDAP_NO_SUCH_OBJECT: This is ok here.", __FILE__, __LINE__); goto ok1; @@ -2503,7 +2531,7 @@ // -------------------------------------------------- // Get entryCSN for the base entry itself plus all related subentries - if (!ldap_plugin_call_ldap_search(ctx, sinkenv->ld, base, filter, LDAP_SCOPE_SUBTREE, OPERATIONAL_ATTRIBUTES, sinkenv, &all_entries, error)) { + if (!ldap_plugin_call_ldap_search(ctx, sinkenv->ld, base, filter, LDAP_SCOPE_SUBTREE, OPERATIONAL_ATTRIBUTES, sinkenv, FALSE, &all_entries, error)) { if (!osync_error_is_set(error)) { osync_error_set(error, OSYNC_ERROR_GENERIC, "%s:%i: ERROR: ldap_plugin_call_ldap_search() has failed.\n", __FILE__, __LINE__); } @@ -4196,7 +4224,7 @@ filter = (char *)"(entryCSN=*)"; } - if (!ldap_plugin_call_ldap_search(ctx, sinkenv->ld, entry->dn, "(entryCSN=*)", LDAP_SCOPE_SUB, OPERATIONAL_ATTRIBUTES, sinkenv, &messages, error)) { + if (!ldap_plugin_call_ldap_search(ctx, sinkenv->ld, entry->dn, "(entryCSN=*)", LDAP_SCOPE_SUB, OPERATIONAL_ATTRIBUTES, sinkenv, FALSE, &messages, error)) { if (!osync_error_is_set(error)) { osync_error_set(error, OSYNC_ERROR_GENERIC, "%s:%i: ERROR: ldap_plugin_call_ldap_search() has failed.\n", __FILE__, __LINE__); } Modified: plugins/ldap-sync/src/ldap_plugin.c ============================================================================== --- plugins/ldap-sync/src/ldap_plugin.c Sat Apr 4 02:36:45 2009 (r5529) +++ plugins/ldap-sync/src/ldap_plugin.c Sat Apr 4 02:36:54 2009 (r5530) @@ -3283,7 +3283,7 @@ // we should call ldap_add_ext_s(), instead. // So we must check for the existence of this LDAP entry in order to // decide which libldap call to make. - if (!ldap_plugin_call_ldap_search(ctx, sinkenv->ld, entry->dn, "", LDAP_SCOPE_BASE, USER_ATTRIBUTES, sinkenv, &res2, error)) { + if (!ldap_plugin_call_ldap_search(ctx, sinkenv->ld, entry->dn, "", LDAP_SCOPE_BASE, USER_ATTRIBUTES, sinkenv, FALSE, &res2, error)) { int result_code = 0; @@ -3531,7 +3531,7 @@ #endif LDAPMessage *dn_list = NULL; - if (!ldap_plugin_call_ldap_search(ctx, sinkenv->ld, *dn_of_modified_entry, "(objectClass=*)", LDAP_SCOPE_ONELEVEL, USER_ATTRIBUTES, sinkenv, &dn_list, error)) { + if (!ldap_plugin_call_ldap_search(ctx, sinkenv->ld, *dn_of_modified_entry, "(objectClass=*)", LDAP_SCOPE_ONELEVEL, USER_ATTRIBUTES, sinkenv, FALSE, &dn_list, error)) { int result_code2 = 0; ldap_get_option(sinkenv->ld, LDAP_OPT_RESULT_CODE, &result_code2); Modified: plugins/ldap-sync/src/ldap_plugin.h ============================================================================== --- plugins/ldap-sync/src/ldap_plugin.h Sat Apr 4 02:36:45 2009 (r5529) +++ plugins/ldap-sync/src/ldap_plugin.h Sat Apr 4 02:36:54 2009 (r5530) @@ -396,7 +396,7 @@ GList *ldap_plugin_append_ldapmod(GList *list, gchar *ldapattr, gchar *value); osync_bool ldap_plugin_assure_attribute(ldap_entry *entry, const char *attribute, const char *value, OSyncError **error); char *ldap_plugin_build_actual_hash(OSyncContext *ctx, sink_environment *sinkenv, const char *base, const char *filter, LDAPMessage *all_entries, OSyncError **error); -osync_bool ldap_plugin_call_ldap_search(OSyncContext *ctx, const LDAP *ldap_handle, const char *searchbase, const char *filter, const int scope, const int kind_of_attributes, const sink_environment *sinkenv, LDAPMessage **results, OSyncError **error); +osync_bool ldap_plugin_call_ldap_search(OSyncContext *ctx, const LDAP *ldap_handle, const char *searchbase, const char *filter, const int scope, const int kind_of_attributes, const sink_environment *sinkenv, osync_bool ignore_no_such_object, LDAPMessage **results, OSyncError **error); osync_bool ldap_plugin_check_contact_format_support(OSyncContext *ctx, sink_environment *sinkenv, OSyncError **error); osync_bool ldap_plugin_check_for_keyattribute(sink_environment *sinkenv, ldap_entry *entry, osync_bool check_key_attribute, OSyncError **error); osync_bool ldap_plugin_check_ldap_schema_support(OSyncContext *ctx, sink_environment *sinkenv, const char *ldap_schema, osync_bool *result, OSyncError **error); Modified: plugins/ldap-sync/src/ldap_sasl.c ============================================================================== --- plugins/ldap-sync/src/ldap_sasl.c Sat Apr 4 02:36:45 2009 (r5529) +++ plugins/ldap-sync/src/ldap_sasl.c Sat Apr 4 02:36:54 2009 (r5530) @@ -355,7 +355,7 @@ - if (!ldap_plugin_call_ldap_search(ctx, sinkenv->ld, "", "(supportedSASLMechanisms)", LDAP_SCOPE_BASE, OBJECTCLASSES, sinkenv, &res, error)) { + if (!ldap_plugin_call_ldap_search(ctx, sinkenv->ld, "", "(supportedSASLMechanisms)", LDAP_SCOPE_BASE, OBJECTCLASSES, sinkenv, FALSE, &res, error)) { if (!osync_error_is_set(error)) { osync_error_set(error, OSYNC_ERROR_GENERIC, "%s:%i: ERROR: ldap_plugin_call_ldap_search() has failed.\n", __FILE__, __LINE__); } |
From: <svn...@op...> - 2009-04-04 00:36:50
|
Author: scriptor Date: Sat Apr 4 02:36:45 2009 New Revision: 5529 URL: http://www.opensync.org/changeset/5529 Log: Added some tests. Added pseudo test "clean_up". Running this between certain blocks of tests brings about a defined state both of the LDAP DIT and the directories for the file-sync plugin, even when crashs happen, e.g. because of #define CALL_ABORT in ldap_plugin.h. Enabled a style sheet test that was disabled before. Should run successfully, now. Added: plugins/ldap-sync/tests/check_osynctool_add_modify_delete_four_files_and_sync (contents, props changed) plugins/ldap-sync/tests/check_osynctool_add_modify_delete_four_ldifs_and_sync (contents, props changed) plugins/ldap-sync/tests/check_osynctool_add_modify_delete_ldif_and_sync (contents, props changed) plugins/ldap-sync/tests/clean_up (contents, props changed) Modified: plugins/ldap-sync/tests/CMakeLists.txt plugins/ldap-sync/tests/check_osynctool_add_modify_delete_file_and_sync Modified: plugins/ldap-sync/tests/CMakeLists.txt ============================================================================== --- plugins/ldap-sync/tests/CMakeLists.txt Sat Apr 4 02:36:28 2009 (r5528) +++ plugins/ldap-sync/tests/CMakeLists.txt Sat Apr 4 02:36:45 2009 (r5529) @@ -210,7 +210,7 @@ ADD_TEST( stylesheet5.4 ${TESTDIR}/check_stylesheet5 ${XMLDIR}/contact2.xml ${XSLDIR}/xmlformat_contact2ldap_inetorgperson.xsl ${XSLDIR}/ldap_inetorgperson2xmlformat_contact.xsl ) - # ADD_TEST( stylesheet5.5 ${TESTDIR}/check_stylesheet5 ${XMLDIR}/ldap_evolutionperson1.xml ${XSLDIR}/ldap_evolutionperson2xmlformat_contact.xsl ${XSLDIR}/xmlformat_contact2ldap_evolutionperson.xsl ) + ADD_TEST( stylesheet5.5 ${TESTDIR}/check_stylesheet5 ${XMLDIR}/ldap_evolutionperson1.xml ${XSLDIR}/ldap_evolutionperson2xmlformat_contact.xsl ${XSLDIR}/xmlformat_contact2ldap_evolutionperson.xsl ) # ADD_TEST( stylesheet5.6 ${TESTDIR}/check_stylesheet5 ${XMLDIR}/ldap_evolutionperson2.xml ${XSLDIR}/ldap_evolutionperson2xmlformat_contact.xsl ${XSLDIR}/xmlformat_contact2ldap_evolutionperson.xsl ) @@ -222,15 +222,15 @@ ADD_TEST( stylesheet5.10 ${TESTDIR}/check_stylesheet5 ${XMLDIR}/ldap_event1.xml ${XSLDIR}/ldap_event2xmlformat_event.xsl ${XSLDIR}/xmlformat_event2ldap_event.xsl ) - # ADD_TEST( stylesheet5.11 ${TESTDIR}/check_stylesheet5 ${XMLDIR}/todo1.xml ${XSLDIR}/xmlformat_todo2ldap_todo.xsl ${XSLDIR}/ldap_todo2xmlformat_todo.xsl ) + ADD_TEST( stylesheet5.11 ${TESTDIR}/check_stylesheet5 ${XMLDIR}/todo1.xml ${XSLDIR}/xmlformat_todo2ldap_todo.xsl ${XSLDIR}/ldap_todo2xmlformat_todo.xsl ) - # ADD_TEST( stylesheet5.12 ${TESTDIR}/check_stylesheet5 ${XMLDIR}/ldap_todo1.xml ${XSLDIR}/ldap_todo2xmlformat_todo.xsl ${XSLDIR}/xmlformat_todo2ldap_todo.xsl ) + #ADD_TEST( stylesheet5.12 ${TESTDIR}/check_stylesheet5 ${XMLDIR}/ldap_todo1.xml ${XSLDIR}/ldap_todo2xmlformat_todo.xsl ${XSLDIR}/xmlformat_todo2ldap_todo.xsl ) ADD_TEST( stylesheet5.13 ${TESTDIR}/check_stylesheet5 ${XMLDIR}/note1.xml ${XSLDIR}/xmlformat_note2ldap_note.xsl ${XSLDIR}/ldap_note2xmlformat_note.xsl ) ADD_TEST( stylesheet5.14 ${TESTDIR}/check_stylesheet5 ${XMLDIR}/note2.xml ${XSLDIR}/xmlformat_note2ldap_note.xsl ${XSLDIR}/ldap_note2xmlformat_note.xsl ) - # ADD_TEST( stylesheet5.15 ${TESTDIR}/check_stylesheet5 ${XMLDIR}/ldap_note1.xml ${XSLDIR}/ldap_note2xmlformat_note.xsl ${XSLDIR}/xmlformat_note2ldap_note.xsl ) + #ADD_TEST( stylesheet5.15 ${TESTDIR}/check_stylesheet5 ${XMLDIR}/ldap_note1.xml ${XSLDIR}/ldap_note2xmlformat_note.xsl ${XSLDIR}/xmlformat_note2ldap_note.xsl ) ENDIF (XSLTPROC_EXECUTABLE) ENDIF (XMLLINT_EXECUTABLE) @@ -271,7 +271,7 @@ # present, the script removes them. # Otherwise the first test trying to add an already exising DN will fail # just because of "Already exists (68)" error. -ADD_TEST( remove_test_ldifs1 ${TESTDIR}/remove_test_ldifs ) +ADD_TEST( clean_up1 ${TESTDIR}/clean_up ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ) IF (LDAPADD_EXECUTABLE) @@ -462,6 +462,9 @@ ADD_TEST( osynctool_add_note_ldif ${TESTDIR}/check_osynctool_add_ldif_and_slowsync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "note" "${TESTDIR}/note1.ldif" ) + ADD_TEST( clean_up2 ${TESTDIR}/clean_up ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ) + + ADD_TEST( osynctool_add_contact1_xmlfile ${TESTDIR}/check_osynctool_add_file_and_slowsync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" "${TESTDIR}/contact1.xml" ) ADD_TEST( osynctool_add_contact2_xmlfile ${TESTDIR}/check_osynctool_add_file_and_slowsync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" "${TESTDIR}/contact2.xml" ) @@ -475,9 +478,7 @@ ADD_TEST( osynctool_add_note2_xmlfile ${TESTDIR}/check_osynctool_add_file_and_slowsync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "note" "${TESTDIR}/note2.xml" ) - - ADD_TEST( remove_test_ldifs2 ${TESTDIR}/remove_test_ldifs ) - + ADD_TEST( clean_up3 ${TESTDIR}/clean_up ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ) ADD_TEST( osynctool_add_modify_delete_contact1_xmlfile ${TESTDIR}/check_osynctool_add_modify_delete_file_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" "${TESTDIR}/contact1.xml" "${TESTDIR}/contact1.xml_modified" ) @@ -492,6 +493,26 @@ ADD_TEST( osynctool_add_modify_delete_note2_xmlfile ${TESTDIR}/check_osynctool_add_modify_delete_file_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "note" "${TESTDIR}/note2.xml" "${TESTDIR}/note2.xml_modified" ) + ADD_TEST( osynctool_add_modify_delete_all_four_xmlfiles ${TESTDIR}/check_osynctool_add_modify_delete_four_files_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "${TESTDIR}/contact1.xml" "${TESTDIR}/event1.xml" "${TESTDIR}/todo1.xml" "${TESTDIR}/note1.xml" "${TESTDIR}/contact1.xml_modified" "${TESTDIR}/event1.xml_modified" "${TESTDIR}/todo1.xml_modified" "${TESTDIR}/note1.xml_modified" ) + + + ADD_TEST( clean_up4 ${TESTDIR}/clean_up ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ) + + + ADD_TEST( osynctool_add_modify_delete_contact1_ldif_and_sync ${TESTDIR}/check_osynctool_add_modify_delete_ldif_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" ${TESTDIR}/contact1.ldif ${TESTDIR}/contact1_entrymods ) + + ADD_TEST( osynctool_add_modify_delete_contact2_ldif_and_sync ${TESTDIR}/check_osynctool_add_modify_delete_ldif_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "contact" ${TESTDIR}/contact2.ldif ${TESTDIR}/contact2_entrymods ) + + ADD_TEST( osynctool_add_modify_delete_event_ldif_and_sync ${TESTDIR}/check_osynctool_add_modify_delete_ldif_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "event" ${TESTDIR}/event1.ldif ${TESTDIR}/event1_entrymods ) + + ADD_TEST( osynctool_add_modify_delete_todo_ldif_and_sync ${TESTDIR}/check_osynctool_add_modify_delete_ldif_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "todo" ${TESTDIR}/todo1.ldif ${TESTDIR}/todo1_entrymods ) + + ADD_TEST( osynctool_add_modify_delete_note_ldif_and_sync ${TESTDIR}/check_osynctool_add_modify_delete_ldif_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "note" ${TESTDIR}/note1.ldif ${TESTDIR}/note1_entrymods ) + + ADD_TEST( osynctool_add_modify_delete_all_four_ldifs_and_sync ${TESTDIR}/check_osynctool_add_modify_delete_four_ldifs_and_sync ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${TESTDIR}/contact1.ldif ${TESTDIR}/event1.ldif ${TESTDIR}/todo1.ldif ${TESTDIR}/note1.ldif ${TESTDIR}/contact1_entrymods ${TESTDIR}/event1_entrymods ${TESTDIR}/todo1_entrymods ${TESTDIR}/note1_entrymods ) + + + ENDIF (LDAPDELETE_EXECUTABLE) ENDIF (LDAPMODIFY_EXECUTABLE) @@ -539,7 +560,7 @@ ENDIF (LDAPADD_EXECUTABLE) - +ADD_TEST( final_clean_up ${TESTDIR}/clean_up ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ) # vim:tw=0:nowrap Modified: plugins/ldap-sync/tests/check_osynctool_add_modify_delete_file_and_sync ============================================================================== --- plugins/ldap-sync/tests/check_osynctool_add_modify_delete_file_and_sync Sat Apr 4 02:36:28 2009 (r5528) +++ plugins/ldap-sync/tests/check_osynctool_add_modify_delete_file_and_sync Sat Apr 4 02:36:45 2009 (r5529) @@ -127,7 +127,7 @@ # Trigger synchronization echo -e "\n\n\nSynchronize after an XML file has been added\n\n\n" -fast_sync "$OBJECTTYPE" +fast_sync rv=$? if test $rv -ne 0; then echo "$FILE:$LINENO: ERROR: fast_sync() has failed (1)." @@ -151,10 +151,10 @@ # Trigger synchronization echo -e "\n\n\nSynchronize after the XML file has been modified\n\n\n" -fast_sync "$OBJECTTYPE" +fast_sync rv=$? if test $rv -ne 0; then - echo "$FILE:$LINENO: ERROR: fast_sync() has failed (1)." + echo "$FILE:$LINENO: ERROR: fast_sync() has failed (2)." exit 1; fi @@ -171,10 +171,10 @@ # Trigger synchronization echo -e "\n\n\nSynchronize after the XML file has been deleted\n\n\n" -fast_sync "$OBJECTTYPE" +fast_sync rv=$? if test $rv -ne 0; then - echo "$FILE:$LINENO: ERROR: fast_sync() has failed (1)." + echo "$FILE:$LINENO: ERROR: fast_sync() has failed (3)." exit 1; fi echo -e "\n\n\n" Added: plugins/ldap-sync/tests/check_osynctool_add_modify_delete_four_files_and_sync ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ plugins/ldap-sync/tests/check_osynctool_add_modify_delete_four_files_and_sync Sat Apr 4 02:36:45 2009 (r5529) @@ -0,0 +1,386 @@ +#!/bin/bash + +set -x + +FILE=$0 +OSYNCTOOL=$(which osynctool 2>/dev/null) +if test ! -f "$OSYNCTOOL"; then + echo "$FILE:$LINENO: ERROR: osynctool could not be found. Exiting." + exit 1 +fi + +if test ! -x "$OSYNCTOOL"; then + echo "$FILE:$LINENO: ERROR: osynctool could be found, but it is not executable. Exiting." + exit 1 +fi + + + +PLUGINNAME="ldap-sync" +PLUGINPATH="$1/src" +CFG="$2/src/$PLUGINNAME" +XMLFILE_CONTACT="$3" +XMLFILE_EVENT="$4" +XMLFILE_TODO="$5" +XMLFILE_NOTE="$6" +MODIFIED_FILE_CONTACT="$7" +MODIFIED_FILE_EVENT="$8" +MODIFIED_FILE_TODO="$9" +MODIFIED_FILE_NOTE="${10}" + + +SOURCE_DIR=`dirname $FILE` +if test ! -d "$SOURCE_DIR"; then + echo "$FILE:$LINENO: ERROR: \"$SOURCE_DIR\" is not a directory. Exiting." + exit 1 +fi + +if test ! -r "$SOURCE_DIR/test.conf"; then + echo "$FILE:$LINENO: ERROR: \"$SOURCE_DIR/test.conf\" could not be read. Exiting." + exit 1 +fi + +if test ! -r "$SOURCE_DIR/check_osynctool_common.inc"; then + echo "$FILE:$LINENO: ERROR: \"$SOURCE_DIR/test.conf\" could not be read. Exiting." + exit 1 +fi + +source "$SOURCE_DIR/test.conf" +source "$SOURCE_DIR/check_osynctool_common.inc" + +echo "PLUGINPATH = \"$PLUGINPATH\"" +echo "CFG = \"$CFG\"" + + +if test -n "$TRACE_FILES"; then + echo "$FILE:$LINENO: Enabling OSYNC_TRACE." + if test ! -d "$TRACE_FILES"; then + mkdir -p "$TRACE_FILES" + fi + export OSYNC_TRACE="$TRACE_FILES" +fi + + +if test -z "$XMLFILE_CONTACT"; then + echo "$FILE:$LINENO: ERROR: \$XMLFILE_CONTACT is empty. Exiting." + exit 1 +fi + +if test ! -f "$XMLFILE_CONTACT"; then + echo "$FILE:$LINENO: ERROR: \"$XMLFILE_CONTACT\" could not be found. Exiting." + exit 1 +fi + +if test ! -r "$XMLFILE_CONTACT"; then + echo "$FILE:$LINENO: ERROR: \"$XMLFILE_CONTACT\" could be found, but it is not readable. Exiting." + exit 1 +fi + + + +if test -z "$XMLFILE_EVENT"; then + echo "$FILE:$LINENO: ERROR: \$XMLFILE_EVENT is empty. Exiting." + exit 1 +fi + +if test ! -f "$XMLFILE_EVENT"; then + echo "$FILE:$LINENO: ERROR: \"$XMLFILE_EVENT\" could not be found. Exiting." + exit 1 +fi + +if test ! -r "$XMLFILE_EVENT"; then + echo "$FILE:$LINENO: ERROR: \"$XMLFILE_EVENT\" could be found, but it is not readable. Exiting." + exit 1 +fi + + + +if test -z "$XMLFILE_TODO"; then + echo "$FILE:$LINENO: ERROR: \$XMLFILE_TODO is empty. Exiting." + exit 1 +fi + +if test ! -f "$XMLFILE_TODO"; then + echo "$FILE:$LINENO: ERROR: \"$XMLFILE_TODO\" could not be found. Exiting." + exit 1 +fi + +if test ! -r "$XMLFILE_TODO"; then + echo "$FILE:$LINENO: ERROR: \"$XMLFILE_TODO\" could be found, but it is not readable. Exiting." + exit 1 +fi + + + + +if test -z "$XMLFILE_NOTE"; then + echo "$FILE:$LINENO: ERROR: \$XMLFILE_NOTE is empty. Exiting." + exit 1 +fi + +if test ! -f "$XMLFILE_NOTE"; then + echo "$FILE:$LINENO: ERROR: \"$XMLFILE_NOTE\" could not be found. Exiting." + exit 1 +fi + +if test ! -r "$XMLFILE_NOTE"; then + echo "$FILE:$LINENO: ERROR: \"$XMLFILE_NOTE\" could be found, but it is not readable. Exiting." + exit 1 +fi + + + + + + + + +if test -z "$MODIFIED_FILE_CONTACT"; then + echo "$FILE:$LINENO: ERROR: \$MODIFIED_FILE_CONTACT is empty. Exiting." + exit 1 +fi + +if test ! -f "$MODIFIED_FILE_CONTACT"; then + echo "$FILE:$LINENO: ERROR: \"$MODIFIED_FILE_CONTACT\" could not be found. Exiting." + exit 1 +fi + +if test ! -r "$MODIFIED_FILE_CONTACT"; then + echo "$FILE:$LINENO: ERROR: \"$MODIFIED_FILE_CONTACT\" could be found, but it is not readable. Exiting." + exit 1 +fi + + + +if test -z "$MODIFIED_FILE_EVENT"; then + echo "$FILE:$LINENO: ERROR: \$MODIFIED_FILE_EVENT is empty. Exiting." + exit 1 +fi + +if test ! -f "$MODIFIED_FILE_EVENT"; then + echo "$FILE:$LINENO: ERROR: \"$MODIFIED_FILE_EVENT\" could not be found. Exiting." + exit 1 +fi + +if test ! -r "$MODIFIED_FILE_EVENT"; then + echo "$FILE:$LINENO: ERROR: \"$MODIFIED_FILE_EVENT\" could be found, but it is not readable. Exiting." + exit 1 +fi + + + +if test -z "$MODIFIED_FILE_TODO"; then + echo "$FILE:$LINENO: ERROR: \$MODIFIED_FILE_TODO is empty. Exiting." + exit 1 +fi + +if test ! -f "$MODIFIED_FILE_TODO"; then + echo "$FILE:$LINENO: ERROR: \"$MODIFIED_FILE_TODO\" could not be found. Exiting." + exit 1 +fi + +if test ! -r "$MODIFIED_FILE_TODO"; then + echo "$FILE:$LINENO: ERROR: \"$MODIFIED_FILE_TODO\" could be found, but it is not readable. Exiting." + exit 1 +fi + + + + +if test -z "$MODIFIED_FILE_NOTE"; then + echo "$FILE:$LINENO: ERROR: \$MODIFIED_FILE_NOTE is empty. Exiting." + exit 1 +fi + +if test ! -f "$MODIFIED_FILE_NOTE"; then + echo "$FILE:$LINENO: ERROR: \"$MODIFIED_FILE_NOTE\" could not be found. Exiting." + exit 1 +fi + +if test ! -r "$MODIFIED_FILE_NOTE"; then + echo "$FILE:$LINENO: ERROR: \"$MODIFIED_FILE_NOTE\" could be found, but it is not readable. Exiting." + exit 1 +fi + + + + + + + + +TMPDIR=`mktemp -d /tmp/ldap_sync_test.XXXXXX` || exit 1 +echo "TMPDIR = \"$TMPDIR\"" + + + + +# Set up test group +prologue; + +# Empty LDAP DIT +$SOURCE_DIR/remove_test_ldifs + +# Remove entry from directory used by file-sync +remove_files + + +# Add XML files +echo -e "\n\n\nAdd XML files\n\n\n" +add_file "contact" "$XMLFILE_CONTACT" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: add_file() has failed." + exit 1; +fi + +add_file "event" "$XMLFILE_EVENT" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: add_file() has failed." + exit 1; +fi + +add_file "todo" "$XMLFILE_TODO" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: add_file() has failed." + exit 1; +fi + +add_file "note" "$XMLFILE_NOTE" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: add_file() has failed." + exit 1; +fi + + + + + +# Trigger synchronization after ADD +echo -e "\n\n\nSynchronize after 4 XML files have been added\n\n\n" +fast_sync +rv=$? +if test "$rv" -ne 0; then + echo "$FILE:$LINENO: ERROR: fast_sync has failed after 4 XML files have been added." + exit $rv +fi + + + + +# Modify all of the 4 XML files +echo -e "\n\n\nModify 4 XML files\n\n\n" +modify_file "contact" "$XMLFILE_CONTACT" "$MODIFIED_FILE_CONTACT" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: modify_file() has failed." + exit 1; +fi + + +modify_file "event" "$XMLFILE_EVENT" "$MODIFIED_FILE_EVENT" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: modify_file() has failed." + exit 1; +fi + + +modify_file "todo" "$XMLFILE_TODO" "$MODIFIED_FILE_TODO" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: modify_file() has failed." + exit 1; +fi + + +modify_file "note" "$XMLFILE_NOTE" "$MODIFIED_FILE_NOTE" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: modify_file() has failed." + exit 1; +fi + + + + + + +# Trigger synchronization after MODIFY +echo -e "\n\n\nSynchronize after 4 XML files have been modified\n\n\n" +fast_sync +rv=$? +if test "$rv" -ne 0; then + echo "$FILE:$LINENO: ERROR: fast_sync has failed after 4 XML files have been modified." + exit $rv +fi + + + + + + + +# Delete all of the 4 XML Files +echo -e "\n\n\nDelete 4 XML files\n\n\n" +delete_file "contact" "$XMLFILE_CONTACT" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: delete_file() has failed." + exit 1; +fi + +delete_file "event" "$XMLFILE_EVENT" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: delete_file() has failed." + exit 1; +fi + +delete_file "todo" "$XMLFILE_TODO" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: delete_file() has failed." + exit 1; +fi + +delete_file "note" "$XMLFILE_NOTE" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: delete_file() has failed." + exit 1; +fi + + + + + + + + +# Trigger synchronization after DELETE +echo -e "\n\n\nSynchronize after 4 XML files have been deleted\n\n\n" +fast_sync +rv=$? +if test "$rv" -ne 0; then + echo "$FILE:$LINENO: ERROR: fast_sync has failed after 4 XML files have been deleted." + exit $rv +fi + + + + + +# Shut down test group +epilogue + + +if test -d "$TMPDIR"; then + rm -rf "$TMPDIR" +fi + + +exit $rv Added: plugins/ldap-sync/tests/check_osynctool_add_modify_delete_four_ldifs_and_sync ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ plugins/ldap-sync/tests/check_osynctool_add_modify_delete_four_ldifs_and_sync Sat Apr 4 02:36:45 2009 (r5529) @@ -0,0 +1,382 @@ +#!/bin/bash + +set -x + +FILE=$0 +OSYNCTOOL=$(which osynctool 2>/dev/null) +if test ! -f "$OSYNCTOOL"; then + echo "$FILE:$LINENO: ERROR: osynctool could not be found. Exiting." + exit 1 +fi + +if test ! -x "$OSYNCTOOL"; then + echo "$FILE:$LINENO: ERROR: osynctool could be found, but it is not executable. Exiting." + exit 1 +fi + + + +PLUGINNAME="ldap-sync" +PLUGINPATH="$1/src" +CFG="$2/src/$PLUGINNAME" +LDIF_CONTACT="$3" +LDIF_EVENT="$4" +LDIF_TODO="$5" +LDIF_NOTE="$6" +ENTRYMODS_CONTACT="$7" +ENTRYMODS_EVENT="$8" +ENTRYMODS_TODO="$9" +ENTRYMODS_NOTE="${10}" + + + +SOURCE_DIR=`dirname $FILE` +if test ! -d "$SOURCE_DIR"; then + echo "$FILE:$LINENO: ERROR: \"$SOURCE_DIR\" is not a directory. Exiting." + exit 1 +fi + +if test ! -r "$SOURCE_DIR/test.conf"; then + echo "$FILE:$LINENO: ERROR: \"$SOURCE_DIR/test.conf\" could not be read. Exiting." + exit 1 +fi + +if test ! -r "$SOURCE_DIR/check_osynctool_common.inc"; then + echo "$FILE:$LINENO: ERROR: \"$SOURCE_DIR/test.conf\" could not be read. Exiting." + exit 1 +fi + +source "$SOURCE_DIR/test.conf" +source "$SOURCE_DIR/check_osynctool_common.inc" + +echo "PLUGINPATH = \"$PLUGINPATH\"" +echo "CFG = \"$CFG\"" + + +if test -n "$TRACE_FILES"; then + echo "$FILE:$LINENO: Enabling OSYNC_TRACE." + if test ! -d "$TRACE_FILES"; then + mkdir -p "$TRACE_FILES" + fi + export OSYNC_TRACE="$TRACE_FILES" +fi + + + + + + +if test -z "$LDIF_CONTACT"; then + echo "$FILE:$LINENO: ERROR: \$LDIF_CONTACT is empty. Exiting." + exit 1 +fi + +if test ! -f "$LDIF_CONTACT"; then + echo "$FILE:$LINENO: ERROR: \"$LDIF_CONTACT\" could not be found. Exiting." + exit 1 +fi + +if test ! -r "$LDIF_CONTACT"; then + echo "$FILE:$LINENO: ERROR: \"$LDIF_CONTACT\" could be found, but it is not readable. Exiting." + exit 1 +fi + + + + +if test -z "$LDIF_EVENT"; then + echo "$FILE:$LINENO: ERROR: \$LDIF_EVENT is empty. Exiting." + exit 1 +fi + +if test ! -f "$LDIF_EVENT"; then + echo "$FILE:$LINENO: ERROR: \"$LDIF_EVENT\" could not be found. Exiting." + exit 1 +fi + +if test ! -r "$LDIF_EVENT"; then + echo "$FILE:$LINENO: ERROR: \"$LDIF_EVENT\" could be found, but it is not readable. Exiting." + exit 1 +fi + + + +if test -z "$LDIF_TODO"; then + echo "$FILE:$LINENO: ERROR: \$LDIF_TODO is empty. Exiting." + exit 1 +fi + +if test ! -f "$LDIF_TODO"; then + echo "$FILE:$LINENO: ERROR: \"$LDIF_TODO\" could not be found. Exiting." + exit 1 +fi + +if test ! -r "$LDIF_TODO"; then + echo "$FILE:$LINENO: ERROR: \"$LDIF_TODO\" could be found, but it is not readable. Exiting." + exit 1 +fi + + + + +if test -z "$LDIF_NOTE"; then + echo "$FILE:$LINENO: ERROR: \$LDIF_NOTE is empty. Exiting." + exit 1 +fi + +if test ! -f "$LDIF_NOTE"; then + echo "$FILE:$LINENO: ERROR: \"$LDIF_NOTE\" could not be found. Exiting." + exit 1 +fi + +if test ! -r "$LDIF_NOTE"; then + echo "$FILE:$LINENO: ERROR: \"$LDIF_NOTE\" could be found, but it is not readable. Exiting." + exit 1 +fi + + + + + + + + +if test -z "$ENTRYMODS_CONTACT"; then + echo "$FILE:$LINENO: ERROR: \$ENTRYMODS_CONTACT is empty. Exiting." + exit 1 +fi + +if test ! -f "$ENTRYMODS_CONTACT"; then + echo "$FILE:$LINENO: ERROR: \"$ENTRYMODS_CONTACT\" could not be found. Exiting." + exit 1 +fi + +if test ! -r "$ENTRYMODS_CONTACT"; then + echo "$FILE:$LINENO: ERROR: \"$ENTRYMODS_CONTACT\" could be found, but it is not readable. Exiting." + exit 1 +fi + + +if test -z "$ENTRYMODS_EVENT"; then + echo "$FILE:$LINENO: ERROR: \$ENTRYMODS_EVENT is empty. Exiting." + exit 1 +fi + +if test ! -f "$ENTRYMODS_EVENT"; then + echo "$FILE:$LINENO: ERROR: \"$ENTRYMODS_EVENT\" could not be found. Exiting." + exit 1 +fi + +if test ! -r "$ENTRYMODS_EVENT"; then + echo "$FILE:$LINENO: ERROR: \"$ENTRYMODS_EVENT\" could be found, but it is not readable. Exiting." + exit 1 +fi + + + +if test -z "$ENTRYMODS_TODO"; then + echo "$FILE:$LINENO: ERROR: \$ENTRYMODS_TODO is empty. Exiting." + exit 1 +fi + +if test ! -f "$ENTRYMODS_TODO"; then + echo "$FILE:$LINENO: ERROR: \"$ENTRYMODS_TODO\" could not be found. Exiting." + exit 1 +fi + +if test ! -r "$ENTRYMODS_TODO"; then + echo "$FILE:$LINENO: ERROR: \"$ENTRYMODS_TODO\" could be found, but it is not readable. Exiting." + exit 1 +fi + + + + +if test -z "$ENTRYMODS_NOTE"; then + echo "$FILE:$LINENO: ERROR: \$ENTRYMODS_NOTE is empty. Exiting." + exit 1 +fi + +if test ! -f "$ENTRYMODS_NOTE"; then + echo "$FILE:$LINENO: ERROR: \"$ENTRYMODS_NOTE\" could not be found. Exiting." + exit 1 +fi + +if test ! -r "$ENTRYMODS_NOTE"; then + echo "$FILE:$LINENO: ERROR: \"$ENTRYMODS_NOTE\" could be found, but it is not readable. Exiting." + exit 1 +fi + + + + + + + + +TMPDIR=`mktemp -d /tmp/ldap_sync_test.XXXXXX` || exit 1 +echo "TMPDIR = \"$TMPDIR\"" + + + + +# Set up test group +prologue; + + +# Empty LDAP DIT +$SOURCE_DIR/remove_test_ldifs + + +# Remove entry from directory used by file-sync +remove_files + + +# Add 4 LDIFs +echo -e "\n\n\nAdd 4 LDIFs\n\n\n" +run_ldapadd "$LDIF_CONTACT" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: run_ldapadd has failed." + exit 1; +fi + +run_ldapadd "$LDIF_EVENT" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: run_ldapadd has failed." + exit 1; +fi + +run_ldapadd "$LDIF_TODO" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: run_ldapadd has failed." + exit 1; +fi + +run_ldapadd "$LDIF_NOTE" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: run_ldapadd has failed." + exit 1; +fi + + + + + + +# Trigger synchronization +echo -e "\n\n\nSynchronize after 4 LDIFs have been added\n\n\n" +fast_sync +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: fast_sync() has failed (1)." + exit 1; +fi + + +# Modify all of the 4 LDIFs +echo -e "\n\n\nModify 4 LDIFs\n\n\n" +run_ldapmodify "$ENTRYMODS_CONTACT" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: run_ldapmodify() has failed." + exit 1; +fi + +run_ldapmodify "$ENTRYMODS_EVENT" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: run_ldapmodify() has failed." + exit 1; +fi + +run_ldapmodify "$ENTRYMODS_TODO" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: run_ldapmodify() has failed." + exit 1; +fi + +run_ldapmodify "$ENTRYMODS_NOTE" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: run_ldapmodify() has failed." + exit 1; +fi + + + + +# Trigger synchronization +echo -e "\n\n\nSynchronize after all of the 4 LDIFs have been modified\n\n\n" +fast_sync +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: fast_sync() has failed (2)." + exit 1; +fi + + +# Delete all of the 4 LDIFs +echo -e "\n\n\nDelete all of the 4 LDIFs\n\n\n" +run_ldapdelete "$LDIF_CONTACT" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: run_ldapdelete has failed." + exit 1; +fi + +run_ldapdelete "$LDIF_EVENT" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: run_ldapdelete has failed." + exit 1; +fi + +run_ldapdelete "$LDIF_TODO" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: run_ldapdelete has failed." + exit 1; +fi + +run_ldapdelete "$LDIF_NOTE" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: run_ldapdelete has failed." + exit 1; +fi + + + + + + + +# Trigger synchronization +echo -e "\n\n\nSynchronize after the LDIFs have been deleted\n\n\n" +fast_sync +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: fast_sync() has failed (3)." + exit 1; +fi +echo -e "\n\n\n" + + + +# Shut down test group +epilogue + + +if test -d "$TMPDIR"; then + rm -rf "$TMPDIR" +fi + + +exit $rv + +#vim:ts=2:sw=2 Added: plugins/ldap-sync/tests/check_osynctool_add_modify_delete_ldif_and_sync ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ plugins/ldap-sync/tests/check_osynctool_add_modify_delete_ldif_and_sync Sat Apr 4 02:36:45 2009 (r5529) @@ -0,0 +1,192 @@ +#!/bin/bash + +set -x + +FILE=$0 +OSYNCTOOL=$(which osynctool 2>/dev/null) +if test ! -f "$OSYNCTOOL"; then + echo "$FILE:$LINENO: ERROR: osynctool could not be found. Exiting." + exit 1 +fi + +if test ! -x "$OSYNCTOOL"; then + echo "$FILE:$LINENO: ERROR: osynctool could be found, but it is not executable. Exiting." + exit 1 +fi + + + +PLUGINNAME="ldap-sync" +PLUGINPATH="$1/src" +CFG="$2/src/$PLUGINNAME" +OBJECTTYPE="$3" +LDIF="$4" +ENTRYMODS="$5" + + + +SOURCE_DIR=`dirname $FILE` +if test ! -d "$SOURCE_DIR"; then + echo "$FILE:$LINENO: ERROR: \"$SOURCE_DIR\" is not a directory. Exiting." + exit 1 +fi + +if test ! -r "$SOURCE_DIR/test.conf"; then + echo "$FILE:$LINENO: ERROR: \"$SOURCE_DIR/test.conf\" could not be read. Exiting." + exit 1 +fi + +if test ! -r "$SOURCE_DIR/check_osynctool_common.inc"; then + echo "$FILE:$LINENO: ERROR: \"$SOURCE_DIR/test.conf\" could not be read. Exiting." + exit 1 +fi + +source "$SOURCE_DIR/test.conf" +source "$SOURCE_DIR/check_osynctool_common.inc" + +echo "PLUGINPATH = \"$PLUGINPATH\"" +echo "CFG = \"$CFG\"" + + +if test -n "$TRACE_FILES"; then + echo "$FILE:$LINENO: Enabling OSYNC_TRACE." + if test ! -d "$TRACE_FILES"; then + mkdir -p "$TRACE_FILES" + fi + export OSYNC_TRACE="$TRACE_FILES" +fi + + +if test -z "$LDIF"; then + echo "$FILE:$LINENO: ERROR: \$LDIF is empty. Exiting." + exit 1 +fi + +if test ! -f "$LDIF"; then + echo "$FILE:$LINENO: ERROR: \"$LDIF\" could not be found. Exiting." + exit 1 +fi + +if test ! -r "$LDIF"; then + echo "$FILE:$LINENO: ERROR: \"$LDIF\" could be found, but it is not readable. Exiting." + exit 1 +fi + + +if test -z "$ENTRYMODS"; then + echo "$FILE:$LINENO: ERROR: \$ENTRYMODS is empty. Exiting." + exit 1 +fi + +if test ! -f "$ENTRYMODS"; then + echo "$FILE:$LINENO: ERROR: \"$ENTRYMODS\" could not be found. Exiting." + exit 1 +fi + +if test ! -r "$ENTRYMODS"; then + echo "$FILE:$LINENO: ERROR: \"$ENTRYMODS\" could be found, but it is not readable. Exiting." + exit 1 +fi + + + + + +TMPDIR=`mktemp -d /tmp/ldap_sync_test.XXXXXX` || exit 1 +echo "TMPDIR = \"$TMPDIR\"" + + + + +# Set up test group +prologue; + + +# Empty LDAP DIT +$SOURCE_DIR/remove_test_ldifs + + +# Remove entry from directory used by file-sync +remove_file_by_objtype "$OBJECTTYPE" + + +# Add LDIF +echo -e "\n\n\nAdd LDIF\n\n\n" +run_ldapadd "$LDIF" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: run_ldapadd has failed." + exit 1; +fi + + +# osynctool should synchronize only one particular object type: +echo -e "\n\n\nEnable just $OBJECTTYPE\n\n\n" +enable_only "$OBJECTTYPE" + + +# Trigger synchronization +echo -e "\n\n\nSynchronize after an LDIF has been added\n\n\n" +fast_sync +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: fast_sync() has failed (1)." + exit 1; +fi + + +# Modify the LDIF +echo -e "\n\n\nModify LDIF\n\n\n" +run_ldapmodify "$ENTRYMODS" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: run_ldapmodify() has failed." + exit 1; +fi + + + +# Trigger synchronization +echo -e "\n\n\nSynchronize after the LDIF has been modified\n\n\n" +fast_sync +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: fast_sync() has failed (1)." + exit 1; +fi + + +# Delete the LDIF +echo -e "\n\n\nDelete LDIF\n\n\n" +run_ldapdelete "$LDIF" +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: run_ldapdelete has failed." + exit 1; +fi + + +# Trigger synchronization +echo -e "\n\n\nSynchronize after the LDIF has been deleted\n\n\n" +fast_sync +rv=$? +if test $rv -ne 0; then + echo "$FILE:$LINENO: ERROR: fast_sync() has failed (1)." + exit 1; +fi +echo -e "\n\n\n" + + + +# Shut down test group +epilogue + + +if test -d "$TMPDIR"; then + rm -rf "$TMPDIR" +fi + + +exit $rv + +#vim:ts=2:sw=2 Added: plugins/ldap-sync/tests/clean_up ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ plugins/ldap-sync/tests/clean_up Sat Apr 4 02:36:45 2009 (r5529) @@ -0,0 +1,35 @@ +#!/bin/bash + +set -x + +FILE=$0 +PLUGINNAME="ldap-sync" +PLUGINPATH="$1/src" +CFG="$2/src/$PLUGINNAME" +SOURCE_DIR=`dirname $FILE` +if test ! -d "$SOURCE_DIR"; then + echo "$FILE:$LINENO: ERROR: \"$SOURCE_DIR\" is not a directory. Exiting." + exit 1 +fi + +if test ! -r "$SOURCE_DIR/test.conf"; then + echo "$FILE:$LINENO: ERROR: \"$SOURCE_DIR/test.conf\" could not be read. Exiting." + exit 1 +fi + +if test ! -r "$SOURCE_DIR/check_osynctool_common.inc"; then + echo "$FILE:$LINENO: ERROR: \"$SOURCE_DIR/test.conf\" could not be read. Exiting." + exit 1 +fi + +source "$SOURCE_DIR/test.conf" +source "$SOURCE_DIR/check_osynctool_common.inc" + + +###### Clean up LDAP server +$SOURCE_DIR/remove_test_ldifs + +###### Clean up directories in /tmp +remove_files + + |
From: <svn...@op...> - 2009-04-04 00:36:31
|
Author: scriptor Date: Sat Apr 4 02:36:28 2009 New Revision: 5528 URL: http://www.opensync.org/changeset/5528 Log: Made behaviour of the LDAP plugin in case of inpsize = 0 dependant of #ifdef CALL_ABORT. Downgraded "duplicate attribute" error to a WARNING that shows up in the trace files only. Modified: plugins/ldap-sync/src/ldap_format.c Modified: plugins/ldap-sync/src/ldap_format.c ============================================================================== --- plugins/ldap-sync/src/ldap_format.c Sat Apr 4 02:35:47 2009 (r5527) +++ plugins/ldap-sync/src/ldap_format.c Sat Apr 4 02:36:28 2009 (r5528) @@ -391,7 +391,7 @@ if (mod->mod_type && mod->mod_type[0] != 0) { if (strlen(name) == strlen(mod->mod_type)) { if (!strcmp(mod->mod_type, name)) { - osync_trace(TRACE_ERROR, "%s:%i: WARNING: duplicate ldap attribute found: \"%s\"", __FILE__, __LINE__, name); + osync_trace(TRACE_INTERNAL, "%s:%i: WARNING: duplicate ldap attribute found: \"%s\"", __FILE__, __LINE__, name); osync_trace(TRACE_EXIT, "%s(): return value: 2", __func__); return 2; } @@ -4107,7 +4107,7 @@ // any solution to this problem, yet. if (*ldapmods) { if (ldap_format_avoid_duplicate_attribute(*ldapmods, (const char *)name) == 2) { - osync_trace(TRACE_ERROR, "%s:%i: WARNING: Suppressing LDAP attribute \"%s\", because it is already present.", __FILE__, __LINE__, name); + osync_trace(TRACE_INTERNAL, "%s:%i: WARNING: Suppressing LDAP attribute \"%s\", because it is already present.", __FILE__, __LINE__, name); if (value) { xmlFree(value); @@ -4705,13 +4705,16 @@ // We do not really know, what input exactly is. So any cast is dangerous. // It SHOULD be a glist_container. Well, who knows... if (inpsize < sizeof(glist_container)) { - osync_error_set(error, OSYNC_ERROR_GENERIC, "%s:%i: ERROR: inpsize = %i. Calling abort()\n", __FILE__, __LINE__, inpsize); + +#ifdef CALL_ABORT osync_trace(TRACE_ERROR, "%s:%i: ERROR: inpsize = %i. Calling abort()\n", __FILE__, __LINE__, inpsize); ldap_plugin_printf("%s:%i: ERROR: inpsize = %i. Calling abort()\n", __FILE__, __LINE__, inpsize); - abort(); +#else + osync_error_set(error, OSYNC_ERROR_GENERIC, "%s:%i: ERROR: inpsize = %i.\n", __FILE__, __LINE__, inpsize); + goto error; +#endif -// goto error; } |
From: <svn...@op...> - 2009-04-04 00:35:50
|
Author: scriptor Date: Sat Apr 4 02:35:47 2009 New Revision: 5527 URL: http://www.opensync.org/changeset/5527 Log: Fixed rm command in remove_contact_files(). Fixed run_ldapdelete. Removed superflous objtype in fast_sync() and valgrind_fast_sync(). Modified: plugins/ldap-sync/tests/check_osynctool_common.inc plugins/ldap-sync/tests/remove_test_ldifs Modified: plugins/ldap-sync/tests/check_osynctool_common.inc ============================================================================== --- plugins/ldap-sync/tests/check_osynctool_common.inc Sat Apr 4 02:35:32 2009 (r5526) +++ plugins/ldap-sync/tests/check_osynctool_common.inc Sat Apr 4 02:35:47 2009 (r5527) @@ -502,9 +502,9 @@ fi - echo "Command: $LDAPMODIFY $AUTH -f $ENTRYMODS" + echo "Command: $LDAPMODIFY $AUTH -f $entrymods" - $LDAPMODIFY $AUTH -f $ENTRYMODS + $LDAPMODIFY $AUTH -f $entrymods rv=$? if test $rv -ne 0; then echo "${FUNCNAME}(): ERROR: ldapmodify has failed. Exiting." @@ -542,7 +542,7 @@ fi - LDAPMODIFY=$(which ldapdelete 2>/dev/null) + LDAPDELETE=$(which ldapdelete 2>/dev/null) if test -z "$LDAPDELETE"; then @@ -594,13 +594,13 @@ if test -z "$CONTACT1_FILE"; then echo "${FUNCNAME}(): ERROR: \$CONTACT1_FILE is empty. Ignoring." elif test -f "$CONTACT1_FILE"; then - rm -f "${CONTACT1_FILE}*"; + rm -f ${CONTACT1_FILE}* fi if test -z "$CONTACT2_FILE"; then echo "${FUNCNAME}(): ERROR: \$CONTACT2_FILE is empty. Ignoring." elif test -f "$CONTACT2_FILE"; then - rm -f "${CONTACT2_FILE}*"; + rm -f ${CONTACT2_FILE}* fi output=$(ls -al /tmp/file_contact) @@ -613,7 +613,7 @@ if test -z "$EVENT1_FILE"; then echo "${FUNCNAME}(): ERROR: \$EVENT1_FILE is empty. Ignoring." elif test -f "$EVENT1_FILE"; then - rm -f "${EVENT1_FILE}*"; + rm -f ${EVENT1_FILE}* fi output=$(ls -al /tmp/file_event) @@ -626,7 +626,7 @@ if test -z "$TODO1_FILE"; then echo "${FUNCNAME}(): ERROR: \$TODO1_FILE is empty. Ignoring." elif test -f "$TODO1_FILE"; then - rm -f "${TODO1_FILE}*"; + rm -f ${TODO1_FILE}* fi output=$(ls -al /tmp/file_todo) @@ -639,13 +639,13 @@ if test -z "$NOTE1_FILE"; then echo "${FUNCNAME}(): ERROR: \$NOTE1_FILE is empty. Ignoring." elif test -f "$NOTE1_FILE"; then - rm -f "${NOTE1_FILE}*"; + rm -f ${NOTE1_FILE}* fi if test -z "$NOTE2_FILE"; then echo "${FUNCNAME}(): ERROR: \$NOTE2_FILE is empty. Ignoring." elif test -f "$NOTE2_FILE"; then - rm -f "${NOTE2_FILE}*"; + rm -f ${NOTE2_FILE}* fi output=$(ls -al /tmp/file_note) @@ -738,7 +738,16 @@ cp -f "$xmlfile" $TODO1_FILE elif test "$objtype" == "note"; then - cp -f "$xmlfile" $NOTE1_FILE + tmp=$(basename "$xmlfile") + + if test "$tmp" == "note1.xml"; then + cp -f "$xmlfile" $NOTE1_FILE + elif test "$tmp" == "note2.xml"; then + cp -f "$xmlfile" $NOTE2_FILE + else + echo "$FUNCNAME(): ERROR: Cannot find out whether to take NOTE1_FILE or NOTE2_FILE. Exiting." + exit 1; + fi fi } @@ -888,18 +897,25 @@ if test "$objtype" == "contact"; then + diff "$CONTACT1_FILE" "$newfile" + echo -e "\n\n" rm -f "$CONTACT1_FILE" cp -f "$newfile" $CONTACT1_FILE elif test "$objtype" == "event"; then + diff "$EVENT1_FILE" "$newfile" + echo -e "\n\n" rm -f "$EVENT1_FILE" cp -f "$newfile" $EVENT1_FILE elif test "$objtype" == "todo"; then + diff "$TODO1_FILE" "$newfile" + echo -e "\n\n" rm -f "$TODO1_FILE" cp -f "$newfile" $TODO1_FILE elif test "$objtype" == "note"; then + diff "$NOTE1_FILE" "$newfile" rm -f "$NOTE1_FILE" cp -f "$newfile" $NOTE1_FILE @@ -1083,7 +1099,6 @@ fast_sync() { group="$GROUPNAME" - objtype="$1" if test -z "$group"; then @@ -1091,13 +1106,6 @@ exit 1; fi - - if test -z "$objtype"; then - echo "${FUNCNAME}(): ERROR: \$objtype is empty. Exiting."; - exit 1; - fi - - if test -z "$OSYNCTOOL"; then echo "${FUNCNAME}(): ERROR: \$OSYNCTOOL is empty. Exiting." exit 1; @@ -1203,7 +1211,6 @@ valgrind_fast_sync() { group="$GROUPNAME" - objtype="$1" if test -z "$group"; then @@ -1211,13 +1218,6 @@ exit 1; fi - - if test -z "$objtype"; then - echo "${FUNCNAME}(): ERROR: \$objtype is empty. Exiting."; - exit 1; - fi - - if test -z "$OSYNCTOOL"; then echo "${FUNCNAME}(): ERROR: \$OSYNCTOOL is empty. Exiting." exit 1; Modified: plugins/ldap-sync/tests/remove_test_ldifs ============================================================================== --- plugins/ldap-sync/tests/remove_test_ldifs Sat Apr 4 02:35:32 2009 (r5526) +++ plugins/ldap-sync/tests/remove_test_ldifs Sat Apr 4 02:35:47 2009 (r5527) @@ -1,5 +1,7 @@ #!/bin/bash +set -x + FILE=$0 SOURCE_DIR=`dirname $FILE` @@ -87,8 +89,7 @@ echo "AUTH = \"$AUTH\"" - -clear_dn() +do_clear_dn() { dn="$1" if test -z "$dn"; then @@ -97,6 +98,7 @@ fi + $LDAPSEARCH $AUTH -LLL -s base -b "$dn" 2> /dev/null rv=$? if test $rv -eq 0; then @@ -116,6 +118,24 @@ } + + +clear_dn() +{ + dn="$1" + if test -z "$dn"; then + echo "$FILE:$LINENO: ERROR: \$dn is empty. Exiting." + exit 1 + fi + + dn2=${dn/@/_} + + do_clear_dn "$dn" + + do_clear_dn "$dn2" +} + + clear_dn "$CONTACT1_DN" clear_dn "$CONTACT2_DN" |
From: <svn...@op...> - 2009-04-04 00:35:36
|
Author: scriptor Date: Sat Apr 4 02:35:32 2009 New Revision: 5526 URL: http://www.opensync.org/changeset/5526 Log: One more reason for "No such object." Modified: plugins/ldap-sync/README.lyx Modified: plugins/ldap-sync/README.lyx ============================================================================== --- plugins/ldap-sync/README.lyx Sat Apr 4 00:09:03 2009 (r5525) +++ plugins/ldap-sync/README.lyx Sat Apr 4 02:35:32 2009 (r5526) @@ -6486,7 +6486,7 @@ \begin_layout Standard This error message may have different reasons, the most common one being - that you simply have a type in your search: + that you simply have a typo in your search: \end_layout \begin_layout LyX-Code @@ -6516,7 +6516,7 @@ \begin_layout Standard In this example, addressbook has been written with three s rather than with - only two. + only two of them. So this particular object does indeed not exist. \end_layout @@ -6539,6 +6539,41 @@ He also needs to have sufficient access rights. \end_layout +\begin_layout Standard +Finally a third reason for +\begin_inset Quotes eld +\end_inset + +No such object +\begin_inset Quotes erd +\end_inset + + has absolutely nothing to do with the DIT or with any object, at all: If + the filesystem where the LDAP server has its database stored is running + out of space, the LDAP server is not able to perform regular database action, + any more. + In this case it seems, that the LDAP server reports +\begin_inset Quotes eld +\end_inset + +No such object +\begin_inset Quotes erd +\end_inset + +. + This is not just a misleading message. + It is simply wrong. + +\begin_inset Quotes eld +\end_inset + +No space available +\begin_inset Quotes erd +\end_inset + + or something similar would have been the correct error message. +\end_layout + \begin_layout Section LDAP ERROR: Invalid credentials (49) \end_layout |
From: <svn...@op...> - 2009-04-03 22:09:06
|
Author: dgollub Date: Sat Apr 4 00:09:03 2009 New Revision: 5525 URL: http://www.opensync.org/changeset/5525 Log: Fix slow-sync issues with plugins using the SinkStateDB. The REPLACE queries and the table struct caused that only one row is left, even if a member has multiple objtype sinks active. Adapting the primary keys solves the problem. Dropped the ID column whcih was unused. Modified: trunk/opensync/helper/opensync_sink_state_db.c Modified: trunk/opensync/helper/opensync_sink_state_db.c ============================================================================== --- trunk/opensync/helper/opensync_sink_state_db.c Fri Apr 3 23:33:13 2009 (r5524) +++ trunk/opensync/helper/opensync_sink_state_db.c Sat Apr 4 00:09:03 2009 (r5525) @@ -35,7 +35,7 @@ osync_trace(TRACE_ENTRY, "%s(%p, %p)", __func__, sinkStateDB, error); /* TODO: How portable to other databes is UNIQUE? */ - query = osync_strdup("CREATE TABLE tbl_sink_states (id INTEGER PRIMARY KEY, key VARCHAR UNIQUE, value VARCHAR, objtype VARCHAR)"); + query = osync_strdup("CREATE TABLE tbl_sink_states (objtype VARCHAR, key VARCHAR, value VARCHAR, PRIMARY KEY (objtype, key) )"); if (!osync_db_query(sinkStateDB->db, query, error)) { osync_trace(TRACE_EXIT_ERROR, "%s: %s", __func__, osync_error_print(error)); |
From: <svn...@op...> - 2009-04-03 21:33:17
|
Author: dgollub Date: Fri Apr 3 23:33:13 2009 New Revision: 5524 URL: http://www.opensync.org/changeset/5524 Log: Fixed wrong casting in conflict resolution of a list element. Modified: osynctool/trunk/tools/osynctool.c Modified: osynctool/trunk/tools/osynctool.c ============================================================================== --- osynctool/trunk/tools/osynctool.c Fri Apr 3 16:24:48 2009 (r5523) +++ osynctool/trunk/tools/osynctool.c Fri Apr 3 23:33:13 2009 (r5524) @@ -591,9 +591,11 @@ case OSYNC_CONFLICT_RESOLUTION_SELECT: printf("Solving conflict\n"); - change = (OSyncChange *) osync_list_nth(changes, winner); - - g_assert(change); + c = osync_list_nth(changes, winner); + osync_assert(c); + + change = (OSyncChange *) c->data; + if (!osync_engine_mapping_solve(engine, mapping, change, &error)) goto error; return; |
From: <svn...@op...> - 2009-04-03 19:40:03
|
Author: bellmich Date: Fri Apr 3 21:39:52 2009 New Revision: 1031 URL: http://libsyncml.opensync.org/changeset/1031 Log: fixed several warnings from the profiling build Modified: trunk/libsyncml/data_sync_api/data_sync.c trunk/libsyncml/data_sync_api/data_sync_abort.c trunk/libsyncml/data_sync_api/data_sync_callbacks.c trunk/libsyncml/data_sync_api/data_sync_loop.c trunk/libsyncml/objects/sml_devinf_obj.c trunk/libsyncml/objects/sml_devinf_obj.h trunk/libsyncml/objects/sml_ds_server.c trunk/libsyncml/parser/sml_wbxml.c trunk/libsyncml/parser/sml_xml_assm.c trunk/libsyncml/parser/sml_xml_parse.c trunk/libsyncml/sml_elements.c trunk/libsyncml/sml_manager.c trunk/libsyncml/sml_notification.c trunk/libsyncml/sml_parse.c trunk/libsyncml/sml_queue.c trunk/libsyncml/sml_session.c trunk/libsyncml/sml_support.c trunk/libsyncml/sml_transport.c trunk/libsyncml/transports/http_client.c trunk/libsyncml/transports/http_server.c trunk/libsyncml/transports/obex_client.c trunk/libsyncml/transports/obex_client_samsung.c trunk/libsyncml/transports/obex_server.c trunk/tools/syncml-ds-tool.c Modified: trunk/libsyncml/data_sync_api/data_sync.c ============================================================================== --- trunk/libsyncml/data_sync_api/data_sync.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/data_sync_api/data_sync.c Fri Apr 3 21:39:52 2009 (r1031) @@ -802,6 +802,7 @@ SmlDataSyncObject *dsObject, SmlError **error) { + smlTrace(TRACE_INTERNAL, "%s(%p, %p)", __func__, dsObject, error); smlAssert(dsObject); return smlSessionGetTarget(dsObject->session); } Modified: trunk/libsyncml/data_sync_api/data_sync_abort.c ============================================================================== --- trunk/libsyncml/data_sync_api/data_sync_abort.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/data_sync_api/data_sync_abort.c Fri Apr 3 21:39:52 2009 (r1031) @@ -56,14 +56,14 @@ /* stop transport */ WORKAROUND: smlTrace(TRACE_INTERNAL, "%s: A hard abort is required.", __func__); - SmlLink *link = smlManagerSessionGetLink( + SmlLink *link_ = smlManagerSessionGetLink( dsObject->manager, dsObject->session, error); - if (!link && *error) + if (!link_ && *error) goto error; - if (!smlTransportDisconnect(dsObject->tsp, link, error)) + if (!smlTransportDisconnect(dsObject->tsp, link_, error)) goto error; } Modified: trunk/libsyncml/data_sync_api/data_sync_callbacks.c ============================================================================== --- trunk/libsyncml/data_sync_api/data_sync_callbacks.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/data_sync_api/data_sync_callbacks.c Fri Apr 3 21:39:52 2009 (r1031) @@ -127,17 +127,17 @@ if (dsObject->tryDisconnect == FALSE) { dsObject->tryDisconnect = TRUE; SmlError *locerror = NULL; - SmlLink *link = smlManagerSessionGetLink( + SmlLink *link_ = smlManagerSessionGetLink( dsObject->manager, dsObject->session, &locerror); - if (link || !locerror) + if (link_ || !locerror) smlTransportDisconnect( dsObject->tsp, - link, + link_, &locerror); - if (link) - smlLinkDeref(link); + if (link_) + smlLinkDeref(link_); /* error is already tracked. * So locerror can be ignored. */ @@ -294,11 +294,11 @@ case SML_MANAGER_SESSION_END: smlTrace(TRACE_INTERNAL, "%s: Session %s has ended", __func__, VA_STRING(smlSessionGetSessionID(session))); - SmlLink *link = smlManagerSessionGetLink( + SmlLink *link_ = smlManagerSessionGetLink( dsObject->manager, dsObject->session, &error); - if (!link && error) + if (!link_ && error) goto error; /* OBEX is a stateful protocol and the client should * init the disconnect. The problem is what happens @@ -307,14 +307,14 @@ * if (dsObject->tspType != SML_TRANSPORT_OBEX_SERVER && * !smlTransportDisconnect(dsObject->tsp, link, &error)) */ - if (!smlTransportDisconnect(dsObject->tsp, link, &error)) + if (!smlTransportDisconnect(dsObject->tsp, link_, &error)) { - if (link) - smlLinkDeref(link); + if (link_) + smlLinkDeref(link_); goto error; } - if (link) - smlLinkDeref(link); + if (link_) + smlLinkDeref(link_); break; case SML_MANAGER_SESSION_ERROR: if (session) @@ -644,6 +644,7 @@ SmlStatus *status, void *userdata) { + smlTrace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, session, status, userdata); if (smlStatusGetClass(status) != SML_ERRORCLASS_SUCCESS) { SmlDataSyncDatastore *datastore = userdata; @@ -655,6 +656,7 @@ datastore->dsObject, SML_DATA_SYNC_EVENT_ERROR, datastore->dsObject->eventUserdata, error); } + smlTrace(TRACE_EXIT, "%s", __func__); } /* ******************************************* */ Modified: trunk/libsyncml/data_sync_api/data_sync_loop.c ============================================================================== --- trunk/libsyncml/data_sync_api/data_sync_loop.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/data_sync_api/data_sync_loop.c Fri Apr 3 21:39:52 2009 (r1031) @@ -25,6 +25,7 @@ static gboolean _prepare(GSource *source, gint *timeout_) { + smlTrace(TRACE_INTERNAL, "%s(%p, %p)", __func__, source, timeout_); *timeout_ = 50; return FALSE; } @@ -46,6 +47,7 @@ static gboolean _dispatch(GSource *source, GSourceFunc callback, gpointer user_data) { + smlTrace(TRACE_INTERNAL, "%s(%p, %p, %p)", __func__, source, callback, user_data); SmlDataSyncObject *dsObject = user_data; GList *o = dsObject->datastores; Modified: trunk/libsyncml/objects/sml_devinf_obj.c ============================================================================== --- trunk/libsyncml/objects/sml_devinf_obj.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/objects/sml_devinf_obj.c Fri Apr 3 21:39:52 2009 (r1031) @@ -409,12 +409,14 @@ /* FIXME: DEPRECATED */ void smlDevInfAgentSetDevInf(SmlDevInfAgent *agent, SmlDevInf *devinf) { + smlTrace(TRACE_ERROR, "%s(%p, %p)", __func__, agent, devinf); smlAssertMsg(NULL, "This function is a design bug."); } /* FIXME: DEPRECATED */ SmlDevInf *smlDevInfAgentGetDevInf(SmlDevInfAgent *agent) { + smlTrace(TRACE_ERROR, "%s(%p, %p)", __func__, agent); smlAssertMsg(NULL, "This function is a design bug."); return NULL; } Modified: trunk/libsyncml/objects/sml_devinf_obj.h ============================================================================== --- trunk/libsyncml/objects/sml_devinf_obj.h Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/objects/sml_devinf_obj.h Fri Apr 3 21:39:52 2009 (r1031) @@ -46,7 +46,7 @@ SmlDevInf *smlDevInfAgentGetSessionDevInf(SmlDevInfAgent *agent, SmlSession *session); /* These functions can only work in a single session environemnt. -/* This is a design bug. The functions are not removed immediately + * This is a design bug. The functions are not removed immediately * to avoid breaking applications which ignore the device information. * These functions always fire an assertion. */ Modified: trunk/libsyncml/objects/sml_ds_server.c ============================================================================== --- trunk/libsyncml/objects/sml_ds_server.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/objects/sml_ds_server.c Fri Apr 3 21:39:52 2009 (r1031) @@ -507,7 +507,7 @@ type = SML_ERROR_REQUIRE_REFRESH; dsession->recvAlertCallback = NULL; - SmlStatus *reply = smlCommandNewReply(dsession->alertCommand, type, &error); + reply = smlCommandNewReply(dsession->alertCommand, type, &error); if (!reply) goto error; @@ -541,7 +541,7 @@ SmlCommand *cmd = dsession->recvSync->data; smlTrace(TRACE_INTERNAL, "%s: answering sync command with cmdRef %i and msgRef %i", __func__, cmd->cmdID, cmd->msgID); - SmlStatus *reply = smlCommandNewReply(cmd, SML_NO_ERROR, &error); + reply = smlCommandNewReply(cmd, SML_NO_ERROR, &error); if (!reply) goto error; Modified: trunk/libsyncml/parser/sml_wbxml.c ============================================================================== --- trunk/libsyncml/parser/sml_wbxml.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/parser/sml_wbxml.c Fri Apr 3 21:39:52 2009 (r1031) @@ -148,7 +148,7 @@ if (!smlXmlAssemblerRun(assm, &buffer, &buffer_size, end, final, 0, error)) goto error; - WBXMLConvXML2WBXMLParams params = {WBXML_VERSION_12, FALSE, FALSE}; + WBXMLConvXML2WBXMLParams params = {WBXML_VERSION_12, FALSE, FALSE, FALSE}; const char *opt = smlAssemblerGetOption(assm->assembler, "USE_STRTABLE"); if (opt && atoi(opt)) params.use_strtbl = TRUE; @@ -185,7 +185,7 @@ if (!smlXmlAssemblerRunFull(assm, &buffer, &buffer_size, NULL, TRUE, FALSE, 0, error)) goto error; - WBXMLConvXML2WBXMLParams params = {WBXML_VERSION_12, FALSE, FALSE}; + WBXMLConvXML2WBXMLParams params = {WBXML_VERSION_12, FALSE, FALSE, FALSE}; const char *opt = smlAssemblerGetOption(assm->assembler, "USE_STRTABLE"); if (opt && atoi(opt)) params.use_strtbl = TRUE; Modified: trunk/libsyncml/parser/sml_xml_assm.c ============================================================================== --- trunk/libsyncml/parser/sml_xml_assm.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/parser/sml_xml_assm.c Fri Apr 3 21:39:52 2009 (r1031) @@ -504,11 +504,6 @@ smlTrace(TRACE_INTERNAL, "%s: Large object: use %i, server %i, requestedSize %i", __func__, supportsLargeObjects, assm->session->sessionType == SML_SESSION_TYPE_SERVER ? 1 : 0, smlAssemblerGetRemoteMaxObjSize(assm->assembler)); - if (assm->session->sessionType == SML_SESSION_TYPE_SERVER) { - if (smlAssemblerGetRemoteMaxObjSize(assm->assembler) == -1) - supportsLargeObjects = FALSE; - } - if (supportsLargeObjects && change->size) { if (!_smlXmlAssemblerAddIDNS(assm, SML_ELEMENT_SIZE, SML_NAMESPACE_METINF, change->size, error)) goto error; @@ -2131,7 +2126,7 @@ goto error; // add values - GList *hvalue = NULL; + hvalue = NULL; for (hvalue = param->valEnums; hvalue; hvalue = hvalue->next) { char *valEnum = hvalue->data; Modified: trunk/libsyncml/parser/sml_xml_parse.c ============================================================================== --- trunk/libsyncml/parser/sml_xml_parse.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/parser/sml_xml_parse.c Fri Apr 3 21:39:52 2009 (r1031) @@ -1672,12 +1672,12 @@ /* convert the whole strong to UTF-8 */ smlTrace(TRACE_INTERNAL, "%s: Converting %d bytes ...", __func__, last_utf16 - position + 1); GError *gerror = NULL; - size_t read = 0; - size_t written = 0; + size_t read_bytes = 0; + size_t written_bytes = 0; gchar *conv_string = g_convert( position, (last_utf16 - position + 1), "UTF-8", "UTF-16", - &read, &written, + &read_bytes, &written_bytes, &gerror); if (gerror != NULL) { @@ -1689,23 +1689,23 @@ smlTrace(TRACE_EXIT_ERROR, "%s - %s", __func__, smlErrorPrint(error)); return FALSE; } - smlTrace(TRACE_INTERNAL, "%s: read %d --> written %d --> %d ::= %s", __func__, read, written, strlen(conv_string), conv_string); + smlTrace(TRACE_INTERNAL, "%s: read %d --> written %d --> %d ::= %s", __func__, read_bytes, written_bytes, strlen(conv_string), conv_string); /* replace the embedded string */ - char *new_data = smlTryMalloc0(*fixed_size - read + written + 1, error); + char *new_data = smlTryMalloc0(*fixed_size - read_bytes + written_bytes + 1, error); if (!new_data) { smlTrace(TRACE_EXIT_ERROR, "%s - %s", __func__, smlErrorPrint(error)); return FALSE; } memcpy(new_data, *fixed_data, (size_t) position - (size_t) *fixed_data); - memcpy(new_data + (size_t) position - (size_t) *fixed_data, conv_string, written); - memcpy(new_data + (size_t) position - (size_t) *fixed_data + written, - position + read, *fixed_size - ( (size_t) position - (size_t) *fixed_data ) - read ); + memcpy(new_data + (size_t) position - (size_t) *fixed_data, conv_string, written_bytes); + memcpy(new_data + (size_t) position - (size_t) *fixed_data + written_bytes, + position + read_bytes, *fixed_size - ( (size_t) position - (size_t) *fixed_data ) - read_bytes ); /* fix pointers */ - *fixed_size = *fixed_size - read + written; - position = new_data + (position - *fixed_data) + written; + *fixed_size = *fixed_size - read_bytes + written_bytes; + position = new_data + (position - *fixed_data) + written_bytes; smlSafeCFree(fixed_data); *fixed_data = new_data; new_data = NULL; Modified: trunk/libsyncml/sml_elements.c ============================================================================== --- trunk/libsyncml/sml_elements.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/sml_elements.c Fri Apr 3 21:39:52 2009 (r1031) @@ -443,11 +443,12 @@ /** Checks if the item is complete */ SmlBool smlItemCheck(SmlItem *item) { + smlAssert(xmlBufferLength(item->buffer) >= 0); smlAssert(item); if (!item->size) return TRUE; - if (xmlBufferLength(item->buffer) != item->size) + if ((unsigned int)xmlBufferLength(item->buffer) != item->size) { smlTrace(TRACE_INTERNAL, "%s: failed because size (%d != %d) does not match (%s).", __func__, item->size, Modified: trunk/libsyncml/sml_manager.c ============================================================================== --- trunk/libsyncml/sml_manager.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/sml_manager.c Fri Apr 3 21:39:52 2009 (r1031) @@ -81,6 +81,7 @@ static gboolean _manager_prepare_internal(GSource *source, gint *timeout_) { + smlTrace(TRACE_INTERNAL, "%s(%p, %p)", __func__, source, timeout_); *timeout_ = 1; return FALSE; } @@ -99,6 +100,7 @@ static gboolean _manager_dispatch_internal(GSource *source, GSourceFunc callback, gpointer user_data) { + smlTrace(TRACE_INTERNAL, "%s(%p, %p, %p)", __func__, source, callback, user_data); int max = 100; SmlManager *manager = user_data; @@ -193,9 +195,9 @@ /* If we return FALSE in this function, the current request will get * aborted */ -static SmlBool _smlManagerDataHandler(SmlTransport *tsp, SmlLink *link, SmlTransportEventType type, SmlTransportData *data, SmlError *error, void *userdata) +static SmlBool _smlManagerDataHandler(SmlTransport *tsp, SmlLink *link_, SmlTransportEventType type, SmlTransportData *data, SmlError *error, void *userdata) { - smlTrace(TRACE_ENTRY, "%s(%p, %p, %i, %p, %p, %p)", __func__, tsp, link, type, data, error, userdata); + smlTrace(TRACE_ENTRY, "%s(%p, %p, %i, %p, %p, %p)", __func__, tsp, link_, type, data, error, userdata); smlAssert(userdata); SmlManager *manager = userdata; SmlParser *parser = NULL; @@ -265,9 +267,9 @@ header->source, header->target, header->sessionID, 1, &locerror))) goto error_free_header; - if (link) + if (link_) { - char *responseURI = smlTransportGetResponseURI(link, session, &locerror); + char *responseURI = smlTransportGetResponseURI(link_, session, &locerror); if (!responseURI && locerror) goto error_free_header; if (responseURI) @@ -280,15 +282,15 @@ smlSafeCFree(&responseURI); } } - if (!smlManagerSessionAdd(manager, session, link, &locerror)) + if (!smlManagerSessionAdd(manager, session, link_, &locerror)) goto error_free_header; smlSessionUnref(session); } else { /* SECURITY: let's check ResponseURI if supported * SECURITY: this is important to avoid replay attacks */ - if (link) { - char *responseUri = smlTransportGetResponseURI(link, session, &locerror); + if (link_) { + char *responseUri = smlTransportGetResponseURI(link_, session, &locerror); if (!responseUri && locerror) { goto error_free_header; } @@ -316,8 +318,8 @@ if (sess->session == session) { if (sess->link) smlLinkDeref(sess->link); - sess->link = link; - if (link) + sess->link = link_; + if (link_) smlLinkRef(sess->link); break; } @@ -366,7 +368,7 @@ if (session) smlSessionUnlock(session); session_error: - if (session == NULL && link && type == SML_TRANSPORT_EVENT_DATA) { + if (session == NULL && link_ && type == SML_TRANSPORT_EVENT_DATA) { /* If there is no session and a link then this means * that there is a failing server connection. * It is a good idea to close the connection because @@ -374,7 +376,7 @@ * disconnect to the link. */ SmlError *herror = NULL; - if (!smlTransportDisconnect(manager->transport, link, &herror)) { + if (!smlTransportDisconnect(manager->transport, link_, &herror)) { smlTrace(TRACE_ERROR, "%s: Disconnect on error failed. %s", smlErrorPrint(&herror)); smlErrorDeref(&herror); @@ -775,9 +777,9 @@ smlTrace(TRACE_EXIT, "%s", __func__); } -SmlBool smlManagerSessionAdd(SmlManager *manager, SmlSession *session, SmlLink *link, SmlError **error) +SmlBool smlManagerSessionAdd(SmlManager *manager, SmlSession *session, SmlLink *link_, SmlError **error) { - smlTrace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, manager, session, link, error); + smlTrace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, manager, session, link_, error); CHECK_ERROR_REF smlSessionRef(session); @@ -803,9 +805,9 @@ sess->session = session; sess->finalLock = 0; - if (link) { - sess->link = link; - smlLinkRef(link); + if (link_) { + sess->link = link_; + smlLinkRef(link_); } sess->transport = manager->transport; Modified: trunk/libsyncml/sml_notification.c ============================================================================== --- trunk/libsyncml/sml_notification.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/sml_notification.c Fri Apr 3 21:39:52 2009 (r1031) @@ -213,7 +213,7 @@ data += 25 + idLength; unsigned int alertLength = 25 + idLength; - int i = 0; + unsigned int i = 0; for (i = 0; i < numSync; i++) { if (size < alertLength + 5) { smlErrorSet(error, SML_ERROR_GENERIC, "Size too small3"); Modified: trunk/libsyncml/sml_parse.c ============================================================================== --- trunk/libsyncml/sml_parse.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/sml_parse.c Fri Apr 3 21:39:52 2009 (r1031) @@ -593,7 +593,7 @@ goto error_enable_item; /* Now check the size */ - unsigned int size = 0; + int size = 0; if (!(size = smlAssemblerCheckSize(assm, FALSE, error))) goto error_remove; @@ -682,7 +682,7 @@ int limit = smlAssemblerGetRemoteMaxMsgSize(assm); if (limit) { /* Now check the size */ - unsigned int size = 0; + int size = 0; if (!(size = smlAssemblerCheckSize(assm, FALSE, error))) goto error; @@ -854,7 +854,7 @@ int limit = smlAssemblerGetRemoteMaxMsgSize(assm); if (limit) { /* Now check the size */ - unsigned int size = 0; + int size = 0; if (!(size = smlAssemblerCheckSize(assm, FALSE, error))) goto error; Modified: trunk/libsyncml/sml_queue.c ============================================================================== --- trunk/libsyncml/sml_queue.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/sml_queue.c Fri Apr 3 21:39:52 2009 (r1031) @@ -29,6 +29,7 @@ static gboolean _queue_prepare(GSource *source, gint *timeout_) { + smlTrace(TRACE_INTERNAL, "%s(%p, %p)", __func__, source, timeout_); *timeout_ = 1; return FALSE; } @@ -61,6 +62,7 @@ static gboolean _queue_dispatch(GSource *source, GSourceFunc callback, gpointer user_data) { + smlTrace(TRACE_INTERNAL, "%s(%p, %p, %p)", __func__, source, callback, user_data); SmlQueue *queue = user_data; smlAssert(queue->handler); Modified: trunk/libsyncml/sml_session.c ============================================================================== --- trunk/libsyncml/sml_session.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/sml_session.c Fri Apr 3 21:39:52 2009 (r1031) @@ -270,7 +270,6 @@ /* get original item and cleanup item list */ smlAssert(g_list_length(orig_cmd->private.change.items) == 1); - SmlItem *orig_item = orig_cmd->private.change.items->data; smlAssert(g_list_remove(orig_cmd->private.change.items, orig_item) == NULL); orig_cmd->private.change.items = NULL; @@ -361,7 +360,9 @@ /* If max obj size is not unlimited (0), and the size of the item is larger * than the max obj size, we have to return an error */ int sendingmaxobjsize = smlSessionGetRemoteMaxObjSize(session); - if ((sendingmaxobjsize > 0) && (size > sendingmaxobjsize)) { + if ((sendingmaxobjsize > 0) && + (size > (unsigned int)sendingmaxobjsize)) + { smlErrorSet(error, SML_ERROR_SIZE_MISMATCH, "Item (%ub) is larger than the limit (%db)", size, smlSessionGetRemoteMaxObjSize(session)); goto error; } @@ -376,7 +377,10 @@ item->moreData = FALSE; /* Check if item data fits into the current message */ - if (session->frag_command || (space && space < size - session->frag_size)) { + if (session->frag_command || + (space > 0 && + (unsigned int) space < size - session->frag_size)) + { smlTrace(TRACE_INTERNAL, "%s: Space %i, size %i. Fragmenting. Already added: %i", __func__, space, size - session->frag_size, session->frag_size); /* We need to fragment */ /* Store the command for processing */ @@ -1460,7 +1464,7 @@ * then this is no problem because the function is safe against * mutliple calls (the SmlManager already requires this). */ - int i = 0; + unsigned int i = 0; while (!session->waiting && smlQueueCheckPrio(session->command_queue) && i < num) { smlSessionDispatch(session); i++; @@ -2366,7 +2370,7 @@ if (remoteLimit > 0) { /* The remote peer already sent MaxObjSize */ - if (remoteLimit > limit && limit > 0) + if ((unsigned int)remoteLimit > limit && limit > 0) { /* If the limit of the remote peer is higher * than the local limit then the local limit Modified: trunk/libsyncml/sml_support.c ============================================================================== --- trunk/libsyncml/sml_support.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/sml_support.c Fri Apr 3 21:39:52 2009 (r1031) @@ -301,7 +301,7 @@ */ char *smlRandStr(int maxlength, SmlBool exact) { - char *randchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIKLMNOPQRSTUVWXYZ1234567890"; + const char *randchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIKLMNOPQRSTUVWXYZ1234567890"; int length; char *retchar; Modified: trunk/libsyncml/sml_transport.c ============================================================================== --- trunk/libsyncml/sml_transport.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/sml_transport.c Fri Apr 3 21:39:52 2009 (r1031) @@ -81,9 +81,9 @@ smlTrace(TRACE_EXIT, "%s", __func__); } -SmlBool smlTransportSend(SmlTransport *tsp, SmlLink *link, SmlTransportData *data, SmlError **error) +SmlBool smlTransportSend(SmlTransport *tsp, SmlLink *link_, SmlTransportData *data, SmlError **error) { - smlTrace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, tsp, link, data, error); + smlTrace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, tsp, link_, data, error); CHECK_ERROR_REF smlAssert(tsp); smlAssert(data); @@ -104,8 +104,8 @@ cmd->type = SML_TRANSPORT_CMD_SEND; cmd->data = data; - if (link) { - cmd->link = link; + if (link_) { + cmd->link = link_; smlLinkRef(cmd->link); } @@ -184,9 +184,9 @@ return; } -SmlBool smlTransportReceiveEvent(SmlTransport *tsp, SmlLink *link, SmlTransportEventType type, SmlTransportData *data, SmlError *error) +SmlBool smlTransportReceiveEvent(SmlTransport *tsp, SmlLink *link_, SmlTransportEventType type, SmlTransportData *data, SmlError *error) { - smlTrace(TRACE_ENTRY, "%s(%p, %p, %i, %p, %p)", __func__, tsp, link, type, data, error); + smlTrace(TRACE_ENTRY, "%s(%p, %p, %i, %p, %p)", __func__, tsp, link_, type, data, error); smlAssert(tsp); SmlBool ret = TRUE; @@ -264,7 +264,7 @@ * because the link is down now. */ - if (type == SML_TRANSPORT_EVENT_CONNECT_DONE && !link) + if (type == SML_TRANSPORT_EVENT_CONNECT_DONE && !link_) { if (smlTransportIsServer(tsp)) g_error("A connect event without a link was received " \ @@ -276,7 +276,7 @@ tsp->connected = TRUE; } - if (type == SML_TRANSPORT_EVENT_DISCONNECT_DONE && !link) + if (type == SML_TRANSPORT_EVENT_DISCONNECT_DONE && !link_) { if (smlTransportIsServer(tsp)) g_error("A disconnect event without a link was received " \ @@ -288,12 +288,12 @@ tsp->connected = FALSE; } - if (type == SML_TRANSPORT_EVENT_CONNECT_DONE && link) + if (type == SML_TRANSPORT_EVENT_CONNECT_DONE && link_) { if (!smlTransportIsServer(tsp)) g_error("A connect event with a link was received " \ "but the transport layer is a server."); - if (!link->link_data) + if (!link_->link_data) g_error("A connect event with a link was received " \ "but the link does not contain the required " \ "transport environment."); @@ -303,12 +303,12 @@ g_mutex_unlock(tsp->connections_mutex); } - if (type == SML_TRANSPORT_EVENT_DISCONNECT_DONE && link) + if (type == SML_TRANSPORT_EVENT_DISCONNECT_DONE && link_) { if (!smlTransportIsServer(tsp)) g_error("A disconnect event with a link was received " \ "but the transport layer is not a server."); - if (link->link_data) + if (link_->link_data) g_error("A disconnect event with a link was received " \ "but the link still contains the " \ "transport environment."); @@ -326,7 +326,7 @@ { /* send the event */ g_atomic_int_inc(&(tsp->event_callback_ref_count)); - ret = tsp->event_callback(tsp, link, type, data, error, tsp->event_callback_userdata); + ret = tsp->event_callback(tsp, link_, type, data, error, tsp->event_callback_userdata); smlTrace(TRACE_INTERNAL, "%s: %d event callbacks", __func__, g_atomic_int_dec_and_test(&(tsp->event_callback_ref_count))); } @@ -343,6 +343,7 @@ /* FIXME: DEPRECATED */ SmlBool smlTransportRunAsync(SmlTransport *tsp, SmlError **error) { + smlTrace(TRACE_ERROR, "%s(%p,%p)", __func__, tsp, error); CHECK_ERROR_REF /* All transports run in asynchronous mode. * Therefore this function should never be called. @@ -414,9 +415,9 @@ return FALSE; } -SmlBool smlTransportDisconnect(SmlTransport *tsp, SmlLink *link, SmlError **error) +SmlBool smlTransportDisconnect(SmlTransport *tsp, SmlLink *link_, SmlError **error) { - smlTrace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, tsp, link, error); + smlTrace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, tsp, link_, error); CHECK_ERROR_REF smlAssert(tsp); @@ -433,7 +434,7 @@ * because every client can have only one connection. */ - if (link && !smlTransportIsServer(tsp)) + if (link_ && !smlTransportIsServer(tsp)) { smlErrorSet(error, SML_ERROR_GENERIC, "A transport client has no link " \ @@ -451,7 +452,7 @@ * This means that all links must be shut down. */ - if (link && !link->link_data) + if (link_ && !link_->link_data) { /* If there is a very fast or aggressive client * then it can happen that the client closes @@ -470,7 +471,7 @@ return TRUE; } - if (!link && smlTransportIsServer(tsp) && tsp->connections) + if (!link_ && smlTransportIsServer(tsp) && tsp->connections) { smlErrorSet(error, SML_ERROR_GENERIC, "A server shutdown is requested " \ @@ -483,22 +484,22 @@ * this is also a check for the correct registration of the link */ - if (link) + if (link_) { - if (tsp != link->tsp) + if (tsp != link_->tsp) { smlErrorSet(error, SML_ERROR_GENERIC, "The link %p is registered at another transport layer %p than this one %p.", - link, link->tsp, tsp); + link_, link_->tsp, tsp); goto error; } g_mutex_lock(tsp->links_mutex); - if (!g_hash_table_lookup(tsp->links, link)) { + if (!g_hash_table_lookup(tsp->links, link_)) { g_mutex_unlock(tsp->links_mutex); smlErrorSet(error, SML_ERROR_GENERIC, "The link %p is not registered at the transport layer %p", - link, tsp); + link_, tsp); goto error; } g_mutex_unlock(tsp->links_mutex); @@ -511,8 +512,8 @@ goto error; cmd->type = SML_TRANSPORT_CMD_DISCONNECT; - if (link) { - cmd->link = link; + if (link_) { + cmd->link = link_; smlLinkRef(cmd->link); } @@ -588,9 +589,9 @@ smlTrace(TRACE_EXIT, "%s: Freed", __func__); } -void smlTransportSetError(SmlTransport *tsp, SmlLink *link, SmlError **error) +void smlTransportSetError(SmlTransport *tsp, SmlLink *link_, SmlError **error) { - smlTrace(TRACE_ENTRY, "%s(%p, %p, %p(%p))", __func__, tsp, link, error, error ? *error : NULL); + smlTrace(TRACE_ENTRY, "%s(%p, %p, %p(%p))", __func__, tsp, link_, error, error ? *error : NULL); /* Do no use CHECK_ERROR_REF here. * SmlError **error contains an error which should be send. */ @@ -603,8 +604,8 @@ cmd->type = SML_TRANSPORT_CMD_SEND; cmd->data = NULL; - if (link) { - cmd->link = link; + if (link_) { + cmd->link = link_; smlLinkRef(cmd->link); } @@ -625,21 +626,21 @@ CHECK_ERROR_REF smlAssert(link_data); - SmlLink *link = smlTryMalloc0(sizeof(SmlLink), error); - if (!link) + SmlLink *link_ = smlTryMalloc0(sizeof(SmlLink), error); + if (!link_) goto error; - link->tsp = tsp; - link->link_data = link_data; - link->refCount = 1; + link_->tsp = tsp; + link_->link_data = link_data; + link_->refCount = 1; /* register the link at the transport */ g_mutex_lock(tsp->links_mutex); - g_hash_table_insert(tsp->links, link, GINT_TO_POINTER(1)); + g_hash_table_insert(tsp->links, link_, GINT_TO_POINTER(1)); g_mutex_unlock(tsp->links_mutex); - smlTrace(TRACE_EXIT, "%s: %p", __func__, link); - return link; + smlTrace(TRACE_EXIT, "%s: %p", __func__, link_); + return link_; error: smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(error)); @@ -657,37 +658,37 @@ return NULL; } -SmlLink *smlLinkRef(SmlLink *link) +SmlLink *smlLinkRef(SmlLink *link_) { - smlTrace(TRACE_ENTRY, "%s(%p)", __func__, link); - smlAssert(link); + smlTrace(TRACE_ENTRY, "%s(%p)", __func__, link_); + smlAssert(link_); - g_atomic_int_inc(&(link->refCount)); + g_atomic_int_inc(&(link_->refCount)); smlTrace(TRACE_EXIT, "%s", __func__); - return link; + return link_; } -void smlLinkDeref(SmlLink *link) +void smlLinkDeref(SmlLink *link_) { - smlTrace(TRACE_ENTRY, "%s(%p)", __func__, link); - smlAssert(link); + smlTrace(TRACE_ENTRY, "%s(%p)", __func__, link_); + smlAssert(link_); - if (!g_atomic_int_dec_and_test(&(link->refCount))) { + if (!g_atomic_int_dec_and_test(&(link_->refCount))) { smlTrace(TRACE_EXIT, "%s: refCount > 0", __func__); return; } /* deregister the link from the transport */ - g_mutex_lock(link->tsp->links_mutex); - if (!g_hash_table_remove(link->tsp->links, link)) - g_warning("The link %p was never registered.", link); - g_mutex_unlock(link->tsp->links_mutex); + g_mutex_lock(link_->tsp->links_mutex); + if (!g_hash_table_remove(link_->tsp->links, link_)) + g_warning("The link %p was never registered.", link_); + g_mutex_unlock(link_->tsp->links_mutex); /* free the memory */ - smlSafeFree((gpointer *)&link); + smlSafeFree((gpointer *)&link_); smlTrace(TRACE_EXIT, "%s: Freed", __func__); } @@ -1142,7 +1143,7 @@ } /* give all jobs a chance to finish cleanly */ - int i = 0; + unsigned int i = 0; unsigned int queueLength = smlQueueLength(tsp->command_queue); for (; i < queueLength; i++) { if (tsp->thread) { @@ -1182,21 +1183,21 @@ return FALSE; } -char * smlTransportGetResponseURI(SmlLink *link, SmlSession *session, SmlError **error) +char * smlTransportGetResponseURI(SmlLink *link_, SmlSession *session, SmlError **error) { - smlTrace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, link, session, error); + smlTrace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, link_, session, error); /* Do not change the assertion to simple return FALSE stuff * because to many developers incl. me ignore returned FALSE * if it is only configuration. */ CHECK_ERROR_REF - smlAssert(link); - smlAssert(link->tsp); + smlAssert(link_); + smlAssert(link_->tsp); smlAssert(session); - if (link->tsp->functions.get_response_uri) + if (link_->tsp->functions.get_response_uri) { - char *result = link->tsp->functions.get_response_uri(link, session, error); + char *result = link_->tsp->functions.get_response_uri(link_, session, error); smlTrace(TRACE_EXIT, "%s - %s", __func__, VA_STRING(result)); return result; } else { Modified: trunk/libsyncml/transports/http_client.c ============================================================================== --- trunk/libsyncml/transports/http_client.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/transports/http_client.c Fri Apr 3 21:39:52 2009 (r1031) @@ -42,7 +42,7 @@ static void smlTransportHttpClientCallback(SoupSession *session, SoupMessage *msg, gpointer userdata) #endif { - smlTrace(TRACE_ENTRY, "%s(%p, %p)", __func__, msg, userdata); + smlTrace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, session, msg, userdata); SmlTransportHttpClientEnv *env = userdata; SmlError *error = NULL; @@ -198,6 +198,7 @@ _authenticate (SoupSession *session, SoupMessage *msg, SoupAuth *auth, gboolean retrying, gpointer data) { + smlTrace(TRACE_INTERNAL, "%s(%p, %p, %p, %d, %p)", __func__, session, msg, auth, retrying, data); SmlTransportHttpClientEnv *env = data; smlTrace(TRACE_INTERNAL, "%s: authentication via auth_type %s", __func__, VA_STRING(soup_auth_get_scheme_name(auth))); @@ -426,9 +427,9 @@ return FALSE; } -static void smlTransportHttpClientSend(void *userdata, void *link, SmlTransportData *data, SmlError *error) +static void smlTransportHttpClientSend(void *userdata, void *link_, SmlTransportData *data, SmlError *error) { - smlTrace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, userdata, link, data, error); + smlTrace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, userdata, link_, data, error); smlAssert(error || data); smlAssert(userdata); SmlTransportHttpClientEnv *env = userdata; Modified: trunk/libsyncml/transports/http_server.c ============================================================================== --- trunk/libsyncml/transports/http_server.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/transports/http_server.c Fri Apr 3 21:39:52 2009 (r1031) @@ -39,7 +39,7 @@ smlAssert(data); SmlTransportHttpServerEnv *env = data; SmlLinkHttpServerEnv *linkenv = NULL; - SmlLink *link = NULL; + SmlLink *link_ = NULL; SmlError *error = NULL; char *path = soup_uri_to_string (soup_message_get_uri(msg), TRUE); @@ -50,8 +50,8 @@ /* check that this is a registered session */ smlSafeCFree(&path); path = soup_uri_to_string (soup_message_get_uri(msg), FALSE); - link = g_hash_table_lookup(env->uriToLink, path); - if (!link) + link_ = g_hash_table_lookup(env->uriToLink, path); + if (!link_) { /* The URL was changed and there is no * key/value pair for this URL available. @@ -65,7 +65,7 @@ smlSafeCFree(&path); goto error; } - smlLinkRef(link); + smlLinkRef(link_); } smlSafeCFree(&path); @@ -99,7 +99,7 @@ } /* prepare link and linkenv */ - if (!link) + if (!link_) { /* This is a potentially new session. * It is not possible to check this here. @@ -110,20 +110,20 @@ if (!linkenv) goto error; linkenv->env = env; - link = smlLinkNew(env->tsp, linkenv, &error); - if (!link) + link_ = smlLinkNew(env->tsp, linkenv, &error); + if (!link_) goto error; linkenv->msg = msg; /* the link must be cached for disconnect signaling */ - linkenv->link = link; + linkenv->link = link_; smlLinkRef(linkenv->link); /* We think positive here and signal connect. * the link is now complete, so send the connect event */ - smlTransportReceiveEvent(env->tsp, link, SML_TRANSPORT_EVENT_CONNECT_DONE, NULL, NULL); + smlTransportReceiveEvent(env->tsp, link_, SML_TRANSPORT_EVENT_CONNECT_DONE, NULL, NULL); } else { - linkenv = link->link_data; + linkenv = link_->link_data; if (linkenv->msg) smlTrace(TRACE_INTERNAL, "%s: WARNING: ResponseURI should not be in use - test mode.", @@ -151,9 +151,9 @@ if (!tspdata) goto error_unref_msg; - smlTransportReceiveEvent(env->tsp, link, SML_TRANSPORT_EVENT_DATA, tspdata, NULL); + smlTransportReceiveEvent(env->tsp, link_, SML_TRANSPORT_EVENT_DATA, tspdata, NULL); - smlLinkDeref(link); + smlLinkDeref(link_); smlTransportDataDeref(tspdata); soup_message_io_pause(msg); @@ -162,8 +162,8 @@ return; error_unref_msg: - link->link_data = NULL; - smlLinkDeref(link); + link_->link_data = NULL; + smlLinkDeref(link_); linkenv->msg = NULL; smlSafeFree((gpointer *) &linkenv); error: @@ -188,7 +188,7 @@ smlAssert(data); SmlTransportHttpServerEnv *env = data; SmlLinkHttpServerEnv *linkenv = NULL; - SmlLink *link = NULL; + SmlLink *link_ = NULL; SmlError *error = NULL; smlTrace(TRACE_INTERNAL, "%s: %s %s HTTP/1.%d", @@ -203,8 +203,8 @@ if (g_strcasecmp(path, env->url)) { /* check that this is a registered session */ char *fullpath = soup_uri_to_string (soup_message_get_uri(msg), FALSE); - link = g_hash_table_lookup(env->uriToLink, fullpath); - if (!link) + link_ = g_hash_table_lookup(env->uriToLink, fullpath); + if (!link_) { /* The URL was changed and there is no * key/value pair for this URL available. @@ -218,7 +218,7 @@ smlSafeCFree(&fullpath); goto error; } - smlLinkRef(link); + smlLinkRef(link_); smlSafeCFree(&fullpath); } @@ -240,7 +240,7 @@ } /* prepare link and linkenv */ - if (!link) + if (!link_) { /* This is a potentially new session. * It is not possible to check this here. @@ -251,19 +251,19 @@ if (!linkenv) goto error; linkenv->env = env; - link = smlLinkNew(env->tsp, linkenv, &error); - if (!link) + link_ = smlLinkNew(env->tsp, linkenv, &error); + if (!link_) goto error; linkenv->msg = msg; /* the link must be cached for disconnect signaling */ - linkenv->link = link; + linkenv->link = link_; smlLinkRef(linkenv->link); /* We think positive here and signal connect. * the link is now complete, so send the connect event */ - smlTransportReceiveEvent(env->tsp, link, SML_TRANSPORT_EVENT_CONNECT_DONE, NULL, NULL); + smlTransportReceiveEvent(env->tsp, link_, SML_TRANSPORT_EVENT_CONNECT_DONE, NULL, NULL); } else { - linkenv = link->link_data; + linkenv = link_->link_data; if (linkenv->msg) smlTrace(TRACE_INTERNAL, "%s: WARNING: ResponseURI should not be in use - test mode.", @@ -296,11 +296,11 @@ if (!tspdata) goto error_unref_msg; - smlTransportReceiveEvent(env->tsp, link, SML_TRANSPORT_EVENT_DATA, tspdata, NULL); - smlLinkDeref(link); + smlTransportReceiveEvent(env->tsp, link_, SML_TRANSPORT_EVENT_DATA, tspdata, NULL); + smlLinkDeref(link_); /* If we activate this function call then we get segfaults */ - /* smlLinkDeref(link); */ + /* smlLinkDeref(link_); */ smlTransportDataDeref(tspdata); soup_server_pause_message(server, msg); @@ -309,7 +309,7 @@ return; error_unref_msg: - smlLinkDeref(link); + smlLinkDeref(link_); error: smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(&error)); smlErrorDeref(&error); @@ -444,18 +444,18 @@ } /* remove link from uriToLink */ - SmlLink *link = NULL; + SmlLink *link_ = NULL; smlTrace(TRACE_INTERNAL, "%s: remove link from uri/link cache", __func__); if (linkenv->url) { - link = g_hash_table_lookup(linkenv->env->uriToLink, linkenv->url); + link_ = g_hash_table_lookup(linkenv->env->uriToLink, linkenv->url); g_hash_table_remove(linkenv->env->uriToLink, linkenv->url); - smlLinkDeref(link); + smlLinkDeref(link_); smlSafeCFree(&(linkenv->url)); } /* save link for disconnect event */ - link = linkenv->link; + link_ = linkenv->link; /* signal disconnect to socket and potential client */ if (linkenv->msg) @@ -476,12 +476,12 @@ /* cleanup */ smlTrace(TRACE_INTERNAL, "%s: free memory", __func__); linkenv->env = NULL; - link->link_data = NULL; + link_->link_data = NULL; smlSafeFree((gpointer *)&linkenv); smlTrace(TRACE_INTERNAL, "%s: signal and unref link", __func__); - smlTransportReceiveEvent(env->tsp, link, SML_TRANSPORT_EVENT_DISCONNECT_DONE, NULL, NULL); - smlLinkDeref(link); + smlTransportReceiveEvent(env->tsp, link_, SML_TRANSPORT_EVENT_DISCONNECT_DONE, NULL, NULL); + smlLinkDeref(link_); smlTrace(TRACE_EXIT, "%s", __func__); } @@ -500,9 +500,9 @@ smlTrace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, key, value, user_data); // SmlTransportHttpServerEnv *env = user_data; char *uri = key; - SmlLink *link = value; + SmlLink *link_ = value; - smlLinkDeref(link); + smlLinkDeref(link_); smlSafeCFree(&uri); smlTrace(TRACE_EXIT, "%s", __func__); @@ -692,18 +692,18 @@ return; } -char * smlTransportHttpServerGetResponseURI(SmlLink *link, SmlSession *session, SmlError **error) +char * smlTransportHttpServerGetResponseURI(SmlLink *link_, SmlSession *session, SmlError **error) { - smlTrace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, link, session, error); + smlTrace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, link_, session, error); /* Do not change the assertion to simple return FALSE stuff * because to many developers incl. me ignore returned FALSE * if it is only configuration. */ CHECK_ERROR_REF - smlAssert(link); + smlAssert(link_); smlAssert(session); - smlAssert(link->link_data); - SmlLinkHttpServerEnv *linkenv = link->link_data; + smlAssert(link_->link_data); + SmlLinkHttpServerEnv *linkenv = link_->link_data; smlAssert(linkenv->env); SmlTransportHttpServerEnv *env = linkenv->env; char *responseURI = NULL; @@ -765,8 +765,8 @@ "A fresh random session ID is already in use."); goto error; } - smlLinkRef(link); - g_hash_table_insert(env->uriToLink, g_strdup(responseURI), link); + smlLinkRef(link_); + g_hash_table_insert(env->uriToLink, g_strdup(responseURI), link_); smlTrace(TRACE_INTERNAL, "%s: ResponseURI is %s.", __func__, VA_STRING(responseURI)); /* map session to URI */ @@ -806,7 +806,7 @@ smlSafeCFree(&soupURI); goto error; } - if (cachedLink != link) + if (cachedLink != link_) { /* SECURITY: This is an internal bug. */ smlErrorSet(error, SML_ERROR_GENERIC, Modified: trunk/libsyncml/transports/obex_client.c ============================================================================== --- trunk/libsyncml/transports/obex_client.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/transports/obex_client.c Fri Apr 3 21:39:52 2009 (r1031) @@ -56,7 +56,7 @@ static SmlBool obex_cable_at( SmlTransportObexClientEnv *userdata, - char *cmd, + const char *cmd, char *rspbuf, int rspbuflen, int timeout, @@ -73,7 +73,7 @@ char *answer = NULL; char *answer_end = NULL; - unsigned int answer_size; + int answer_size; char tmpbuf[100] = {0,}; int actual; @@ -202,6 +202,8 @@ static int smlTransportObexClientCableDisconnect(obex_t *handle, gpointer ud) { + smlTrace(TRACE_INTERNAL, "%s(%p, %p)", __func__, handle, ud); + SmlTransportObexClientEnv *userdata = (SmlTransportObexClientEnv *) ud; if (userdata->fd >= 0) { // Send a break to get out of OBEX-mode @@ -832,7 +834,7 @@ SmlTransportObexClientEnv *env = data; int fd = 0; SmlError *error = NULL; - int obex_intf_cnt; + unsigned int obex_intf_cnt; obex_interface_t *obex_intf; env->isDisconnected = FALSE; @@ -1185,9 +1187,9 @@ smlErrorDeref(&error); } -static void smlTransportObexClientSend(void *userdata, void *link, SmlTransportData *data, SmlError *error) +static void smlTransportObexClientSend(void *userdata, void *link_, SmlTransportData *data, SmlError *error) { - smlTrace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, userdata, link, data, error); + smlTrace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, userdata, link_, data, error); smlAssert(error || data); smlAssert(userdata); SmlTransportObexClientEnv *env = userdata; Modified: trunk/libsyncml/transports/obex_client_samsung.c ============================================================================== --- trunk/libsyncml/transports/obex_client_samsung.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/transports/obex_client_samsung.c Fri Apr 3 21:39:52 2009 (r1031) @@ -83,7 +83,7 @@ * repeat with 2.+3. */ env->at_command = g_strdup_printf("AT+SyncML=%i", g_list_length(env->datastores)); - int i; + unsigned int i; for(i = 0; i < g_list_length(env->datastores); i++) { char *tmp = g_strjoin("", env->at_command, "06", NULL); Modified: trunk/libsyncml/transports/obex_server.c ============================================================================== --- trunk/libsyncml/transports/obex_server.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/libsyncml/transports/obex_server.c Fri Apr 3 21:39:52 2009 (r1031) @@ -66,8 +66,8 @@ /* preserve the link and the transport for the disconnect event */ SmlTransport *tsp = linkenv->env->tsp; - SmlLink *link = linkenv->link; - smlLinkRef(link); + SmlLink *link_ = linkenv->link; + smlLinkRef(link_); /* the environment must be cleaned up before the event is sent */ smlLinkDeref(linkenv->link); @@ -76,11 +76,11 @@ if (tsp->context) g_main_context_unref(tsp->context); smlSafeFree((gpointer *)&linkenv); - link->link_data = NULL; + link_->link_data = NULL; /* send the event */ - smlTransportReceiveEvent(tsp, link, SML_TRANSPORT_EVENT_DISCONNECT_DONE, NULL, NULL); - smlLinkDeref(link); + smlTransportReceiveEvent(tsp, link_, SML_TRANSPORT_EVENT_DISCONNECT_DONE, NULL, NULL); + smlLinkDeref(link_); return FALSE; } @@ -480,7 +480,8 @@ * connections */ static gboolean _fd_prepare(GSource *source, gint *timeout_) { - /* There is not need to dispatch this too fast since + smlTrace(TRACE_INTERNAL, "%s(%p, %p)", __func__, source, timeout_); + /* There is no need to dispatch this too fast since * it does not influence the transmission of data, only * the connection */ *timeout_ = 50; Modified: trunk/tools/syncml-ds-tool.c ============================================================================== --- trunk/tools/syncml-ds-tool.c Fri Apr 3 21:38:13 2009 (r1030) +++ trunk/tools/syncml-ds-tool.c Fri Apr 3 21:39:52 2009 (r1031) @@ -239,7 +239,6 @@ GList *datastores = NULL; -SmlError *error = NULL; char *identifier = NULL; char *target = NULL; char *username = NULL; @@ -524,7 +523,7 @@ void *userdata, SmlError **error) { - smlTrace(TRACE_ENTRY, "%s(%s: %s)", __func__, VA_STRING(source), VA_STRING(uid)); + smlTrace(TRACE_ENTRY, "%s(%p, %s, %d, %s, %p, %d, %p, %p)", __func__, dsObject, VA_STRING(source), type, VA_STRING(uid), data, size, userdata, error); char *absolute_uid = NULL; char *absolute_status = NULL; @@ -563,17 +562,17 @@ } /* cache that the remote device knows the uid */ if (datastore->remoteHash) { - g_hash_table_insert(datastore->remoteHash, g_strdup(absolute_uid), "1"); + g_hash_table_insert(datastore->remoteHash, g_strdup(absolute_uid), (char *)"1"); } /* the directory is checked by scanArguments */ - SmlBool write = FALSE; - if (!write && !g_file_test(absolute_uid, G_FILE_TEST_EXISTS)) - write = TRUE; - if (!write && sessionType == SML_SESSION_TYPE_CLIENT) - write = TRUE; - if (!write && !localWinsConflicts) - write = TRUE; - if (!write && + SmlBool doWrite = FALSE; + if (!doWrite && !g_file_test(absolute_uid, G_FILE_TEST_EXISTS)) + doWrite = TRUE; + if (!doWrite && sessionType == SML_SESSION_TYPE_CLIENT) + doWrite = TRUE; + if (!doWrite && !localWinsConflicts) + doWrite = TRUE; + if (!doWrite && g_file_test(absolute_status, G_FILE_TEST_EXISTS)) { if (datastore->slow) @@ -608,13 +607,13 @@ goto error; } if (status.st_mtime > fdata.st_mtime) - write = TRUE; + doWrite = TRUE; } } printf("\tConflicts were checked.\n"); /* write the change */ - if (write) { + if (doWrite) { if (type == SML_CHANGE_DELETE) { g_unlink(absolute_uid); printf("\tThe item was successfully deleted.\n"); @@ -663,6 +662,7 @@ void *userdata, SmlError **error) { + smlTrace(TRACE_INTERNAL, "%s(%p, %p, %p, %p)", dsObject, devinf, userdata, error); printf("Received device information.\n"); remoteDevinf = devinf; smlDevInfRef(remoteDevinf); @@ -676,7 +676,7 @@ void *userdata, SmlError **error) { - smlTrace(TRACE_ENTRY, "%s - %s: %d", __func__, VA_STRING(source), type); + smlTrace(TRACE_ENTRY, "%s(%p, %s, %d, %p, %p)", __func__, dsObject, VA_STRING(source), type, userdata, error); /* find the appropriate datasoure */ SmlDsToolLocationType *datastore = NULL; GList *o = datastores; @@ -1433,7 +1433,7 @@ printf("Identifier (Source): %s \n", identifier); printf("Target: %s\n", target); printf("\nDatastores:\n"); - int i = 0; + unsigned int i = 0; for (i = 0; i < smlDevInfNumDataStores(remoteDevinf); i++) { const SmlDevInfDataStore *datastore = smlDevInfGetNthDataStore(remoteDevinf, i); printf("\tLocations: %s\n", smlDevInfDataStoreGetSourceRef(datastore)); |
From: <svn...@op...> - 2009-04-03 19:38:39
|
Author: bellmich Date: Fri Apr 3 21:38:13 2009 New Revision: 1030 URL: http://libsyncml.opensync.org/changeset/1030 Log: added support for coverage analysis If you want to get the coverage then run cmake and execute coverage.sh. Added: trunk/tests/coverage.sh.cmake (contents, props changed) Modified: trunk/tests/CMakeLists.txt Modified: trunk/tests/CMakeLists.txt ============================================================================== --- trunk/tests/CMakeLists.txt Fri Apr 3 17:12:26 2009 (r1029) +++ trunk/tests/CMakeLists.txt Fri Apr 3 21:38:13 2009 (r1030) @@ -71,3 +71,4 @@ ENDIF( ENABLE_UNIT_TEST ) +CONFIGURE_FILE( "coverage.sh.cmake" "${CMAKE_BINARY_DIR}/coverage.sh") Added: trunk/tests/coverage.sh.cmake ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/tests/coverage.sh.cmake Fri Apr 3 21:38:13 2009 (r1030) @@ -0,0 +1,65 @@ +#!/bin/sh + +echo -n "Checking Code Coverage of unit tests" +DATE=$( date +%Y%m%d%H%M%S ) + +if [ -d .svn ]; then + REV=`LANG=C svn info | grep Revision | cut -c 11-` + echo " for SVN Revision: $REV" + TITLE="libsyncml_SVN"$REV"_"$DATE +else + echo ":" + TITLE="libsyncml_"$DATE +fi +echo $TITLE + +if ! [ -d coverage/html ]; then + mkdir -p coverage/html +fi + +## compile tests +RESULT=`find ${CMAKE_CURRENT_BINARY_DIR} -name "*.o" -print | wc -l` +if [ "$RESULT" == "0" ]; then + make +fi + +## create gcda files +RESULT=`find ${CMAKE_CURRENT_BINARY_DIR} -name "*.gcda" -print | wc -l` +if [ "$RESULT" == "0" ]; then + ctest -R "^error$" +fi + +## analyze statistics +lcov \ + --test-name "$TITLE" \ + --base-directory ${CMAKE_SOURCE_DIR} \ + --directory ${CMAKE_CURRENT_BINARY_DIR} \ + --quiet \ + --capture \ + --output-file coverage/$TITLE.info +genhtml --legend -t "$TITLE" -o coverage/html/$TITLE coverage/$TITLE.info &> /dev/null + +cd coverage/html/ +ln -sf $TITLE LATEST +cd ../../ + +## cleanup gcda files +lcov \ + --test-name "$TITLE" \ + --base-directory ${CMAKE_SOURCE_DIR} \ + --directory ${CMAKE_BINARY_DIR} \ + --quiet \ + --zerocounters \ + --output-file coverage/$TITLE.info + +echo -n "Code Coverage is: " +grep " %</td>" coverage/html/$TITLE/index.html | sed -e "s/^[^>]*>//g" -e "s/<[^>]*>//g" +echo -n "" +echo -e "\nTroubleshooting:\n If the Code Coverage number is quite low (less then 51%):" +echo -e "\t-Did you run any unit tests before $0?" +echo -e "\t-Did you build with enable_profiling=1?" +echo -e "\t-Run ALL available unit tests!" +echo -e "\t-Check if testcases in unit test are disabled!" +echo -e "\t-Fix unit tests and their test cases!" +echo -e "\t-Write new and more test cases!" +exit 0 |
From: <svn...@op...> - 2009-04-03 15:12:39
|
Author: bellmich Date: Fri Apr 3 17:12:26 2009 New Revision: 1029 URL: http://libsyncml.opensync.org/changeset/1029 Log: fixed warnings from gcc during profiling build Modified: trunk/tests/check_data_sync_api.c trunk/tests/check_devinf.c trunk/tests/check_ds.c trunk/tests/check_http.c trunk/tests/check_libsoup.c trunk/tests/check_manager.c trunk/tests/check_md5.c trunk/tests/check_obex.c trunk/tests/check_session.c trunk/tests/check_sync.c trunk/tests/check_wbxml_parser.c trunk/tests/check_xml_parser.c trunk/tests/mobiles/libsyncml_ds_server.c trunk/tests/mobiles/obex_mobile_ds_client.c trunk/tests/support.c trunk/tests/support.h Modified: trunk/tests/check_data_sync_api.c ============================================================================== --- trunk/tests/check_data_sync_api.c Fri Apr 3 15:50:32 2009 (r1028) +++ trunk/tests/check_data_sync_api.c Fri Apr 3 17:12:26 2009 (r1029) @@ -40,7 +40,7 @@ SmlDataSyncObject *server; const char *client_source; const char *server_source; -char *transport; +const char *transport; /* ************************************ */ @@ -148,7 +148,7 @@ void *userdata, SmlError **error) { - smlTrace(TRACE_ENTRY, "%s(%s: %s)", __func__, VA_STRING(source), VA_STRING(uid)); + smlTrace(TRACE_ENTRY, "%s: %s ==> %s(%p, %d, %p, %d, %p, %p)", __func__, VA_STRING(source), VA_STRING(uid), dsObject, type, data, size, userdata, error); /* clients should never receive a change in this test */ @@ -400,7 +400,7 @@ goto error; /* configure test data */ - client_items = g_list_append(client_items, "blabla"); + client_items = g_list_append(client_items, (char *) "blabla"); run_testbed(); @@ -439,7 +439,7 @@ goto error; /* configure test data */ - client_items = g_list_append(client_items, "this is an image"); + client_items = g_list_append(client_items, (char *) "this is an image"); run_testbed(); @@ -475,7 +475,7 @@ goto error; /* configure test data */ - client_items = g_list_append(client_items, "this is some data"); + client_items = g_list_append(client_items, (char *) "this is some data"); run_testbed(); @@ -514,7 +514,7 @@ int max_items = 10000; int i; for(i = 0; i < max_items; i++) { - client_items = g_list_append(client_items, "client data"); + client_items = g_list_append(client_items, (char *) "client data"); } run_testbed(); Modified: trunk/tests/check_devinf.c ============================================================================== --- trunk/tests/check_devinf.c Fri Apr 3 15:50:32 2009 (r1028) +++ trunk/tests/check_devinf.c Fri Apr 3 17:12:26 2009 (r1029) @@ -145,9 +145,9 @@ smlLocationUnref(loc); - char *datastr = "<?xml version=\"1.0\"?><!DOCTYPE SyncML PUBLIC \"-//SYNCML//DTD SyncML 1.1//EN\" \"http://www.syncml.org/docs/syncml_represent_v11_20020213.dtd\"><SyncML xmlns=\"syncml:SYNCML1.1\"><SyncHdr><VerDTD>1.1</VerDTD><VerProto>SyncML/1.1</VerProto><SessionID>10</SessionID><MsgID>1</MsgID><Target><LocURI>PC Suite</LocURI></Target><Source><LocURI>IMEI:xxxxxxxxxxxxxxx</LocURI></Source><Meta><MaxMsgSize xmlns=\"syncml:metinf\">10000</MaxMsgSize></Meta></SyncHdr><SyncBody><Status><CmdID>1</CmdID><MsgRef>1</MsgRef><CmdRef>0</CmdRef><Cmd>SyncHdr</Cmd><TargetRef>/</TargetRef><SourceRef>PC Suite</SourceRef><Data>200</Data></Status><Status><CmdID>2</CmdID><MsgRef>1</MsgRef><CmdRef>1</CmdRef><Cmd>Alert</Cmd><SourceRef>Contacts</SourceRef><Data>200</Data></Status><Alert><CmdID>3</CmdID><Data>201</Data><Item><Target><LocURI>./Contacts</LocURI></Target><Source><LocURI>./C\\System\\Data\\Contacts.cdb</LocURI></Source><Meta><Anchor xmlns=\"syncml:metinf\"><Last></Last><Next>20060317T083025Z</Next></Anchor></Meta></Item></Alert><Put><CmdID>4</CmdID><Meta><Type xmlns=\"syncml:metinf\">application/vnd.syncml-devinf+xml</Type></Meta><Item><Source><LocURI>./devinf11</LocURI></Source><Data><DevInf xmlns=\"syncml:devinf\"><VerDTD>1.1</VerDTD><Man>NOKIA</Man><Mod>6680</Mod><SwV>2.04.15</SwV><DevID>IMEI:xxxxxxxxxxxxxxx</DevID><DevTyp>phone</DevTyp><SupportLargeObjs></SupportLargeObjs><SupportNumberOfChanges></SupportNumberOfChanges><DataStore><SourceRef>./C\\System\\Data\\Contacts.cdb</SourceRef><MaxGUIDSize>8</MaxGUIDSize><Rx-Pref><CTType>text/x-vcard</CTType><VerCT>2.1</VerCT></Rx-Pref><Rx><CTType>text/vcard</CTType><VerCT>3.0</VerCT></Rx><Tx-Pref><CTType>text/x-vcard</CTType><VerCT>2.1</VerCT></Tx-Pref><SyncCap><SyncType>1</SyncType><SyncType>2</SyncType><SyncType>3</SyncType><SyncType>4</SyncType><SyncType>5</SyncType><SyncType>6</SyncType><SyncType>7</SyncType></SyncCap></DataStore><CTCap><CTType>text/x-vcard</CTType><PropName>BEGIN</PropName><ValEnum>VCARD</ValEnum><PropName>END</PropName><ValEnum>VCARD</ValEnum><PropName>VERSION</PropName><ValEnum>2.1</ValEnum><PropName>REV</PropName><PropName>N</PropName><PropName>ADR</PropName><ParamName>HOME</ParamName><ParamName>WORK</ParamName><PropName>TEL</PropName><ParamName>HOME</ParamName><ParamName>WORK</ParamName><ParamName>CELL</ParamName><ParamName>PAGER</ParamName><ParamName>FAX</ParamName><ParamName>VIDEO</ParamName><PropName>FN</PropName><PropName>EMAIL</PropName><ParamName>INTERNET</ParamName><ParamName>HOME</ParamName><ParamName>WORK</ParamName><PropName>URL</PropName><ParamName>HOME</ParamName><ParamName>WORK</ParamName><PropName>NOTE</PropName><PropName>TITLE</PropName><PropName>ORG</PropName><PropName>PHOTO</PropName><PropName>BDAY</PropName><PropName>SOUND</PropName><ParamName>X-IRMC-N</ParamName><CTType>text/vcard</CTType><PropName>BEGIN</PropName><ValEnum>VCARD</ValEnum><PropName>END</PropName><ValEnum>VCARD</ValEnum><PropName>VERSION</PropName><ValEnum>3.0</ValEnum><PropName>REV</PropName><PropName>N</PropName><PropName>ADR</PropName><ParamName>HOME</ParamName><ParamName>WORK</ParamName><PropName>TEL</PropName><ParamName>HOME</ParamName><ParamName>WORK</ParamName><ParamName>CELL</ParamName><ParamName>PAGER</ParamName><ParamName>FAX</ParamName><ParamName>VIDEO</ParamName><PropName>FN</PropName><PropName>EMAIL</PropName><ParamName>INTERNET</ParamName><ParamName>HOME</ParamName><ParamName>WORK</ParamName><PropName>URL</PropName><ParamName>HOME</ParamName><ParamName>WORK</ParamName><PropName>NOTE</PropName><PropName>TITLE</PropName><PropName>ORG</PropName><PropName>PHOTO</PropName><PropName>BDAY</PropName><PropName>SOUND</PropName><ParamName>X-IRMC-N</ParamName></CTCap></DevInf></Data></Item></Put><Get><CmdID>5</CmdID><Meta><Type xmlns=\"syncml:metinf\">application/vnd.syncml-devinf+xml</Type></Meta><Item><Target><LocURI>./devinf11</LocURI></Target></Item></Get><Final></Final></SyncBody></SyncML>"; + const char *datastr = "<?xml version=\"1.0\"?><!DOCTYPE SyncML PUBLIC \"-//SYNCML//DTD SyncML 1.1//EN\" \"http://www.syncml.org/docs/syncml_represent_v11_20020213.dtd\"><SyncML xmlns=\"syncml:SYNCML1.1\"><SyncHdr><VerDTD>1.1</VerDTD><VerProto>SyncML/1.1</VerProto><SessionID>10</SessionID><MsgID>1</MsgID><Target><LocURI>PC Suite</LocURI></Target><Source><LocURI>IMEI:xxxxxxxxxxxxxxx</LocURI></Source><Meta><MaxMsgSize xmlns=\"syncml:metinf\">10000</MaxMsgSize></Meta></SyncHdr><SyncBody><Status><CmdID>1</CmdID><MsgRef>1</MsgRef><CmdRef>0</CmdRef><Cmd>SyncHdr</Cmd><TargetRef>/</TargetRef><SourceRef>PC Suite</SourceRef><Data>200</Data></Status><Status><CmdID>2</CmdID><MsgRef>1</MsgRef><CmdRef>1</CmdRef><Cmd>Alert</Cmd><SourceRef>Contacts</SourceRef><Data>200</Data></Status><Alert><CmdID>3</CmdID><Data>201</Data><Item><Target><LocURI>./Contacts</LocURI></Target><Source><LocURI>./C\\System\\Data\\Contacts.cdb</LocURI></Source><Meta><Anchor xmlns=\"syncml:metinf\"><Last></Last><Next>20060317T083025Z</Next></Anchor></Meta></Item></Alert><Put><CmdID>4</CmdID><Meta><Type xmlns=\"syncml:metinf\">application/vnd.syncml-devinf+xml</Type></Meta><Item><Source><LocURI>./devinf11</LocURI></Source><Data><DevInf xmlns=\"syncml:devinf\"><VerDTD>1.1</VerDTD><Man>NOKIA</Man><Mod>6680</Mod><SwV>2.04.15</SwV><DevID>IMEI:xxxxxxxxxxxxxxx</DevID><DevTyp>phone</DevTyp><SupportLargeObjs></SupportLargeObjs><SupportNumberOfChanges></SupportNumberOfChanges><DataStore><SourceRef>./C\\System\\Data\\Contacts.cdb</SourceRef><MaxGUIDSize>8</MaxGUIDSize><Rx-Pref><CTType>text/x-vcard</CTType><VerCT>2.1</VerCT></Rx-Pref><Rx><CTType>text/vcard</CTType><VerCT>3.0</VerCT></Rx><Tx-Pref><CTType>text/x-vcard</CTType><VerCT>2.1</VerCT></Tx-Pref><SyncCap><SyncType>1</SyncType><SyncType>2</SyncType><SyncType>3</SyncType><SyncType>4</SyncType><SyncType>5</SyncType><SyncType>6</SyncType><SyncType>7</SyncType></SyncCap></DataStore><CTCap><CTType>text/x-vcard</CTType><PropName>BEGIN</PropName><ValEnum>VCARD</ValEnum><PropName>END</PropName><ValEnum>VCARD</ValEnum><PropName>VERSION</PropName><ValEnum>2.1</ValEnum><PropName>REV</PropName><PropName>N</PropName><PropName>ADR</PropName><ParamName>HOME</ParamName><ParamName>WORK</ParamName><PropName>TEL</PropName><ParamName>HOME</ParamName><ParamName>WORK</ParamName><ParamName>CELL</ParamName><ParamName>PAGER</ParamName><ParamName>FAX</ParamName><ParamName>VIDEO</ParamName><PropName>FN</PropName><PropName>EMAIL</PropName><ParamName>INTERNET</ParamName><ParamName>HOME</ParamName><ParamName>WORK</ParamName><PropName>URL</PropName><ParamName>HOME</ParamName><ParamName>WORK</ParamName><PropName>NOTE</PropName><PropName>TITLE</PropName><PropName>ORG</PropName><PropName>PHOTO</PropName><PropName>BDAY</PropName><PropName>SOUND</PropName><ParamName>X-IRMC-N</ParamName><CTType>text/vcard</CTType><PropName>BEGIN</PropName><ValEnum>VCARD</ValEnum><PropName>END</PropName><ValEnum>VCARD</ValEnum><PropName>VERSION</PropName><ValEnum>3.0</ValEnum><PropName>REV</PropName><PropName>N</PropName><PropName>ADR</PropName><ParamName>HOME</ParamName><ParamName>WORK</ParamName><PropName>TEL</PropName><ParamName>HOME</ParamName><ParamName>WORK</ParamName><ParamName>CELL</ParamName><ParamName>PAGER</ParamName><ParamName>FAX</ParamName><ParamName>VIDEO</ParamName><PropName>FN</PropName><PropName>EMAIL</PropName><ParamName>INTERNET</ParamName><ParamName>HOME</ParamName><ParamName>WORK</ParamName><PropName>URL</PropName><ParamName>HOME</ParamName><ParamName>WORK</ParamName><PropName>NOTE</PropName><PropName>TITLE</PropName><PropName>ORG</PropName><PropName>PHOTO</PropName><PropName>BDAY</PropName><PropName>SOUND</PropName><ParamName>X-IRMC-N</ParamName></CTCap></DevInf></Data></Item></Put><Get><CmdID>5</CmdID><Meta><Type xmlns=\"syncml:metinf\">application/vnd.syncml-devinf+xml</Type></Meta><Item><Target><LocURI>./devinf11</LocURI></Target></Item></Get><Final></Final></SyncBody></SyncML>"; - SmlTransportData *data = smlTransportDataNew(datastr, strlen(datastr), SML_MIMETYPE_XML, FALSE, &error); + SmlTransportData *data = smlTransportDataNew((char *)datastr, strlen(datastr), SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, NULL); Modified: trunk/tests/check_ds.c ============================================================================== --- trunk/tests/check_ds.c Fri Apr 3 15:50:32 2009 (r1028) +++ trunk/tests/check_ds.c Fri Apr 3 17:12:26 2009 (r1029) @@ -71,6 +71,7 @@ gboolean _session_prepare(GSource *source, gint *timeout_) { + smlTrace(TRACE_INTERNAL, "%s(%p, %p)", __func__, source, timeout_); *timeout_ = 1; return FALSE; } @@ -83,6 +84,7 @@ gboolean _session_dispatch(GSource *source, GSourceFunc callback, gpointer user_data) { + smlTrace(TRACE_INTERNAL, "%s(%p, %p)", __func__, source, callback); SmlSession *session = user_data; while (smlSessionCheck(session)) @@ -92,6 +94,7 @@ } gboolean _data_prepare(GSource *source, gint *timeout_) { + smlTrace(TRACE_INTERNAL, "%s(%p, %p)", __func__, source, timeout_); *timeout_ = 1; return FALSE; } @@ -110,6 +113,7 @@ gboolean _data_dispatch(GSource *source, GSourceFunc callback, gpointer user_data) { + smlTrace(TRACE_INTERNAL, "%s(%p, %p)", __func__, source, callback); SmlSessionThread *check = user_data; SmlError *error = NULL; smlAssert(check != NULL); @@ -253,7 +257,7 @@ static void _recv_sync(SmlDsSession *dsession, unsigned int numChanges, void *userdata) { - smlTrace(TRACE_ENTRY, "%s()", __func__); + smlTrace(TRACE_ENTRY, "%s(%p, %d, %p)", __func__,dsession, numChanges, userdata); g_atomic_int_add(&syncs_received, 1); @@ -292,7 +296,7 @@ static void _alert_reply(SmlSession *dsession, SmlStatus *status, void *userdata) { - smlTrace(TRACE_ENTRY, "%s()", __func__); + smlTrace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, dsession, status, userdata); sml_fail_unless(status != NULL, NULL); @@ -309,7 +313,7 @@ static void _sync_reply(SmlSession *dsession, SmlStatus *status, void *userdata) { - smlTrace(TRACE_ENTRY, "%s()", __func__); + smlTrace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, dsession, status, userdata); sml_fail_unless(status != NULL, NULL); @@ -375,7 +379,7 @@ static void _map_reply(SmlSession *dsession, SmlStatus *status, void *userdata) { - smlTrace(TRACE_ENTRY, "%s()", __func__); + smlTrace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, dsession, status, userdata); sml_fail_unless(status != NULL, NULL); sml_fail_unless(smlStatusGetClass(status) == SML_ERRORCLASS_SUCCESS, NULL); @@ -419,7 +423,7 @@ static void _event_callback(SmlSession *session, SmlSessionEventType type, SmlCommand *command, SmlCommand *parent, SmlStatus *reply, SmlError *error, void *userdata) { - smlTrace(TRACE_ENTRY, "%s()", __func__); + smlTrace(TRACE_ENTRY, "%s(%p, %p)", __func__, parent, reply); _server_corr *corr = userdata; Modified: trunk/tests/check_http.c ============================================================================== --- trunk/tests/check_http.c Fri Apr 3 15:50:32 2009 (r1028) +++ trunk/tests/check_http.c Fri Apr 3 17:12:26 2009 (r1029) @@ -147,9 +147,9 @@ } END_TEST -SmlBool _recv_client_event(SmlTransport *tsp, SmlLink *link, SmlTransportEventType type, SmlTransportData *data, SmlError *error, void *userdata) +SmlBool _recv_client_event(SmlTransport *tsp, SmlLink *link_, SmlTransportEventType type, SmlTransportData *data, SmlError *error, void *userdata) { - smlTrace(TRACE_ENTRY, "%s(%d)", __func__, type); + smlTrace(TRACE_ENTRY, "%s(%p, %p, %d)", __func__, tsp, link_, type); sml_fail_unless(GPOINTER_TO_INT(userdata) == 1, NULL); @@ -179,22 +179,22 @@ return TRUE; } -SmlBool _recv_server_event(SmlTransport *tsp, SmlLink *link, SmlTransportEventType type, SmlTransportData *data, SmlError *error, void *userdata) +SmlBool _recv_server_event(SmlTransport *tsp, SmlLink *link_, SmlTransportEventType type, SmlTransportData *data, SmlError *error, void *userdata) { - smlTrace(TRACE_ENTRY, "%s(%p, %d)", __func__, link, type); + smlTrace(TRACE_ENTRY, "%s(%p, %d, %p)", __func__, link_, type, error); SmlError *locerror = NULL; SmlLink *last = NULL; switch (type) { case SML_TRANSPORT_EVENT_CONNECT_DONE: g_atomic_int_inc(&server_connects); - links = g_list_append(links, link); - smlLinkRef(link); + links = g_list_append(links, link_); + smlLinkRef(link_); break; case SML_TRANSPORT_EVENT_DISCONNECT_DONE: /* only real connections must be managed */ last = g_list_nth_data(links, g_list_length(links)-1); - sml_fail_unless(last == link, "The disconnected links do not match."); + sml_fail_unless(last == link_, "The disconnected links do not match."); links = g_list_remove(links, last); smlLinkDeref(last); g_atomic_int_inc(&server_disconnects); @@ -205,34 +205,34 @@ if (!strcmp(data->data, "test")) { sml_fail_unless(data->size == 5, NULL); sml_fail_unless(data->type == SML_MIMETYPE_XML, NULL); - sml_fail_unless(link != NULL, NULL); + sml_fail_unless(link_ != NULL, NULL); if (GPOINTER_TO_INT(userdata) == 1) { - data = smlTransportDataNew("answer", 7, SML_MIMETYPE_WBXML, FALSE, &locerror); + data = smlTransportDataNew((char *)"answer", 7, SML_MIMETYPE_WBXML, FALSE, &locerror); sml_fail_unless(data != NULL, NULL); sml_fail_unless(locerror == NULL, "%s", smlErrorPrint(&locerror)); - sml_fail_unless(smlTransportSend(tsp, link, data, &locerror), "%s", smlErrorPrint(&locerror)); + sml_fail_unless(smlTransportSend(tsp, link_, data, &locerror), "%s", smlErrorPrint(&locerror)); smlTransportDataDeref(data); } else if (GPOINTER_TO_INT(userdata) == 2) { SmlError *newerror = NULL; smlErrorSet(&newerror, SML_ERROR_GENERIC, "test"); - smlTransportSetError(tsp, link, &newerror); + smlTransportSetError(tsp, link_, &newerror); smlErrorDeref(&newerror); } else if (GPOINTER_TO_INT(userdata) == 3) { - sml_fail_unless(smlTransportDisconnect(tsp, link, &locerror), "%s", smlErrorPrint(&locerror)); + sml_fail_unless(smlTransportDisconnect(tsp, link_, &locerror), "%s", smlErrorPrint(&locerror)); } else { sml_fail_unless(FALSE, "Some unexpected userdata %i was detected.", GPOINTER_TO_INT(userdata)); } } else if (!strcmp(data->data, "error")) { sml_fail_unless(data->size == 6, NULL); sml_fail_unless(data->type == SML_MIMETYPE_XML, NULL); - sml_fail_unless(link != NULL, NULL); + sml_fail_unless(link_ != NULL, NULL); SmlError *newerror = NULL; smlErrorSet(&newerror, SML_ERROR_GENERIC, "test2"); - smlTransportSetError(tsp, link, &newerror); + smlTransportSetError(tsp, link_, &newerror); smlErrorDeref(&newerror); } else { sml_fail_unless(FALSE, "The received data was not expected (%s).", data->data); @@ -360,7 +360,7 @@ sml_fail_unless(smlTransportInitialize(client, &error), "%s", smlErrorPrint(&error)); sml_fail_unless(smlTransportInitialize(server, &error), "%s", smlErrorPrint(&error)); - SmlTransportData *data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + SmlTransportData *data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, NULL); @@ -409,7 +409,7 @@ sml_fail_unless(smlTransportInitialize(client, &error), "%s", smlErrorPrint(&error)); sml_fail_unless(smlTransportInitialize(server, &error), "%s", smlErrorPrint(&error)); - SmlTransportData *data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + SmlTransportData *data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, NULL); @@ -459,7 +459,7 @@ sml_fail_unless(smlTransportInitialize(client, &error), "%s", smlErrorPrint(&error)); sml_fail_unless(smlTransportInitialize(server, &error), "%s", smlErrorPrint(&error)); - SmlTransportData *data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + SmlTransportData *data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, NULL); @@ -517,7 +517,7 @@ int i; for (i = 0; i < 20; i++) { - data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, NULL); @@ -580,7 +580,7 @@ sml_fail_unless(smlTransportInitialize(client, &error), "%s", smlErrorPrint(&error)); - SmlTransportData *data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + SmlTransportData *data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, NULL); @@ -620,7 +620,7 @@ sml_fail_unless(smlTransportInitialize(client, &error), "%s", smlErrorPrint(&error)); sml_fail_unless(smlTransportInitialize(server, &error), "%s", smlErrorPrint(&error)); - SmlTransportData *data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + SmlTransportData *data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, NULL); @@ -679,21 +679,21 @@ sml_fail_unless(smlTransportInitialize(client3, &error), "%s", smlErrorPrint(&error)); sml_fail_unless(smlTransportInitialize(server, &error), "%s", smlErrorPrint(&error)); - SmlTransportData *data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + SmlTransportData *data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, NULL); sml_fail_unless(smlTransportSend(client1, NULL, data, &error), NULL); sml_fail_unless(error == NULL, NULL); smlTransportDataDeref(data); - data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, NULL); sml_fail_unless(smlTransportSend(client2, NULL, data, &error), NULL); sml_fail_unless(error == NULL, NULL); smlTransportDataDeref(data); - data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, NULL); sml_fail_unless(smlTransportSend(client3, NULL, data, &error), NULL); @@ -771,14 +771,14 @@ sml_fail_unless(smlTransportInitialize(client3, &error), "%s", smlErrorPrint(&error)); sml_fail_unless(smlTransportInitialize(server, &error), "%s", smlErrorPrint(&error)); - SmlTransportData *data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + SmlTransportData *data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, NULL); sml_fail_unless(smlTransportSend(client1, NULL, data, &error), NULL); sml_fail_unless(error == NULL, NULL); smlTransportDataDeref(data); - data = smlTransportDataNew("error", 6, SML_MIMETYPE_XML, FALSE, &error); + data = smlTransportDataNew((char *)"error", 6, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, NULL); sml_fail_unless(smlTransportSend(client2, NULL, data, &error), NULL); @@ -786,7 +786,7 @@ smlTransportDataDeref(data); - data = smlTransportDataNew("error", 6, SML_MIMETYPE_XML, FALSE, &error); + data = smlTransportDataNew((char *)"error", 6, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, NULL); sml_fail_unless(smlTransportSend(client3, NULL, data, &error), NULL); @@ -868,21 +868,21 @@ int i; for (i = 0; i < num; i++) { - data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, NULL); sml_fail_unless(smlTransportSend(client1, NULL, data, &error), NULL); sml_fail_unless(error == NULL, NULL); smlTransportDataDeref(data); - data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, NULL); sml_fail_unless(smlTransportSend(client2, NULL, data, &error), NULL); sml_fail_unless(error == NULL, NULL); smlTransportDataDeref(data); - data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, NULL); sml_fail_unless(smlTransportSend(client3, NULL, data, &error), NULL); Modified: trunk/tests/check_libsoup.c ============================================================================== --- trunk/tests/check_libsoup.c Fri Apr 3 15:50:32 2009 (r1028) +++ trunk/tests/check_libsoup.c Fri Apr 3 17:12:26 2009 (r1029) @@ -62,7 +62,7 @@ void transport_dummy_callback(void *message, void *userdata) { /* this function should never be called */ - smlTrace(TRACE_ERROR, "%s", __func__); + smlTrace(TRACE_ERROR, "%s(%p, %p)", __func__, message, userdata); g_atomic_int_inc(&server_errors); } @@ -81,7 +81,7 @@ gpointer data) #endif { - smlTrace(TRACE_ENTRY, "%s(%p)", __func__, msg); + smlTrace(TRACE_ENTRY, "%s(%p, %p, %s, %p, %p, %p)", __func__, server, msg, path, query, client, data); smlAssert(msg); #ifdef HAVE_LIBSOUP22 const char *content = msg->request.body; @@ -122,7 +122,7 @@ gpointer userdata) #endif { - smlTrace(TRACE_ENTRY, "%s(%p)", __func__, msg); + smlTrace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, session, msg, userdata); g_atomic_int_inc(&client_messages); smlTrace(TRACE_EXIT, "%s", __func__); } @@ -209,7 +209,7 @@ SmlBool _recv_event( SmlTransport *tsp, - SmlLink *link, + SmlLink *link_, SmlTransportEventType type, SmlTransportData *data, SmlError *error, @@ -240,8 +240,8 @@ sml_fail_unless(data->type == SML_MIMETYPE_XML, NULL); g_atomic_int_inc(&client_messages); } else { - if (link) { - server_link = link; + if (link_) { + server_link = link_; smlLinkRef(server_link); } @@ -250,9 +250,8 @@ sml_fail_unless(data->type == SML_MIMETYPE_XML, NULL); g_atomic_int_inc(&server_messages); - SmlTransportData *data; data = smlTransportDataNew( - "answer", 6, + (char *)"answer", 6, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); @@ -294,7 +293,7 @@ /* send test message */ - SmlTransportData *data = smlTransportDataNew("test", 4, SML_MIMETYPE_XML, FALSE, &error); + SmlTransportData *data = smlTransportDataNew((char *)"test", 4, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, NULL); @@ -342,7 +341,7 @@ SmlBool init_soup_session(gpointer data, SmlError **error) { - smlTrace(TRACE_ENTRY, "%s", __func__); + smlTrace(TRACE_ENTRY, "%s(%p, %p)", __func__, data, error); sml_fail_unless(data != NULL, NULL); SoupMessage *msg = data; client_session = soup_session_async_new_with_options( @@ -356,7 +355,7 @@ SmlBool cleanup_soup_session(gpointer data, SmlError **error) { - smlTrace(TRACE_ENTRY, "%s", __func__); + smlTrace(TRACE_ENTRY, "%s(%p, %p)", __func__, data, error); smlTrace(TRACE_INTERNAL, "%s: aborting session", __func__); soup_session_abort(client_session); @@ -448,7 +447,6 @@ { smlTrace(TRACE_ENTRY, "%s", __func__); init_testbed(); - SmlError *error = NULL; init_server(13002); run_transport_client("http://127.0.0.1:13002"); @@ -465,11 +463,11 @@ /* init server transport */ - SmlTransport *server = smlTransportNew(SML_TRANSPORT_HTTP_SERVER, &error); - sml_fail_unless(server != NULL, "%s", smlErrorPrint(&error)); - sml_fail_unless(smlTransportSetConfigOption(server, "PORT", "13003", &error), NULL); - smlTransportSetEventCallback(server, _recv_event, GINT_TO_POINTER(2)); - sml_fail_unless(smlTransportInitialize(server, &error), "%s", smlErrorPrint(&error)); + SmlTransport *serverTsp = smlTransportNew(SML_TRANSPORT_HTTP_SERVER, &error); + sml_fail_unless(serverTsp != NULL, "%s", smlErrorPrint(&error)); + sml_fail_unless(smlTransportSetConfigOption(serverTsp, "PORT", "13003", &error), NULL); + smlTransportSetEventCallback(serverTsp, _recv_event, GINT_TO_POINTER(2)); + sml_fail_unless(smlTransportInitialize(serverTsp, &error), "%s", smlErrorPrint(&error)); /* client stuff */ @@ -477,7 +475,7 @@ /* cleanup server transport */ - sml_fail_unless(smlTransportDisconnect(server, server_link, &error), NULL); + sml_fail_unless(smlTransportDisconnect(serverTsp, server_link, &error), NULL); smlLinkDeref(server_link); int64_t sleep_max = 5000000000LL; int64_t sleep_interval = 50000000; @@ -489,8 +487,8 @@ } sml_fail_unless(server_errors == 0, NULL); sml_fail_unless(sleep_total < sleep_max, "server disconnect timed out"); - sml_fail_unless(smlTransportFinalize(server, &error), NULL); - smlTransportFree(server); + sml_fail_unless(smlTransportFinalize(serverTsp, &error), NULL); + smlTransportFree(serverTsp); } END_TEST Modified: trunk/tests/check_manager.c ============================================================================== --- trunk/tests/check_manager.c Fri Apr 3 15:50:32 2009 (r1028) +++ trunk/tests/check_manager.c Fri Apr 3 17:12:26 2009 (r1029) @@ -202,8 +202,8 @@ sml_fail_unless(smlManagerStart(servermanager, &error), NULL); sml_fail_unless(error == NULL, NULL); - char *datastr = "<SyncML></SyncML>"; - SmlTransportData *data = smlTransportDataNew(datastr, strlen(datastr), SML_MIMETYPE_XML, FALSE, &error); + const char *datastr = "<SyncML></SyncML>"; + SmlTransportData *data = smlTransportDataNew((char *)datastr, strlen(datastr), SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, NULL); @@ -278,8 +278,8 @@ sml_fail_unless(smlManagerStart(servermanager, &error), NULL); sml_fail_unless(error == NULL, NULL); - char *datastr = "<SyncML><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>test</LocURI></Target><Source><LocURI>test</LocURI></Source></SyncHdr><SyncBody><Alert><CmdID>1</CmdID><Item><Target><LocURI>/test</LocURI></Target><Source><LocURI>/test</LocURI></Source><Meta><Anchor xmlns=\"syncml:metinf\"><Next>Next</Next><Last>last</Last></Anchor></Meta></Item><Data>200</Data></Alert><Final></Final></SyncBody></SyncML>"; - SmlTransportData *data = smlTransportDataNew(datastr, strlen(datastr), SML_MIMETYPE_XML, FALSE, &error); + const char *datastr = "<SyncML><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>test</LocURI></Target><Source><LocURI>test</LocURI></Source></SyncHdr><SyncBody><Alert><CmdID>1</CmdID><Item><Target><LocURI>/test</LocURI></Target><Source><LocURI>/test</LocURI></Source><Meta><Anchor xmlns=\"syncml:metinf\"><Next>Next</Next><Last>last</Last></Anchor></Meta></Item><Data>200</Data></Alert><Final></Final></SyncBody></SyncML>"; + SmlTransportData *data = smlTransportDataNew((char *)datastr, strlen(datastr), SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, NULL); @@ -363,8 +363,8 @@ /* the client send its data to the server */ - char *datastr = "<SyncML><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>test</LocURI></Target><Source><LocURI>test</LocURI></Source></SyncHdr><SyncBody><Alert><CmdID>1</CmdID><Item><Target><LocURI>/test</LocURI></Target><Source><LocURI>/test</LocURI></Source><Meta><Anchor xmlns=\"syncml:metinf\"><Next>test1</Next><Last>test2</Last></Anchor></Meta></Item><Data>200</Data></Alert><Final></Final></SyncBody></SyncML>"; - SmlTransportData *data = smlTransportDataNew(datastr, strlen(datastr), SML_MIMETYPE_XML, FALSE, &error); + const char *datastr = "<SyncML><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>test</LocURI></Target><Source><LocURI>test</LocURI></Source></SyncHdr><SyncBody><Alert><CmdID>1</CmdID><Item><Target><LocURI>/test</LocURI></Target><Source><LocURI>/test</LocURI></Source><Meta><Anchor xmlns=\"syncml:metinf\"><Next>test1</Next><Last>test2</Last></Anchor></Meta></Item><Data>200</Data></Alert><Final></Final></SyncBody></SyncML>"; + SmlTransportData *data = smlTransportDataNew((char *)datastr, strlen(datastr), SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, NULL); Modified: trunk/tests/check_md5.c ============================================================================== --- trunk/tests/check_md5.c Fri Apr 3 15:50:32 2009 (r1028) +++ trunk/tests/check_md5.c Fri Apr 3 17:12:26 2009 (r1029) @@ -23,7 +23,7 @@ START_TEST (check_md5_1) { - char *data = ""; + const char *data = ""; unsigned char digest[16]; SmlError *error = NULL; @@ -37,7 +37,7 @@ START_TEST (check_md5_2) { - char *data = "a"; + const char *data = "a"; unsigned char digest[16]; SmlError *error = NULL; @@ -51,7 +51,7 @@ START_TEST (check_md5_3) { - char *data = "abc"; + const char *data = "abc"; unsigned char digest[16]; SmlError *error = NULL; @@ -65,7 +65,7 @@ START_TEST (check_md5_4) { - char *data = "message digest"; + const char *data = "message digest"; unsigned char digest[16]; SmlError *error = NULL; @@ -79,7 +79,7 @@ START_TEST (check_md5_5) { - char *data = "abcdefghijklmnopqrstuvwxyz"; + const char *data = "abcdefghijklmnopqrstuvwxyz"; unsigned char digest[16]; SmlError *error = NULL; @@ -93,7 +93,7 @@ START_TEST (check_md5_6) { - char *data = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + const char *data = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; unsigned char digest[16]; SmlError *error = NULL; @@ -107,7 +107,7 @@ START_TEST (check_md5_7) { - char *data = "12345678901234567890123456789012345678901234567890123456789012345678901234567890"; + const char *data = "12345678901234567890123456789012345678901234567890123456789012345678901234567890"; unsigned char digest[16]; SmlError *error = NULL; Modified: trunk/tests/check_obex.c ============================================================================== --- trunk/tests/check_obex.c Fri Apr 3 15:50:32 2009 (r1028) +++ trunk/tests/check_obex.c Fri Apr 3 17:12:26 2009 (r1029) @@ -104,9 +104,9 @@ int client_receives = 0; int client_errors = 0; -SmlBool _recv_client_event(SmlTransport *tsp, SmlLink *link, SmlTransportEventType type, SmlTransportData *data, SmlError *error, void *userdata) +SmlBool _recv_client_event(SmlTransport *tsp, SmlLink *link_, SmlTransportEventType type, SmlTransportData *data, SmlError *error, void *userdata) { - smlTrace(TRACE_ENTRY, "%s(%d)", __func__, type); + smlTrace(TRACE_ENTRY, "%s(%p, %p, %d)", __func__, tsp, link_, type); sml_fail_unless(GPOINTER_TO_INT(userdata) == 1, NULL); @@ -140,7 +140,7 @@ int server_disconnect_done = 0; int server_receives = 0; -SmlBool _recv_server_event(SmlTransport *tsp, SmlLink *link, SmlTransportEventType type, SmlTransportData *data, SmlError *error, void *userdata) +SmlBool _recv_server_event(SmlTransport *tsp, SmlLink *link_, SmlTransportEventType type, SmlTransportData *data, SmlError *error, void *userdata) { smlTrace(TRACE_ENTRY, "%s(%d, %p)", __func__, type, error); @@ -151,34 +151,34 @@ if (!strcmp(data->data, "test")) { sml_fail_unless(data->size == 5, NULL); sml_fail_unless(data->type == SML_MIMETYPE_XML, NULL); - sml_fail_unless(link != NULL, NULL); + sml_fail_unless(link_ != NULL, NULL); if (GPOINTER_TO_INT(userdata) == 1) { - data = smlTransportDataNew("answer", 7, SML_MIMETYPE_XML, FALSE, &error); + data = smlTransportDataNew((char *)"answer", 7, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, "%s", smlErrorPrint(&error)); - sml_fail_unless(smlTransportSend(tsp, link, data, &error), "%s", smlErrorPrint(&error)); + sml_fail_unless(smlTransportSend(tsp, link_, data, &error), "%s", smlErrorPrint(&error)); smlTransportDataDeref(data); } else if (GPOINTER_TO_INT(userdata) == 2) { SmlError *newerror = NULL; smlErrorSet(&newerror, SML_ERROR_GENERIC, "test"); - smlTransportSetError(tsp, link, &newerror); + smlTransportSetError(tsp, link_, &newerror); smlErrorDeref(&newerror); } else if (GPOINTER_TO_INT(userdata) == 3) { - sml_fail_unless(smlTransportDisconnect(tsp, link, &error), NULL); + sml_fail_unless(smlTransportDisconnect(tsp, link_, &error), NULL); } else { sml_fail_unless(FALSE, "The userdata %d was not expected.", GPOINTER_TO_INT(userdata)); } } else if (!strcmp(data->data, "error")) { sml_fail_unless(data->size == 6, NULL); sml_fail_unless(data->type == SML_MIMETYPE_XML, NULL); - sml_fail_unless(link != NULL, NULL); + sml_fail_unless(link_ != NULL, NULL); SmlError *newerror = NULL; smlErrorSet(&newerror, SML_ERROR_GENERIC, "test2"); - smlTransportSetError(tsp, link, &newerror); + smlTransportSetError(tsp, link_, &newerror); smlErrorDeref(&newerror); } else { sml_fail_unless(FALSE, "The received data was not expected (%s).", data->data); @@ -324,7 +324,7 @@ while (client_connect_done < 1 || server_connect_done < 1) { usleep(50); }; - SmlTransportData *data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + SmlTransportData *data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, "%s", smlErrorPrint(&error)); @@ -402,7 +402,7 @@ while (client_connect_done < 1 || server_connect_done < 1) { usleep(50); }; - SmlTransportData *data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + SmlTransportData *data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, "%s", smlErrorPrint(&error)); @@ -465,7 +465,7 @@ int i; for (i = 0; i < num; i++) { - data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, "%s", smlErrorPrint(&error)); @@ -545,21 +545,21 @@ while (client_connect_done < 3 || server_connect_done < 3) { usleep(50); }; - SmlTransportData *data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + SmlTransportData *data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, "%s", smlErrorPrint(&error)); sml_fail_unless(smlTransportSend(client1, NULL, data, &error), "%s", smlErrorPrint(&error)); sml_fail_unless(error == NULL, "%s", smlErrorPrint(&error)); smlTransportDataDeref(data); - data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, "%s", smlErrorPrint(&error)); sml_fail_unless(smlTransportSend(client2, NULL, data, &error), "%s", smlErrorPrint(&error)); sml_fail_unless(error == NULL, "%s", smlErrorPrint(&error)); smlTransportDataDeref(data); - data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, "%s", smlErrorPrint(&error)); sml_fail_unless(smlTransportSend(client3, NULL, data, &error), "%s", smlErrorPrint(&error)); @@ -647,21 +647,21 @@ int i; for (i = 0; i < num; i++) { - data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, "%s", smlErrorPrint(&error)); sml_fail_unless(smlTransportSend(client1, NULL, data, &error), "%s", smlErrorPrint(&error)); sml_fail_unless(error == NULL, "%s", smlErrorPrint(&error)); smlTransportDataDeref(data); - data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, "%s", smlErrorPrint(&error)); sml_fail_unless(smlTransportSend(client2, NULL, data, &error), "%s", smlErrorPrint(&error)); sml_fail_unless(error == NULL, "%s", smlErrorPrint(&error)); smlTransportDataDeref(data); - data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, "%s", smlErrorPrint(&error)); sml_fail_unless(smlTransportSend(client3, NULL, data, &error), "%s", smlErrorPrint(&error)); @@ -835,21 +835,21 @@ while (client_connect_done < 3 || server_connect_done < 3) { usleep(50); }; - SmlTransportData *data = smlTransportDataNew("test", 5, SML_MIMETYPE_XML, FALSE, &error); + SmlTransportData *data = smlTransportDataNew((char *)"test", 5, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, "%s", smlErrorPrint(&error)); sml_fail_unless(smlTransportSend(client1, NULL, data, &error), "%s", smlErrorPrint(&error)); sml_fail_unless(error == NULL, "%s", smlErrorPrint(&error)); smlTransportDataDeref(data); - data = smlTransportDataNew("error", 6, SML_MIMETYPE_XML, FALSE, &error); + data = smlTransportDataNew((char *)"error", 6, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, "%s", smlErrorPrint(&error)); sml_fail_unless(smlTransportSend(client2, NULL, data, &error), "%s", smlErrorPrint(&error)); sml_fail_unless(error == NULL, "%s", smlErrorPrint(&error)); smlTransportDataDeref(data); - data = smlTransportDataNew("error", 6, SML_MIMETYPE_XML, FALSE, &error); + data = smlTransportDataNew((char *)"error", 6, SML_MIMETYPE_XML, FALSE, &error); sml_fail_unless(data != NULL, NULL); sml_fail_unless(error == NULL, "%s", smlErrorPrint(&error)); sml_fail_unless(smlTransportSend(client3, NULL, data, &error), "%s", smlErrorPrint(&error)); Modified: trunk/tests/check_session.c ============================================================================== --- trunk/tests/check_session.c Fri Apr 3 15:50:32 2009 (r1028) +++ trunk/tests/check_session.c Fri Apr 3 17:12:26 2009 (r1029) @@ -109,6 +109,7 @@ gboolean _session_prepare(GSource *source, gint *timeout_) { + smlTrace(TRACE_INTERNAL, "%s(%p, %p)", __func__, source, timeout_); *timeout_ = 1; return FALSE; } @@ -121,6 +122,7 @@ gboolean _session_dispatch(GSource *source, GSourceFunc callback, gpointer user_data) { + smlTrace(TRACE_INTERNAL, "%s(%p, %p, %p)", __func__, source, callback, user_data); SmlSession *session = user_data; while (smlSessionCheck(session)) @@ -130,6 +132,7 @@ } gboolean _data_prepare(GSource *source, gint *timeout_) { + smlTrace(TRACE_INTERNAL, "%s(%p, %p)", __func__, source, timeout_); *timeout_ = 1; return FALSE; } @@ -148,6 +151,7 @@ gboolean _data_dispatch(GSource *source, GSourceFunc callback, gpointer user_data) { + smlTrace(TRACE_INTERNAL, "%s(%p. %p, %p)", __func__, source, callback, user_data); SmlSessionThread *check = user_data; SmlError *error = NULL; smlAssert(check != NULL); @@ -285,9 +289,6 @@ SmlManager* _start_manager() { - unsigned int defaultMaxMsgSize = 10240; - unsigned int defaultMaxObjSize = 1024000; - SmlError *error = NULL; _tsp = smlTransportNew(SML_TRANSPORT_HTTP_SERVER, &error); sml_fail_unless(_tsp != NULL, "%s", smlErrorPrint(&error)); @@ -360,7 +361,7 @@ static void _event_callback(SmlSession *session, SmlSessionEventType type, SmlCommand *command, SmlCommand *parent, SmlStatus *reply, SmlError *error, void *userdata) { - smlTrace(TRACE_ENTRY, "%s - %d", __func__, type); + smlTrace(TRACE_ENTRY, "%s: %d (%p)", __func__, type, parent); smlAssert(GPOINTER_TO_INT(userdata) <= 5); SmlError *locerror = NULL; @@ -617,7 +618,7 @@ sml_fail_unless(loc != NULL, NULL); sml_fail_unless(error == NULL, NULL); - char *input = "<SyncML xmlns=\"SYNCML:SYNCML1.2\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.2</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>/test</LocURI></Target><Source><LocURI>/test</LocURI></Source></SyncHdr><SyncBody><Alert><CmdID>1</CmdID><Item><Target><LocURI>/test</LocURI></Target><Source><LocURI>/test</LocURI></Source><Meta><Anchor xmlns=\"syncml:metinf\"><Next>last</Next><Last>next</Last></Anchor></Meta></Item><Data>200</Data></Alert><Final></Final></SyncBody></SyncML>"; + const char *input = "<SyncML xmlns=\"SYNCML:SYNCML1.2\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.2</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>/test</LocURI></Target><Source><LocURI>/test</LocURI></Source></SyncHdr><SyncBody><Alert><CmdID>1</CmdID><Item><Target><LocURI>/test</LocURI></Target><Source><LocURI>/test</LocURI></Source><Meta><Anchor xmlns=\"syncml:metinf\"><Next>last</Next><Last>next</Last></Anchor></Meta></Item><Data>200</Data></Alert><Final></Final></SyncBody></SyncML>"; SmlParser *parser = smlParserNew(SML_MIMETYPE_XML, 0, &error); sml_fail_unless(parser != NULL, NULL); @@ -1382,7 +1383,7 @@ sml_fail_unless(loc != NULL, NULL); sml_fail_unless(error == NULL, NULL); - char *input = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><NumberOfChanges>1</NumberOfChanges><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type><Size>8</Size></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData></MoreData></Item></Add></Sync></SyncBody></SyncML>"; + const char *input = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><NumberOfChanges>1</NumberOfChanges><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type><Size>8</Size></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData></MoreData></Item></Add></Sync></SyncBody></SyncML>"; SmlParser *parser = smlParserNew(SML_MIMETYPE_XML, 0, &error); sml_fail_unless(parser != NULL, NULL); @@ -1423,7 +1424,7 @@ smlTransportDataDeref(to_session2); to_session2 = NULL; - char *input2 = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>2</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data></Item></Add></Sync><Final></Final></SyncBody></SyncML>"; + const char *input2 = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>2</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data></Item></Add></Sync><Final></Final></SyncBody></SyncML>"; parser = smlParserNew(SML_MIMETYPE_XML, 0, &error); sml_fail_unless(parser != NULL, NULL); @@ -1464,7 +1465,7 @@ sml_fail_unless(loc != NULL, NULL); sml_fail_unless(error == NULL, NULL); - char *input = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><NumberOfChanges>1</NumberOfChanges><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type><Size>20</Size></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData></MoreData></Item></Add></Sync></SyncBody></SyncML>"; + const char *input = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><NumberOfChanges>1</NumberOfChanges><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type><Size>20</Size></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData></MoreData></Item></Add></Sync></SyncBody></SyncML>"; SmlParser *parser = smlParserNew(SML_MIMETYPE_XML, 0, &error); sml_fail_unless(parser != NULL, NULL); @@ -1503,7 +1504,7 @@ smlTransportDataDeref(to_session2); to_session2 = NULL; - char *input2 = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>2</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData/></Item></Add></Sync></SyncBody></SyncML>"; + const char *input2 = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>2</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData/></Item></Add></Sync></SyncBody></SyncML>"; parser = smlParserNew(SML_MIMETYPE_XML, 0, &error); sml_fail_unless(parser != NULL, NULL); @@ -1655,7 +1656,7 @@ sml_fail_unless(loc != NULL, NULL); sml_fail_unless(error == NULL, NULL); - char *input = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><NumberOfChanges>1</NumberOfChanges><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type><Size>8</Size></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData></MoreData></Item></Add><Add><CmdID>3</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data></Item></Add></Sync></SyncBody></SyncML>"; + const char *input = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><NumberOfChanges>1</NumberOfChanges><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type><Size>8</Size></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData></MoreData></Item></Add><Add><CmdID>3</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data></Item></Add></Sync></SyncBody></SyncML>"; SmlParser *parser = smlParserNew(SML_MIMETYPE_XML, 0, &error); sml_fail_unless(parser != NULL, NULL); @@ -1704,7 +1705,7 @@ sml_fail_unless(loc != NULL, NULL); sml_fail_unless(error == NULL, NULL); - char *input = "<SyncML xmlns=\"SYNCML:SYNCML1.0\"><SyncHdr><VerProto>SyncML/1.0</VerProto><VerDTD>1.0</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><NumberOfChanges>1</NumberOfChanges><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type><Size>8</Size></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData></MoreData></Item></Add></Sync></SyncBody></SyncML>"; + const char *input = "<SyncML xmlns=\"SYNCML:SYNCML1.0\"><SyncHdr><VerProto>SyncML/1.0</VerProto><VerDTD>1.0</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><NumberOfChanges>1</NumberOfChanges><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type><Size>8</Size></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData></MoreData></Item></Add></Sync></SyncBody></SyncML>"; SmlParser *parser = smlParserNew(SML_MIMETYPE_XML, 0, &error); sml_fail_unless(parser != NULL, NULL); @@ -1800,7 +1801,7 @@ sml_fail_unless(loc != NULL, NULL); sml_fail_unless(error == NULL, NULL); - char *input = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><NumberOfChanges>1</NumberOfChanges><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type><Size>8</Size></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData></MoreData></Item></Add></Sync><Final/></SyncBody></SyncML>"; + const char *input = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><NumberOfChanges>1</NumberOfChanges><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type><Size>8</Size></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData></MoreData></Item></Add></Sync><Final/></SyncBody></SyncML>"; SmlParser *parser = smlParserNew(SML_MIMETYPE_XML, 0, &error); sml_fail_unless(parser != NULL, NULL); @@ -1860,7 +1861,7 @@ sml_fail_unless(loc != NULL, NULL); sml_fail_unless(error == NULL, NULL); - char *input = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><NumberOfChanges>1</NumberOfChanges><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData></MoreData></Item></Add></Sync></SyncBody></SyncML>"; + const char *input = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><NumberOfChanges>1</NumberOfChanges><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData></MoreData></Item></Add></Sync></SyncBody></SyncML>"; SmlParser *parser = smlParserNew(SML_MIMETYPE_XML, 0, &error); sml_fail_unless(parser != NULL, NULL); @@ -1914,7 +1915,7 @@ sml_fail_unless(loc != NULL, NULL); sml_fail_unless(error == NULL, NULL); - char *input = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><NumberOfChanges>1</NumberOfChanges><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type><Size>8</Size></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData></MoreData></Item></Add></Sync></SyncBody></SyncML>"; + const char *input = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><NumberOfChanges>1</NumberOfChanges><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type><Size>8</Size></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData></MoreData></Item></Add></Sync></SyncBody></SyncML>"; SmlParser *parser = smlParserNew(SML_MIMETYPE_XML, 0, &error); sml_fail_unless(parser != NULL, NULL); @@ -1955,7 +1956,7 @@ smlTransportDataDeref(to_session2); to_session2 = NULL; - char *input2 = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>2</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type><Size>8</Size></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data></Item></Add></Sync><Final></Final></SyncBody></SyncML>"; + const char *input2 = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>2</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type><Size>8</Size></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data></Item></Add></Sync><Final></Final></SyncBody></SyncML>"; parser = smlParserNew(SML_MIMETYPE_XML, 0, &error); sml_fail_unless(parser != NULL, NULL); @@ -1998,7 +1999,7 @@ sml_fail_unless(loc != NULL, NULL); sml_fail_unless(error == NULL, NULL); - char *input = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source></SyncHdr><SyncBody><Sync><CmdID>1</CmdID><Target><LocURI>/vcards</LocURI></Target><Source><LocURI>/vcards</LocURI></Source><NumberOfChanges>1</NumberOfChanges><Add><CmdID>2</CmdID><Meta><Type xmlns=\"syncml:metinf\">text/x-vcard</Type><Size>9</Size></Meta><Item><Source><LocURI>uid</LocURI></Source><Data><![CDATA[data]]></Data><MoreData></MoreData></Item></Add></Sync></SyncBody></SyncML>"; + const char *input = "<SyncML xmlns=\"SYNCML:SYNCML1.1\"><SyncHdr><VerProto>SyncML/1.1</VerProto><VerDTD>1.1</VerDTD><MsgID>1</MsgID><SessionID>1</SessionID><Target><LocURI>/vcards</LocURI></Target><Source>... [truncated message content] |
From: <svn...@op...> - 2009-04-03 14:24:52
|
Author: henrik Date: Fri Apr 3 16:24:48 2009 New Revision: 5523 URL: http://www.opensync.org/changeset/5523 Log: Correct casting for iconv on Windows/MinGW Modified: format-plugins/vformat/src/vformat.c Modified: format-plugins/vformat/src/vformat.c ============================================================================== --- format-plugins/vformat/src/vformat.c Fri Apr 3 11:42:43 2009 (r5522) +++ format-plugins/vformat/src/vformat.c Fri Apr 3 16:24:48 2009 (r5523) @@ -259,7 +259,7 @@ if (charset) { cd = iconv_open("UTF-8", charset->str); -#if defined(SOLARIS) || defined(__FreeBSD__) || defined(__NetBSD__) +#if defined(SOLARIS) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(_WIN32) if (iconv(cd, (const char**)&inbuf, &inbytesleft, &p, &outbytesleft) != (size_t)(-1)) { #else if (iconv(cd, &inbuf, &inbytesleft, &p, &outbytesleft) != (size_t)(-1)) { @@ -287,7 +287,7 @@ /* because inbuf is not UTF-8, we think it is ISO-8859-1 */ cd = iconv_open("UTF-8", "ISO-8859-1"); -#if defined(SOLARIS) || defined(__FreeBSD__) || defined(__NetBSD__) +#if defined(SOLARIS) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(_WIN32) if (iconv(cd, (const char**)&inbuf, &inbytesleft, &p, &outbytesleft) != (size_t)(-1)) { #else if (iconv(cd, &inbuf, &inbytesleft, &p, &outbytesleft) != (size_t)(-1)) { |
From: <svn...@op...> - 2009-04-03 13:50:43
|
Author: bellmich Date: Fri Apr 3 15:50:32 2009 New Revision: 1028 URL: http://libsyncml.opensync.org/changeset/1028 Log: reverted committed change from r1027 (the file should not be committed) Modified: trunk/tests/CMakeLists.txt Modified: trunk/tests/CMakeLists.txt ============================================================================== --- trunk/tests/CMakeLists.txt Fri Apr 3 15:48:53 2009 (r1027) +++ trunk/tests/CMakeLists.txt Fri Apr 3 15:50:32 2009 (r1028) @@ -71,4 +71,3 @@ ENDIF( ENABLE_UNIT_TEST ) -CONFIGURE_FILE("coverage.sh.cmake" "${CMAKE_CURRENT_BINARY_DIR}/coverage.sh") |
From: <svn...@op...> - 2009-04-03 13:48:57
|
Author: bellmich Date: Fri Apr 3 15:48:53 2009 New Revision: 1027 URL: http://libsyncml.opensync.org/changeset/1027 Log: added patch from Henrik to fix ticket #222 Modified: trunk/libsyncml/objects/sml_ds_server.c trunk/libsyncml/sml_support.c trunk/tests/CMakeLists.txt Modified: trunk/libsyncml/objects/sml_ds_server.c ============================================================================== --- trunk/libsyncml/objects/sml_ds_server.c Fri Apr 3 15:47:33 2009 (r1026) +++ trunk/libsyncml/objects/sml_ds_server.c Fri Apr 3 15:48:53 2009 (r1027) @@ -79,9 +79,9 @@ if (((ctx->type != SML_CHANGE_ADD || smlStatusGetClass(ctx->status) != SML_ERRORCLASS_SUCCESS) && !ctx->newuid) || dsession->server->servertype == SML_DS_CLIENT) { ctx->callback(dsession, ctx->status, NULL, ctx->userdata); - _write_context_free(ctx); - dsession->pendingMaps = g_list_remove(dsession->pendingMaps, ctx); + _write_context_free(ctx); + smlTrace(TRACE_EXIT, "%s", __func__); return; } @@ -93,9 +93,8 @@ ctx->callback(dsession, ctx->status, ctx->newuid, ctx->userdata); - _write_context_free(ctx); - dsession->pendingMaps = g_list_remove(dsession->pendingMaps, ctx); + _write_context_free(ctx); // Now there are no more MapItems ... do some fancy callback. Some applications will love it ;) if (dsession->recvEventCallback && !dsession->pendingMaps) { Modified: trunk/libsyncml/sml_support.c ============================================================================== --- trunk/libsyncml/sml_support.c Fri Apr 3 15:47:33 2009 (r1026) +++ trunk/libsyncml/sml_support.c Fri Apr 3 15:48:53 2009 (r1027) @@ -36,6 +36,7 @@ #include <libxml/parser.h> GPrivate* current_tabs = NULL; +GPrivate* thread_id = NULL; #define G_ERRORCHECK_MUTEXES @@ -135,9 +136,13 @@ pid_t pid; const char *endline; #ifdef _WIN32 +#ifdef PTW32_VERSION + id = (unsigned long int)pthread_self().p; +#else if (!thread_id) thread_id = g_private_new (NULL); id = GPOINTER_TO_INT(thread_id); +#endif pid = _getpid(); endline = "\r\n"; #else Modified: trunk/tests/CMakeLists.txt ============================================================================== --- trunk/tests/CMakeLists.txt Fri Apr 3 15:47:33 2009 (r1026) +++ trunk/tests/CMakeLists.txt Fri Apr 3 15:48:53 2009 (r1027) @@ -70,3 +70,5 @@ ENDIF ( ENABLE_BASE64_TEST ) ENDIF( ENABLE_UNIT_TEST ) + +CONFIGURE_FILE("coverage.sh.cmake" "${CMAKE_CURRENT_BINARY_DIR}/coverage.sh") |
From: <svn...@op...> - 2009-04-03 13:47:45
|
Author: bellmich Date: Fri Apr 3 15:47:33 2009 New Revision: 1026 URL: http://libsyncml.opensync.org/changeset/1026 Log: added support to check the runtime environment Modified: trunk/CMakeLists.txt trunk/config.h.cmake trunk/libsyncml/sml_support.c trunk/libsyncml/syncml.h Modified: trunk/CMakeLists.txt ============================================================================== --- trunk/CMakeLists.txt Thu Apr 2 17:10:21 2009 (r1025) +++ trunk/CMakeLists.txt Fri Apr 3 15:47:33 2009 (r1026) @@ -197,6 +197,7 @@ SET( PACKAGE_TARNAME "${PACKAGE_NAME}" ) SET( PACKAGE_STRING "${PACKAGE_NAME} ${LIBSYNCML_VERSION}" ) SET( PACKAGE_VERSION "${LIBSYNCML_VERSION}" ) +SET( PACKAGE_SONAME "${LIBSYNCML_LIBVERSION_VERSION}" ) SET( VERSION "${LIBSYNCML_VERSION}" ) CONFIGURE_FILE( "config.h.cmake" "${CMAKE_CURRENT_BINARY_DIR}/config.h") Modified: trunk/config.h.cmake ============================================================================== --- trunk/config.h.cmake Thu Apr 2 17:10:21 2009 (r1025) +++ trunk/config.h.cmake Fri Apr 3 15:47:33 2009 (r1026) @@ -84,6 +84,9 @@ /* Define to the version of this package. */ #cmakedefine PACKAGE_VERSION "${PACKAGE_VERSION}" +/* Define to the SONAME libversion of this package. */ +#cmakedefine PACKAGE_SONAME "${PACKAGE_SONAME}" + /* Define to 1 if you have the ANSI C header files. */ /* #undef STDC_HEADERS 1 */ Modified: trunk/libsyncml/sml_support.c ============================================================================== --- trunk/libsyncml/sml_support.c Thu Apr 2 17:10:21 2009 (r1025) +++ trunk/libsyncml/sml_support.c Fri Apr 3 15:47:33 2009 (r1026) @@ -632,4 +632,14 @@ smlSafeFree((gpointer *)address); } +const char *smlGetLibraryVersion() +{ + return PACKAGE_VERSION; +} + +const char *smlGetLibrarySoName() +{ + return PACKAGE_SONAME; +} + /*@}*/ Modified: trunk/libsyncml/syncml.h ============================================================================== --- trunk/libsyncml/syncml.h Thu Apr 2 17:10:21 2009 (r1025) +++ trunk/libsyncml/syncml.h Fri Apr 3 15:47:33 2009 (r1026) @@ -105,6 +105,9 @@ #include <libsyncml/sml_base64.h> #include <libsyncml/sml_md5.h> +const char *smlGetLibraryVersion(); +const char *smlGetLibrarySoName(); + #ifdef __cplusplus } #endif |
From: <svn...@op...> - 2009-04-03 09:42:57
|
Author: ianmartin Date: Fri Apr 3 11:42:43 2009 New Revision: 5522 URL: http://www.opensync.org/changeset/5522 Log: More tests ported to current API Ticket #981 Modified: trunk/tests/CMakeLists.txt trunk/tests/support.c trunk/tests/sync-tests/check_multisync.c Modified: trunk/tests/CMakeLists.txt ============================================================================== --- trunk/tests/CMakeLists.txt Fri Apr 3 10:06:40 2009 (r5521) +++ trunk/tests/CMakeLists.txt Fri Apr 3 11:42:43 2009 (r5522) @@ -301,6 +301,8 @@ OSYNC_TESTCASE( multisync multisync_conflict_hybrid_choose2) OSYNC_TESTCASE( multisync multisync_conflict_data_duplicate) OSYNC_TESTCASE( multisync multisync_conflict_data_duplicate2) +OSYNC_TESTCASE( multisync multisync_conflict_hybrid_duplicate) +OSYNC_TESTCASE( multisync multisync_multi_conflict) BUILD_CHECK_TEST( sync sync-tests/check_sync.c ${TEST_TARGET_LIBRARIES} ) OSYNC_TESTCASE( sync sync_setup_connect) Modified: trunk/tests/support.c ============================================================================== --- trunk/tests/support.c Fri Apr 3 10:06:40 2009 (r5521) +++ trunk/tests/support.c Fri Apr 3 11:42:43 2009 (r5522) @@ -255,17 +255,19 @@ for (i = 0; i < osync_mapping_table_num_mappings(maptable); i++) { OSyncMapping *mapping = osync_mapping_table_nth_mapping(maptable, i); OSyncMappingEntry *testentry = osync_mapping_find_entry_by_member_id(mapping, memberid); - if ((mappingid != -1 && osync_mapping_get_id(mapping) == mappingid) || (mappingid == -1 && !strcmp(osync_mapping_entry_get_uid(testentry), uid))) { - unsigned int n = 0; - fail_unless(osync_mapping_num_entries(mapping) == numentries); - for (n = 0; n < osync_mapping_num_entries(mapping); n++) { - OSyncMappingEntry *entry = osync_mapping_nth_entry(mapping, n); - if (osync_mapping_entry_get_member_id(entry) == memberid) { - fail_unless(!strcmp(osync_mapping_entry_get_uid(entry), uid), NULL); - goto out; + if (testentry) { + if ((mappingid != -1 && osync_mapping_get_id(mapping) == mappingid) || (mappingid == -1 && !strcmp(osync_mapping_entry_get_uid(testentry), uid))) { + unsigned int n = 0; + fail_unless(osync_mapping_num_entries(mapping) == numentries); + for (n = 0; n < osync_mapping_num_entries(mapping); n++) { + OSyncMappingEntry *entry = osync_mapping_nth_entry(mapping, n); + if (osync_mapping_entry_get_member_id(entry) == memberid) { + fail_unless(!strcmp(osync_mapping_entry_get_uid(entry), uid), NULL); + goto out; + } } + fail(NULL); } - fail(NULL); } } fail(NULL); @@ -508,7 +510,8 @@ osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, engine, mapping, user_data); num_mapping_conflicts++; - fail_unless(osync_mapping_engine_num_changes(mapping) == GPOINTER_TO_UINT(user_data), NULL); + if (user_data) + fail_unless(osync_mapping_engine_num_changes(mapping) == GPOINTER_TO_UINT(user_data), NULL); fail_unless(num_engine_end_conflicts == 0, NULL); change = osync_mapping_engine_member_change(mapping, 1); @@ -525,7 +528,8 @@ osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, engine, mapping, user_data); num_mapping_conflicts++; - fail_unless(osync_mapping_engine_num_changes(mapping) == GPOINTER_TO_UINT(user_data), NULL); + if (user_data) + fail_unless(osync_mapping_engine_num_changes(mapping) == GPOINTER_TO_UINT(user_data), NULL); fail_unless(num_engine_end_conflicts == 0, NULL); for (i = 0; i < osync_mapping_engine_num_changes(mapping); i++) { @@ -548,7 +552,8 @@ osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, engine, mapping, user_data); num_mapping_conflicts++; - fail_unless(osync_mapping_engine_num_changes(mapping) == GPOINTER_TO_UINT(user_data), NULL); + if (user_data) + fail_unless(osync_mapping_engine_num_changes(mapping) == GPOINTER_TO_UINT(user_data), NULL); fail_unless(num_engine_end_conflicts == 0, NULL); for (i = 0; i < osync_mapping_engine_num_changes(mapping); i++) { @@ -581,7 +586,8 @@ osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, engine, mapping, user_data); num_mapping_conflicts++; - fail_unless(osync_mapping_engine_num_changes(mapping) == GPOINTER_TO_UINT(user_data), NULL); + if (user_data) + fail_unless(osync_mapping_engine_num_changes(mapping) == GPOINTER_TO_UINT(user_data), NULL); fail_unless(num_engine_end_conflicts == 0, NULL); fail_unless(osync_engine_mapping_duplicate(engine, mapping, &error), NULL); @@ -594,7 +600,8 @@ OSyncError *error = NULL; osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, engine, mapping, user_data); - fail_unless(osync_mapping_engine_num_changes(mapping) == GPOINTER_TO_UINT(user_data), NULL); + if (user_data) + fail_unless(osync_mapping_engine_num_changes(mapping) == GPOINTER_TO_UINT(user_data), NULL); fail_unless(num_engine_end_conflicts == 0, NULL); fail_unless(osync_engine_abort(engine, &error), NULL); @@ -621,7 +628,8 @@ osync_trace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, engine, mapping, user_data); num_mapping_conflicts++; - fail_unless(osync_mapping_engine_num_changes(mapping) == GPOINTER_TO_UINT(user_data), NULL); + if (user_data) + fail_unless(osync_mapping_engine_num_changes(mapping) == GPOINTER_TO_UINT(user_data), NULL); fail_unless(num_engine_end_conflicts == 0, NULL); gengine = engine; g_thread_create ((GThreadFunc)solve_conflict, mapping, TRUE, NULL); Modified: trunk/tests/sync-tests/check_multisync.c ============================================================================== --- trunk/tests/sync-tests/check_multisync.c Fri Apr 3 10:06:40 2009 (r5521) +++ trunk/tests/sync-tests/check_multisync.c Fri Apr 3 11:42:43 2009 (r5522) @@ -3,9 +3,9 @@ #include "opensync/group/opensync_group_internals.h" #include "opensync/engine/opensync_engine_internals.h" -START_TEST (multisync_easy_new) + +void multisync_easy_new_inner(const char *testbed) { - char *testbed = setup_testbed("multisync_easy_new"); char *formatdir = g_strdup_printf("%s/formats", testbed); char *plugindir = g_strdup_printf("%s/plugins", testbed); @@ -104,7 +104,12 @@ g_free(formatdir); g_free(plugindir); +} +START_TEST (multisync_easy_new) +{ + char *testbed = setup_testbed("multisync_easy_new"); + multisync_easy_new_inner(testbed); destroy_testbed(testbed); } END_TEST @@ -710,9 +715,8 @@ /* Sync testdata from data1 to data2 and data3. * Then remove all testdata, should sync with 3 changes read * and no changes written */ -START_TEST (multisync_triple_del) +void multisync_triple_del_inner(const char *testbed) { - char *testbed = setup_testbed("multisync_easy_new"); OSyncError *error = NULL; OSyncEngine *engine = setup_engine(testbed); fail_unless(osync_engine_initialize(engine, &error), NULL); @@ -742,7 +746,12 @@ fail_unless(num_change_written == 0, NULL); check_empty(testbed); - +} + +START_TEST (multisync_triple_del) +{ + char *testbed = setup_testbed("multisync_easy_new"); + multisync_triple_del_inner(testbed); destroy_testbed(testbed); } END_TEST @@ -767,7 +776,11 @@ fail_unless(num_engine_read == 1, NULL); fail_unless(num_engine_written == 1, NULL); fail_unless(num_engine_disconnected == 1, NULL); - fail_unless(num_change_written == 1, NULL); + /* Currently opensync propgates the matching entry from member 1 to member 3 + so makes two writes, one to member 2 and one to member 3 + Ideally num_change_written == 1 but as this is only an optimisation step + it can be left for now */ + fail_unless(num_change_written == 2, NULL); fail_unless(num_change_read == 2, NULL); fail_unless(num_mapping_conflicts == 1, NULL); fail_unless(num_engine_end_conflicts == 1, NULL); @@ -823,7 +836,11 @@ fail_unless(num_engine_written == 1, NULL); fail_unless(num_engine_disconnected == 1, NULL); fail_unless(num_change_read == 3, NULL); - fail_unless(num_change_written == 1, "Num change written = '%u' not 1 or I have it wrong...\n", num_change_written); + /* Currently opensync propgates the matching entry from member 1 to member 3 + so makes two writes, one to member 2 and one to member 3 + Ideally num_change_written == 1 but as this is only an optimisation step + it can be left for now */ + fail_unless(num_change_written == 2, NULL); fail_unless(num_mapping_conflicts == 1, NULL); fail_unless(num_engine_end_conflicts == 1, NULL); @@ -1045,9 +1062,8 @@ * Remove data1/testdata and change the other 2 * deleted conflict handler should delete all */ -START_TEST (multisync_conflict_hybrid_choose2) +void multisync_conflict_hybrid_choose2_inner(const char *testbed) { - char *testbed = setup_testbed("multisync_conflict_changetype_choose"); OSyncError *error = NULL; OSyncEngine *engine = setup_engine(testbed); osync_engine_set_conflict_callback(engine, conflict_handler_choose_deleted, GINT_TO_POINTER(3)); @@ -1080,7 +1096,12 @@ fail_unless(num_change_written == 2, NULL); check_empty(testbed); - +} + +START_TEST (multisync_conflict_hybrid_choose2) +{ + char *testbed = setup_testbed("multisync_conflict_changetype_choose"); + multisync_conflict_hybrid_choose2_inner(testbed); destroy_testbed(testbed); } END_TEST @@ -1166,6 +1187,28 @@ } END_TEST +/* Given a number of members and a set of uids we check + * the number of mappings == num_uids + * there are num_member connections in each map for all the given uids + */ +void validate_mapping_table(const char *testbed, unsigned int num_members, const char *uids[], unsigned int num_uids) +{ + unsigned int member; + unsigned int uid; + + char *path = g_strdup_printf("%s/configs/group/archive.db", testbed); + OSyncMappingTable *maptable = mappingtable_load(path, "mockobjtype1", num_uids); + g_free(path); + + /* check we have num_members mapping entries for each uid */ + for (uid = 0; uid < num_uids; uid++) { + for (member = 1; member <= num_members; member++) { + check_mapping(maptable, member, -1, num_members, uids[uid]); + } + } + osync_mapping_table_close(maptable); + osync_mapping_table_unref(maptable); +} /* As above but with 3 conflicts, one from each data member * should get 3+3+2 writes @@ -1195,25 +1238,11 @@ fail_unless(osync_testing_diff("data1", "data2")); fail_unless(osync_testing_diff("data1", "data3")); - /* load mapping table, check for 3 mappings */ - char *path = g_strdup_printf("%s/configs/group/archive.db", testbed); - OSyncMappingTable *maptable = mappingtable_load(path, "mockobjtype1", 3); - g_free(path); - unsigned int num_members = 3; unsigned int num_uids = 3; const char *uids[] = {"testdata", "testdata-dupe", "testdata-dupe-dupe"}; - unsigned int member; - unsigned int uid; - /* check we have num_members mapping entries for each uid */ - for (uid = 0; uid < num_uids; uid++) { - for (member = 1; member <= num_members; member++) { - check_mapping(maptable, member, -1, num_members, uids[uid]); - } - } - osync_mapping_table_close(maptable); - osync_mapping_table_unref(maptable); + validate_mapping_table(testbed, num_members, uids, num_uids); hashtable_load_and_check(testbed, 1, uids, num_uids); hashtable_load_and_check(testbed, 2, uids, num_uids); @@ -1229,15 +1258,7 @@ uids[0] = "testdata-dupe"; /* load mapping table, check for 1 mappings */ - path = g_strdup_printf("%s/configs/group/archive.db", testbed); - maptable = mappingtable_load(path, "mockobjtype1", 1); - g_free(path); - - check_mapping(maptable, 1, -1, 3, "testdata-dupe"); - check_mapping(maptable, 2, -1, 3, "testdata-dupe"); - check_mapping(maptable, 3, -1, 3, "testdata-dupe"); - osync_mapping_table_close(maptable); - osync_mapping_table_unref(maptable); + validate_mapping_table(testbed, num_members, uids, num_uids); hashtable_load_and_check(testbed, 1, uids, num_uids); hashtable_load_and_check(testbed, 2, uids, num_uids); @@ -1256,20 +1277,26 @@ } END_TEST -#if 0 + +/* Sync data1/testdata to all + * - remove data1/testdata + * - change data3/testdata to newdata + * Expect 2 changes, 1 conflict and the newdata version of testdata to be + * synced to data1 and data2 + */ START_TEST (multisync_conflict_changetype_duplicate) { char *testbed = setup_testbed("multisync_conflict_changetype_choose"); - OSyncEnv *osync = init_env(); - OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); - - OSyncEngine *engine = init_engine(group); - osengine_set_conflict_callback(engine, conflict_handler_duplication, GINT_TO_POINTER(3)); - + OSyncError *error = NULL; + OSyncEngine *engine = setup_engine(testbed); + osync_engine_set_conflict_callback(engine, conflict_handler_duplicate, GINT_TO_POINTER(2)); + fail_unless(osync_engine_initialize(engine, &error), NULL); + fail_unless(error == NULL, NULL); + synchronize_once(engine, NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" = \"x\""), NULL); + fail_unless(osync_testing_diff("data1", "data2")); + fail_unless(osync_testing_diff("data1", "data3")); sleep(2); @@ -1286,67 +1313,53 @@ fail_unless(num_mapping_conflicts == 1, NULL); fail_unless(num_change_written == 2, NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" = \"x\""), NULL); - - OSyncMappingTable *maptable = mappingtable_load(group, 1, 0); - check_mapping(maptable, 1, 0, 3, "testdata"); - check_mapping(maptable, 2, 0, 3, "testdata"); - check_mapping(maptable, 3, 0, 3, "testdata"); - mappingtable_close(maptable); - - OSyncHashTable *table = hashtable_load(group, 1, 1); - check_hash(table, "testdata"); - osync_hashtable_close(table); - - table = hashtable_load(group, 2, 1); - check_hash(table, "testdata"); - osync_hashtable_close(table); + fail_unless(osync_testing_diff("data1", "data2")); + fail_unless(osync_testing_diff("data1", "data3")); + fail_unless(!system("test \"x$(diff newdata data1/testdata)\" = \"x\""), NULL); + + const char *uids[] = {"testdata"}; + validate_mapping_table(testbed, 3, uids, 1); - table = hashtable_load(group, 3, 1); - check_hash(table, "testdata"); - osync_hashtable_close(table); + hashtable_simple_load_and_check(testbed, 1); + hashtable_simple_load_and_check(testbed, 2); + hashtable_simple_load_and_check(testbed, 3); osync_testing_system_abort("rm -f data1/testdata"); mark_point(); - num_mapping_conflicts = 0; + synchronize_once(engine, NULL); - osengine_finalize(engine); - - mappingtable_load(group, 0, 0); - mappingtable_close(maptable); - - hashtable_load(group, 1, 0); - osync_hashtable_close(table); - - table = hashtable_load(group, 2, 0); - osync_hashtable_close(table); - - table = hashtable_load(group, 3, 0); - osync_hashtable_close(table); - - fail_unless(!system("test \"x$(ls data1)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(ls data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(ls data3)\" = \"x\""), NULL); + destroy_engine(engine); + + check_empty(testbed); destroy_testbed(testbed); } END_TEST +/* Sync data1/testdata to all + * - remove data2/testdata + * - remove data3/testdata + * - change data1/testdata to newdata2 + * Expect 3 changes, 1 conflict and the newdata2 version of testdata to be + * synced to data2 and data3 + */ START_TEST (multisync_conflict_changetype_duplicate2) { char *testbed = setup_testbed("multisync_conflict_changetype_choose"); - OSyncEnv *osync = init_env(); - OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); - - OSyncEngine *engine = init_engine(group); - osengine_set_conflict_callback(engine, conflict_handler_duplication, GINT_TO_POINTER(3)); - + OSyncError *error = NULL; + OSyncEngine *engine = setup_engine(testbed); + osync_engine_set_conflict_callback(engine, conflict_handler_duplicate, GINT_TO_POINTER(3)); + + fail_unless(osync_engine_initialize(engine, &error), NULL); + fail_unless(error == NULL, NULL); + + mark_point(); + synchronize_once(engine, NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" = \"x\""), NULL); + fail_unless(osync_testing_diff("data1", "data2")); + fail_unless(osync_testing_diff("data1", "data3")); sleep(2); @@ -1364,50 +1377,27 @@ fail_unless(num_mapping_conflicts == 1, NULL); fail_unless(num_change_written == 2, NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" = \"x\""), NULL); - - OSyncMappingTable *maptable = mappingtable_load(group, 1, 0); - check_mapping(maptable, 1, 0, 3, "testdata"); - check_mapping(maptable, 2, 0, 3, "testdata"); - check_mapping(maptable, 3, 0, 3, "testdata"); - mappingtable_close(maptable); - - OSyncHashTable *table = hashtable_load(group, 1, 1); - check_hash(table, "testdata"); - osync_hashtable_close(table); + fail_unless(osync_testing_diff("data1", "data2")); + fail_unless(osync_testing_diff("data1", "data3")); + fail_unless(!system("test \"x$(diff newdata2 data1/testdata)\" = \"x\""), NULL); + - table = hashtable_load(group, 2, 1); - check_hash(table, "testdata"); - osync_hashtable_close(table); + const char *uids[] = {"testdata"}; + validate_mapping_table(testbed, 3, uids, 1); - table = hashtable_load(group, 3, 1); - check_hash(table, "testdata"); - osync_hashtable_close(table); + hashtable_simple_load_and_check(testbed, 1); + hashtable_simple_load_and_check(testbed, 2); + hashtable_simple_load_and_check(testbed, 3); osync_testing_system_abort("rm -f data1/testdata"); mark_point(); - num_mapping_conflicts = 0; + synchronize_once(engine, NULL); - osengine_finalize(engine); - - mappingtable_load(group, 0, 0); - mappingtable_close(maptable); - - hashtable_load(group, 1, 0); - osync_hashtable_close(table); - - table = hashtable_load(group, 2, 0); - osync_hashtable_close(table); - - table = hashtable_load(group, 3, 0); - osync_hashtable_close(table); - - fail_unless(!system("test \"x$(ls data1)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(ls data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(ls data3)\" = \"x\""), NULL); + destroy_engine(engine); + check_empty(testbed); + destroy_testbed(testbed); } END_TEST @@ -1415,16 +1405,19 @@ START_TEST (multisync_conflict_hybrid_duplicate) { char *testbed = setup_testbed("multisync_conflict_changetype_choose"); - OSyncEnv *osync = init_env(); - OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); - - OSyncEngine *engine = init_engine(group); - osengine_set_conflict_callback(engine, conflict_handler_duplication, GINT_TO_POINTER(3)); - + OSyncError *error = NULL; + OSyncEngine *engine = setup_engine(testbed); + osync_engine_set_conflict_callback(engine, conflict_handler_duplicate, GINT_TO_POINTER(3)); + + fail_unless(osync_engine_initialize(engine, &error), NULL); + fail_unless(error == NULL, NULL); + + mark_point(); + synchronize_once(engine, NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" = \"x\""), NULL); + fail_unless(osync_testing_diff("data1", "data2")); + fail_unless(osync_testing_diff("data1", "data3")); sleep(2); @@ -1442,56 +1435,26 @@ fail_unless(num_mapping_conflicts == 1, NULL); fail_unless(num_change_written == 5, NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" = \"x\""), NULL); - - OSyncMappingTable *maptable = mappingtable_load(group, 2, 0); - check_mapping(maptable, 1, -1, 3, "testdata"); - check_mapping(maptable, 2, -1, 3, "testdata"); - check_mapping(maptable, 3, -1, 3, "testdata"); - check_mapping(maptable, 1, -1, 3, "testdata-dupe"); - check_mapping(maptable, 2, -1, 3, "testdata-dupe"); - check_mapping(maptable, 3, -1, 3, "testdata-dupe"); - mappingtable_close(maptable); - - OSyncHashTable *table = hashtable_load(group, 1, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata-dupe"); - osync_hashtable_close(table); - - table = hashtable_load(group, 2, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata-dupe"); - osync_hashtable_close(table); + fail_unless(osync_testing_diff("data1", "data2")); + fail_unless(osync_testing_diff("data1", "data3")); - table = hashtable_load(group, 3, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata-dupe"); - osync_hashtable_close(table); + unsigned int num_uids = 2; + const char *uids[] = {"testdata", "testdata-dupe"}; + validate_mapping_table(testbed, 3, uids, num_uids); + hashtable_load_and_check(testbed, 1, uids, num_uids); + hashtable_load_and_check(testbed, 2, uids, num_uids); + hashtable_load_and_check(testbed, 3, uids, num_uids); + + osync_testing_system_abort("rm -f data1/testdata data2/testdata-dupe"); - - mark_point(); - num_mapping_conflicts = 0; + mark_point(); + synchronize_once(engine, NULL); - osengine_finalize(engine); - - mappingtable_load(group, 0, 0); - mappingtable_close(maptable); - - hashtable_load(group, 1, 0); - osync_hashtable_close(table); - - table = hashtable_load(group, 2, 0); - osync_hashtable_close(table); - - table = hashtable_load(group, 3, 0); - osync_hashtable_close(table); - - fail_unless(!system("test \"x$(ls data1)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(ls data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(ls data3)\" = \"x\""), NULL); + destroy_engine(engine); + check_empty(testbed); + destroy_testbed(testbed); } END_TEST @@ -1499,69 +1462,52 @@ START_TEST (multisync_multi_conflict) { char *testbed = setup_testbed("multisync_easy_new"); - - OSyncEnv *osync = init_env(); - OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); - - OSyncEngine *engine = init_engine(group); - osengine_set_conflict_callback(engine, conflict_handler_duplication, GINT_TO_POINTER(3)); - + + OSyncError *error = NULL; + OSyncEngine *engine = setup_engine(testbed); + /* Cant do sanity check on conflict handler as num changes per conflict is + not constant later on - so pass NULL as userdata */ + osync_engine_set_conflict_callback(engine, conflict_handler_duplicate, NULL); + + fail_unless(osync_engine_initialize(engine, &error), NULL); + fail_unless(error == NULL, NULL); + osync_testing_system_abort("cp newdata data3/testdata1"); osync_testing_system_abort("cp newdata1 data2/testdata2"); synchronize_once(engine, NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" = \"x\""), NULL); - - OSyncMappingTable *maptable = mappingtable_load(group, 3, 0); - check_mapping(maptable, 1, -1, 3, "testdata"); - check_mapping(maptable, 2, -1, 3, "testdata"); - check_mapping(maptable, 3, -1, 3, "testdata"); - check_mapping(maptable, 1, -1, 3, "testdata1"); - check_mapping(maptable, 2, -1, 3, "testdata1"); - check_mapping(maptable, 3, -1, 3, "testdata1"); - check_mapping(maptable, 1, -1, 3, "testdata2"); - check_mapping(maptable, 2, -1, 3, "testdata2"); - check_mapping(maptable, 3, -1, 3, "testdata2"); - mappingtable_close(maptable); - - OSyncHashTable *table = hashtable_load(group, 1, 3); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - check_hash(table, "testdata2"); - osync_hashtable_close(table); - - table = hashtable_load(group, 2, 3); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - check_hash(table, "testdata2"); - osync_hashtable_close(table); + fail_unless(osync_testing_diff("data1", "data2")); + fail_unless(osync_testing_diff("data1", "data3")); + + unsigned int num_uids = 3; + const char *uids[] = {"testdata", "testdata1", "testdata2"}; + validate_mapping_table(testbed, 3, uids, num_uids); - table = hashtable_load(group, 3, 3); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - check_hash(table, "testdata2"); - osync_hashtable_close(table); + + hashtable_load_and_check(testbed, 1, uids, num_uids); + hashtable_load_and_check(testbed, 2, uids, num_uids); + hashtable_load_and_check(testbed, 3, uids, num_uids); //Change statuses fail_unless(num_change_read == 3, NULL); - fail_unless(num_read_info == 0, NULL); + /* fail_unless(num_read_info == 0, NULL);*/ fail_unless(num_mapping_conflicts == 0, NULL); fail_unless(num_change_written == 6, NULL); - fail_unless(num_written_errors == 0, NULL); - fail_unless(num_recv_errors == 0, NULL); + fail_unless(num_change_error == 0, NULL); + /* fail_unless(num_recv_errors == 0, NULL);*/ //Member statuses - fail_unless(num_connected == 3, NULL); - fail_unless(num_disconnected == 3, NULL); - fail_unless(num_member_comitted_all == 3, NULL); - fail_unless(num_member_sent_changes == 3, NULL); - fail_unless(num_member_connect_errors == 0, NULL); - fail_unless(num_member_get_changes_errors == 0, NULL); - fail_unless(num_member_sync_done_errors == 0, NULL); - fail_unless(num_member_disconnect_errors == 0, NULL); - fail_unless(num_member_comitted_all_errors == 0, NULL); + fail_unless(num_client_connected == 3, NULL); + fail_unless(num_client_disconnected == 3, NULL); + /* fail_unless(num_client_comitted_all == 3, NULL);*/ + fail_unless(num_client_errors == 0, NULL); + /* fail_unless(num_client_sent_changes == 3, NULL); + fail_unless(num_client_connect_errors == 0, NULL); + fail_unless(num_client_get_changes_errors == 0, NULL); + fail_unless(num_client_sync_done_errors == 0, NULL); + fail_unless(num_client_disconnect_errors == 0, NULL); + fail_unless(num_client_comitted_all_errors == 0, NULL);*/ //Engine statuses fail_unless(num_engine_connected == 1, NULL); @@ -1569,7 +1515,7 @@ fail_unless(num_engine_written == 1, NULL); fail_unless(num_engine_disconnected == 1, NULL); fail_unless(num_engine_errors == 0, NULL); - fail_unless(num_engine_successfull == 1, NULL); + fail_unless(num_engine_successful == 1, NULL); fail_unless(num_engine_prev_unclean == 0, NULL); fail_unless(num_engine_end_conflicts == 1, NULL); @@ -1577,6 +1523,14 @@ sleep(2); + /* Should end up with + testdata(newdata) - 2 writes + testdata1(newdata3) - 2 writes + testdata1-dupe(newdata4) -3 writes + testdata2(newdata) - 2 writes + testdata2-dupe(newdata5) - 3 writes + */ + osync_testing_system_abort("rm -f data2/testdata"); osync_testing_system_abort("cp newdata data3/testdata"); @@ -1586,7 +1540,8 @@ osync_testing_system_abort("cp newdata data1/testdata2"); osync_testing_system_abort("cp newdata5 data3/testdata2"); osync_testing_system_abort("rm -f data2/testdata2"); - + + synchronize_once(engine, NULL); fail_unless(num_change_read == 7, NULL); @@ -1594,125 +1549,66 @@ fail_unless(num_change_written == 12, NULL); fail_unless(num_engine_end_conflicts == 1, NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" = \"x\""), NULL); - - maptable = mappingtable_load(group, 5, 0); - check_mapping(maptable, 1, -1, 3, "testdata"); - check_mapping(maptable, 2, -1, 3, "testdata"); - check_mapping(maptable, 3, -1, 3, "testdata"); - check_mapping(maptable, 1, -1, 3, "testdata1"); - check_mapping(maptable, 2, -1, 3, "testdata1"); - check_mapping(maptable, 3, -1, 3, "testdata1"); - check_mapping(maptable, 1, -1, 3, "testdata1-dupe"); - check_mapping(maptable, 2, -1, 3, "testdata1-dupe"); - check_mapping(maptable, 3, -1, 3, "testdata1-dupe"); - check_mapping(maptable, 1, -1, 3, "testdata2"); - check_mapping(maptable, 2, -1, 3, "testdata2"); - check_mapping(maptable, 3, -1, 3, "testdata2"); - check_mapping(maptable, 1, -1, 3, "testdata2-dupe"); - check_mapping(maptable, 2, -1, 3, "testdata2-dupe"); - check_mapping(maptable, 3, -1, 3, "testdata2-dupe"); - mappingtable_close(maptable); - - table = hashtable_load(group, 1, 5); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - check_hash(table, "testdata2"); - check_hash(table, "testdata1-dupe"); - check_hash(table, "testdata2-dupe"); - osync_hashtable_close(table); - - table = hashtable_load(group, 2, 5); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - check_hash(table, "testdata2"); - check_hash(table, "testdata1-dupe"); - check_hash(table, "testdata2-dupe"); - osync_hashtable_close(table); - - table = hashtable_load(group, 3, 5); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - check_hash(table, "testdata2"); - check_hash(table, "testdata1-dupe"); - check_hash(table, "testdata2-dupe"); - osync_hashtable_close(table); + fail_unless(osync_testing_diff("data1", "data2")); + fail_unless(osync_testing_diff("data1", "data3")); + + unsigned int num_members = 3; + num_uids = 5; + const char *uids2[] = {"testdata", + "testdata1", + "testdata1-dupe", + "testdata2", + "testdata2-dupe"}; + + validate_mapping_table(testbed, num_members, uids2, num_uids); + + hashtable_load_and_check(testbed, 1, uids2, num_uids); + hashtable_load_and_check(testbed, 2, uids2, num_uids); + hashtable_load_and_check(testbed, 3, uids2, num_uids); + osync_testing_system_abort("rm -f data1/*"); mark_point(); - num_mapping_conflicts = 0; + synchronize_once(engine, NULL); - osengine_finalize(engine); - - maptable = mappingtable_load(group, 0, 0); - mappingtable_close(maptable); - - table = hashtable_load(group, 1, 0); - osync_hashtable_close(table); - - table = hashtable_load(group, 2, 0); - osync_hashtable_close(table); - - table = hashtable_load(group, 3, 0); - osync_hashtable_close(table); + destroy_engine(engine); - fail_unless(!system("test \"x$(ls data1)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(ls data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(ls data3)\" = \"x\""), NULL); + check_empty(testbed); destroy_testbed(testbed); } END_TEST -START_TEST (multisync_delayed_conflict_handler) + + + +void multisync_delayed_conflict_handler_inner(const char *testbed) { - char *testbed = setup_testbed("multisync_easy_new"); - - OSyncEnv *osync = init_env(); - OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); - - OSyncEngine *engine = init_engine(group); - osengine_set_conflict_callback(engine, conflict_handler_delay, GINT_TO_POINTER(3)); + OSyncError *error = NULL; + OSyncEngine *engine = setup_engine(testbed); + /* Unable to sanity check conflict */ + osync_engine_set_conflict_callback(engine, conflict_handler_delay, NULL); + fail_unless(osync_engine_initialize(engine, &error), NULL); + fail_unless(error == NULL, NULL); + + mark_point(); osync_testing_system_abort("cp newdata data3/testdata1"); osync_testing_system_abort("cp newdata1 data2/testdata2"); synchronize_once(engine, NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" = \"x\""), NULL); - - OSyncMappingTable *maptable = mappingtable_load(group, 3, 0); - check_mapping(maptable, 1, -1, 3, "testdata"); - check_mapping(maptable, 2, -1, 3, "testdata"); - check_mapping(maptable, 3, -1, 3, "testdata"); - check_mapping(maptable, 1, -1, 3, "testdata1"); - check_mapping(maptable, 2, -1, 3, "testdata1"); - check_mapping(maptable, 3, -1, 3, "testdata1"); - check_mapping(maptable, 1, -1, 3, "testdata2"); - check_mapping(maptable, 2, -1, 3, "testdata2"); - check_mapping(maptable, 3, -1, 3, "testdata2"); - mappingtable_close(maptable); - - OSyncHashTable *table = hashtable_load(group, 1, 3); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - check_hash(table, "testdata2"); - osync_hashtable_close(table); + fail_unless(osync_testing_diff("data1", "data2")); + fail_unless(osync_testing_diff("data1", "data3")); - table = hashtable_load(group, 2, 3); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - check_hash(table, "testdata2"); - osync_hashtable_close(table); + unsigned int num_uids = 3; + const char *uids[] = {"testdata", "testdata1", "testdata2"}; + validate_mapping_table(testbed, 3, uids, num_uids); - table = hashtable_load(group, 3, 3); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - check_hash(table, "testdata2"); - osync_hashtable_close(table); + hashtable_load_and_check(testbed, 1, uids, num_uids); + hashtable_load_and_check(testbed, 2, uids, num_uids); + hashtable_load_and_check(testbed, 3, uids, num_uids); fail_unless(num_engine_connected == 1, NULL); fail_unless(num_engine_read == 1, NULL); @@ -1742,107 +1638,56 @@ fail_unless(num_change_written == 6, NULL); fail_unless(num_engine_end_conflicts == 1, NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" = \"x\""), NULL); - - maptable = mappingtable_load(group, 3, 0); - check_mapping(maptable, 1, -1, 3, "testdata"); - check_mapping(maptable, 2, -1, 3, "testdata"); - check_mapping(maptable, 3, -1, 3, "testdata"); - check_mapping(maptable, 1, -1, 3, "testdata1"); - check_mapping(maptable, 2, -1, 3, "testdata1"); - check_mapping(maptable, 3, -1, 3, "testdata1"); - check_mapping(maptable, 1, -1, 3, "testdata2"); - check_mapping(maptable, 2, -1, 3, "testdata2"); - check_mapping(maptable, 3, -1, 3, "testdata2"); - mappingtable_close(maptable); - - table = hashtable_load(group, 1, 3); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - check_hash(table, "testdata2"); - osync_hashtable_close(table); - - table = hashtable_load(group, 2, 3); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - check_hash(table, "testdata2"); - osync_hashtable_close(table); - - table = hashtable_load(group, 3, 3); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - check_hash(table, "testdata2"); - osync_hashtable_close(table); + fail_unless(osync_testing_diff("data1", "data2")); + fail_unless(osync_testing_diff("data1", "data3")); + validate_mapping_table(testbed, 3, uids, num_uids); + + /* force the removal of everything */ osync_testing_system_abort("rm -f data1/*"); mark_point(); - num_mapping_conflicts = 0; + synchronize_once(engine, NULL); - osengine_finalize(engine); - - maptable = mappingtable_load(group, 0, 0); - mappingtable_close(maptable); - - table = hashtable_load(group, 1, 0); - osync_hashtable_close(table); - - table = hashtable_load(group, 2, 0); - osync_hashtable_close(table); - - table = hashtable_load(group, 3, 0); - osync_hashtable_close(table); - - fail_unless(!system("test \"x$(ls data1)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(ls data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(ls data3)\" = \"x\""), NULL); + destroy_engine(engine); + check_empty(testbed); +} + +START_TEST (multisync_delayed_conflict_handler) +{ + char *testbed = setup_testbed("multisync_easy_new"); + multisync_delayed_conflict_handler_inner(testbed); destroy_testbed(testbed); } END_TEST -START_TEST (multisync_delayed_slow) +/* Seems to have threading issues */ +void multisync_delayed_slow_inner(const char *testbed) { - char *testbed = setup_testbed("multisync_easy_new"); - - OSyncEnv *osync = init_env(); - OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); - - OSyncEngine *engine = init_engine(group); - osengine_set_conflict_callback(engine, conflict_handler_delay, GINT_TO_POINTER(3)); + OSyncError *error = NULL; + OSyncEngine *engine = setup_engine(testbed); + /* Unable to sanity check conflict as different number of changes per mapping */ + osync_engine_set_conflict_callback(engine, conflict_handler_delay, NULL); + fail_unless(osync_engine_initialize(engine, &error), NULL); + fail_unless(error == NULL, NULL); osync_testing_system_abort("cp newdata data3/testdata1"); setenv("SLOW_REPORT", "2", TRUE); synchronize_once(engine, NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" = \"x\""), NULL); - - OSyncMappingTable *maptable = mappingtable_load(group, 2, 0); - check_mapping(maptable, 1, -1, 3, "testdata"); - check_mapping(maptable, 2, -1, 3, "testdata"); - check_mapping(maptable, 3, -1, 3, "testdata"); - check_mapping(maptable, 1, -1, 3, "testdata1"); - check_mapping(maptable, 2, -1, 3, "testdata1"); - check_mapping(maptable, 3, -1, 3, "testdata1"); - mappingtable_close(maptable); - - OSyncHashTable *table = hashtable_load(group, 1, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); + fail_unless(osync_testing_diff("data1", "data2")); + fail_unless(osync_testing_diff("data1", "data3")); + + unsigned int num_uids = 2; + const char *uids[] = {"testdata", "testdata1"}; - table = hashtable_load(group, 2, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); + validate_mapping_table(testbed, 3, uids, num_uids); - table = hashtable_load(group, 3, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); + hashtable_load_and_check(testbed, 1, uids, num_uids); + hashtable_load_and_check(testbed, 2, uids, num_uids); + hashtable_load_and_check(testbed, 3, uids, num_uids); fail_unless(num_change_read == 2, NULL); fail_unless(num_mapping_conflicts == 0, NULL); @@ -1855,7 +1700,7 @@ osync_testing_system_abort("cp newdata3 data1/testdata1"); osync_testing_system_abort("rm -f data2/testdata1"); - + synchronize_once(engine, NULL); fail_unless(num_engine_connected == 1, NULL); @@ -1867,58 +1712,31 @@ fail_unless(num_change_written == 4, NULL); fail_unless(num_engine_end_conflicts == 1, NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" = \"x\""), NULL); - - maptable = mappingtable_load(group, 2, 0); - check_mapping(maptable, 1, -1, 3, "testdata"); - check_mapping(maptable, 2, -1, 3, "testdata"); - check_mapping(maptable, 3, -1, 3, "testdata"); - check_mapping(maptable, 1, -1, 3, "testdata1"); - check_mapping(maptable, 2, -1, 3, "testdata1"); - check_mapping(maptable, 3, -1, 3, "testdata1"); - mappingtable_close(maptable); - - table = hashtable_load(group, 1, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); + fail_unless(osync_testing_diff("data1", "data2")); + fail_unless(osync_testing_diff("data1", "data3")); - table = hashtable_load(group, 2, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); + validate_mapping_table(testbed, 3, uids, num_uids); - table = hashtable_load(group, 3, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); + hashtable_load_and_check(testbed, 1, uids, num_uids); + hashtable_load_and_check(testbed, 2, uids, num_uids); + hashtable_load_and_check(testbed, 3, uids, num_uids); osync_testing_system_abort("rm -f data1/*"); mark_point(); - num_mapping_conflicts = 0; + synchronize_once(engine, NULL); - osengine_finalize(engine); - - maptable = mappingtable_load(group, 0, 0); - mappingtable_close(maptable); - - table = hashtable_load(group, 1, 0); - osync_hashtable_close(table); - - table = hashtable_load(group, 2, 0); - osync_hashtable_close(table); - - table = hashtable_load(group, 3, 0); - osync_hashtable_close(table); + destroy_engine(engine); - fail_unless(!system("test \"x$(ls data1)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(ls data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(ls data3)\" = \"x\""), NULL); + check_empty(testbed); unsetenv("SLOW_REPORT"); - +} + +START_TEST (multisync_delayed_slow) +{ + char *testbed = setup_testbed("multisync_easy_new"); + multisync_delayed_slow_inner(testbed); destroy_testbed(testbed); } END_TEST @@ -1926,43 +1744,26 @@ START_TEST (multisync_conflict_ignore) { char *testbed = setup_testbed("multisync_easy_new"); - - OSyncEnv *osync = init_env(); - OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); - - OSyncEngine *engine = init_engine(group); - osengine_set_conflict_callback(engine, conflict_handler_ignore, GINT_TO_POINTER(3)); - + + OSyncError *error = NULL; + OSyncEngine *engine = setup_engine(testbed); + osync_engine_set_conflict_callback(engine, conflict_handler_ignore, NULL); + fail_unless(osync_engine_initialize(engine, &error), NULL); + fail_unless(error == NULL, NULL); + osync_testing_system_abort("cp newdata data3/testdata1"); synchronize_once(engine, NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" = \"x\""), NULL); - - OSyncMappingTable *maptable = mappingtable_load(group, 2, 0); - check_mapping(maptable, 1, -1, 3, "testdata"); - check_mapping(maptable, 2, -1, 3, "testdata"); - check_mapping(maptable, 3, -1, 3, "testdata"); - check_mapping(maptable, 1, -1, 3, "testdata1"); - check_mapping(maptable, 2, -1, 3, "testdata1"); - check_mapping(maptable, 3, -1, 3, "testdata1"); - mappingtable_close(maptable); - - OSyncHashTable *table = hashtable_load(group, 1, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); + + unsigned int num_uids = 2; + const char *uids[] = {"testdata", "testdata1"}; - table = hashtable_load(group, 2, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); + validate_mapping_table(testbed, 3, uids, num_uids); - table = hashtable_load(group, 3, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); + hashtable_load_and_check(testbed, 1, uids, num_uids); + hashtable_load_and_check(testbed, 2, uids, num_uids); + hashtable_load_and_check(testbed, 3, uids, num_uids); fail_unless(num_engine_connected == 1, NULL); fail_unless(num_engine_read == 1, NULL); @@ -1973,90 +1774,60 @@ fail_unless(num_change_written == 4, NULL); fail_unless(num_engine_end_conflicts == 1, NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" = \"x\""), NULL); + fail_unless(osync_testing_diff("data1", "data2")); + fail_unless(osync_testing_diff("data1", "data3")); sleep(2); + /* create some conflicts and ignore them twice */ + osync_testing_system_abort("rm -f data2/testdata"); osync_testing_system_abort("cp newdata data3/testdata"); osync_testing_system_abort("cp newdata3 data1/testdata1"); osync_testing_system_abort("cp newdata2 data2/testdata1"); osync_testing_system_abort("cp newdata1 data3/testdata1"); - - synchronize_once(engine, NULL); - fail_unless(num_engine_connected == 1, NULL); - fail_unless(num_engine_read == 1, NULL); - fail_unless(num_engine_written == 1, NULL); - fail_unless(num_engine_disconnected == 1, NULL); - fail_unless(num_change_read == 5, NULL); - fail_unless(num_mapping_conflicts == 2, NULL); - fail_unless(num_change_written == 0, NULL); - fail_unless(num_engine_end_conflicts == 1, NULL); - - fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" != \"x\""), NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" != \"x\""), NULL); - - maptable = mappingtable_load(group, 2, 0); - check_mapping(maptable, 1, -1, 3, "testdata"); - check_mapping(maptable, 2, -1, 3, "testdata"); - check_mapping(maptable, 3, -1, 3, "testdata"); - check_mapping(maptable, 1, -1, 3, "testdata1"); - check_mapping(maptable, 2, -1, 3, "testdata1"); - check_mapping(maptable, 3, -1, 3, "testdata1"); - mappingtable_close(maptable); - - table = hashtable_load(group, 1, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); - - table = hashtable_load(group, 2, 1); - check_hash(table, "testdata1"); - osync_hashtable_close(table); - - table = hashtable_load(group, 3, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); - - synchronize_once(engine, NULL); - - fail_unless(num_change_read == 5, NULL); - fail_unless(num_mapping_conflicts == 2, NULL); - fail_unless(num_change_written == 0, NULL); - fail_unless(num_engine_end_conflicts == 1, NULL); + int i; + for (i = 0; i < 2; i++ ) { + synchronize_once(engine, NULL); + + fail_unless(num_engine_connected == 1, NULL); + fail_unless(num_engine_read == 1, NULL); + fail_unless(num_engine_written == 1, NULL); + fail_unless(num_engine_disconnected == 1, NULL); + fail_unless(num_change_read == 5, NULL); + fail_unless(num_mapping_conflicts == 2, NULL); + fail_unless(num_change_written == 0, NULL); + fail_unless(num_engine_end_conflicts == 1, NULL); + + /* check the members are different */ + fail_unless(!osync_testing_diff("data1", "data2")); + fail_unless(!osync_testing_diff("data1", "data3")); + - fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" != \"x\""), NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" != \"x\""), NULL); - - maptable = mappingtable_load(group, 2, 0); - check_mapping(maptable, 1, -1, 3, "testdata"); - check_mapping(maptable, 2, -1, 3, "testdata"); - check_mapping(maptable, 3, -1, 3, "testdata"); - check_mapping(maptable, 1, -1, 3, "testdata1"); - check_mapping(maptable, 2, -1, 3, "testdata1"); - check_mapping(maptable, 3, -1, 3, "testdata1"); - mappingtable_close(maptable); - - table = hashtable_load(group, 1, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); - - table = hashtable_load(group, 2, 1); - check_hash(table, "testdata1"); - osync_hashtable_close(table); - - table = hashtable_load(group, 3, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); - + char *path = g_strdup_printf("%s/configs/group/archive.db", testbed); + OSyncMappingTable *maptable = mappingtable_load(path, "mockobjtype1", 2); + g_free(path); + check_mapping(maptable, 1, -1, 2, "testdata"); + check_mapping(maptable, 3, -1, 2, "testdata"); + check_mapping(maptable, 1, -1, 3, "testdata1"); + check_mapping(maptable, 2, -1, 3, "testdata1"); + check_mapping(maptable, 3, -1, 3, "testdata1"); + osync_mapping_table_close(maptable); + osync_mapping_table_unref(maptable); + + const char *member2_uids[] = {"testdata1"}; + hashtable_load_and_check(testbed, 1, uids, num_uids); + hashtable_load_and_check(testbed, 2, member2_uids, 1); + hashtable_load_and_check(testbed, 3, uids, num_uids); + } - osengine_set_conflict_callback(engine, conflict_handler_choose_modified, GINT_TO_POINTER(3)); + /* Now should pick + data3/testdata(newdata) + data1/testdata1(newdata3) + */ + osync_engine_set_conflict_callback(engine, conflict_handler_choose_modified, NULL); synchronize_once(engine, NULL); fail_unless(num_engine_connected == 1, NULL); @@ -2068,53 +1839,21 @@ fail_unless(num_change_written == 4, NULL); fail_unless(num_engine_end_conflicts == 1, NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" = \"x\""), NULL); - - maptable = mappingtable_load(group, 2, 0); - check_mapping(maptable, 1, -1, 3, "testdata"); - check_mapping(maptable, 2, -1, 3, "testdata"); - check_mapping(maptable, 3, -1, 3, "testdata"); - check_mapping(maptable, 1, -1, 3, "testdata1"); - check_mapping(maptable, 2, -1, 3, "testdata1"); - check_mapping(maptable, 3, -1, 3, "testdata1"); - mappingtable_close(maptable); - - table = hashtable_load(group, 1, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); - - table = hashtable_load(group, 2, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); + fail_unless(osync_testing_diff("data1", "data2")); + fail_unless(osync_testing_diff("data1", "data3")); - table = hashtable_load(group, 3, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); + validate_mapping_table(testbed, 3, uids, num_uids); + + hashtable_load_and_check(testbed, 1, uids, num_uids); + hashtable_load_and_check(testbed, 2, uids, num_uids); + hashtable_load_and_check(testbed, 3, uids, num_uids); osync_testing_system_abort("rm -f data1/*"); synchronize_once(engine, NULL); - osengine_finalize(engine); - - maptable = mappingtable_load(group, 0, 0); - mappingtable_close(maptable); - - table = hashtable_load(group, 1, 0); - osync_hashtable_close(table); - - table = hashtable_load(group, 2, 0); - osync_hashtable_close(table); - - table = hashtable_load(group, 3, 0); - osync_hashtable_close(table); + destroy_engine(engine); - fail_unless(!system("test \"x$(ls data1)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(ls data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(ls data3)\" = \"x\""), NULL); + check_empty(testbed); destroy_testbed(testbed); } @@ -2124,11 +1863,11 @@ { char *testbed = setup_testbed("multisync_easy_new"); - OSyncEnv *osync = init_env(); - OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); - - OSyncEngine *engine = init_engine(group); - osengine_set_conflict_callback(engine, conflict_handler_ignore, NULL); + OSyncError *error = NULL; + OSyncEngine *engine = setup_engine(testbed); + osync_engine_set_conflict_callback(engine, conflict_handler_ignore, NULL); + fail_unless(osync_engine_initialize(engine, &error), NULL); + fail_unless(error == NULL, NULL); osync_testing_system_abort("cp newdata data3/testdata1"); osync_testing_system_abort("cp newdata1 data3/testdata"); @@ -2144,36 +1883,35 @@ fail_unless(num_change_written == 2, NULL); fail_unless(num_engine_end_conflicts == 1, NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" != \"x\""), NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" != \"x\""), NULL); - - OSyncMappingTable *maptable = mappingtable_load(group, 2, 0); + /* check the members are different */ + fail_unless(!osync_testing_diff("data1", "data2")); + fail_unless(!osync_testing_diff("data1", "data3")); + + char *path = g_strdup_printf("%s/configs/group/archive.db", testbed); + OSyncMappingTable *maptable = mappingtable_load(path, "mockobjtype1", 2); + g_free(path); check_mapping(maptable, 1, -1, 2, "testdata"); check_mapping(maptable, 3, -1, 2, "testdata"); check_mapping(maptable, 1, -1, 3, "testdata1"); check_mapping(maptable, 2, -1, 3, "testdata1"); check_mapping(maptable, 3, -1, 3, "testdata1"); - mappingtable_close(maptable); - - OSyncHashTable *table = hashtable_load(group, 1, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); - - table = hashtable_load(group, 2, 1); - check_hash(table, "testdata1"); - osync_hashtable_close(table); - - table = hashtable_load(group, 3, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); + osync_mapping_table_close(maptable); + osync_mapping_table_unref(maptable); + + unsigned int num_uids = 2; + const char *uids[] = {"testdata", "testdata1"}; + unsigned int num_member2_uids = 1; + const char *member2_uids[] = {"testdata1"}; + hashtable_load_and_check(testbed, 1, uids, num_uids); + hashtable_load_and_check(testbed, 2, member2_uids, num_member2_uids); + hashtable_load_and_check(testbed, 3, uids, num_uids); + + mark_point(); osync_testing_system_abort("cp newdata2 data2/testdata"); - osengine_set_conflict_callback(engine, conflict_handler_choose_first, GINT_TO_POINTER(3)); + osync_engine_set_conflict_callback(engine, conflict_handler_choose_first, GINT_TO_POINTER(3)); synchronize_once(engine, NULL); - fail_unless(num_engine_connected == 1, NULL); fail_unless(num_engine_read == 1, NULL); fail_unless(num_engine_written == 1, NULL); @@ -2183,53 +1921,22 @@ fail_unless(num_change_written == 2, NULL); fail_unless(num_engine_end_conflicts == 1, NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" = \"x\""), NULL); - - maptable = mappingtable_load(group, 2, 0); - check_mapping(maptable, 1, -1, 3, "testdata"); - check_mapping(maptable, 2, -1, 3, "testdata"); - check_mapping(maptable, 3, -1, 3, "testdata"); - check_mapping(maptable, 1, -1, 3, "testdata1"); - check_mapping(maptable, 2, -1, 3, "testdata1"); - check_mapping(maptable, 3, -1, 3, "testdata1"); - mappingtable_close(maptable); - - table = hashtable_load(group, 1, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); - - table = hashtable_load(group, 2, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); + fail_unless(osync_testing_diff("data1", "data2")); + fail_unless(osync_testing_diff("data1", "data3")); - table = hashtable_load(group, 3, 2); - check_hash(table, "testdata"); - check_hash(table, "testdata1"); - osync_hashtable_close(table); + validate_mapping_table(testbed, 3, uids, num_uids); + + hashtable_load_and_check(testbed, 1, uids, num_uids); + hashtable_load_and_check(testbed, 2, uids, num_uids); + hashtable_load_and_check(testbed, 3, uids, num_uids); + osync_testing_system_abort("rm -f data1/*"); synchronize_once(engine, NULL); - osengine_finalize(engine); - - maptable = mappingtable_load(group, 0, 0); - mappingtable_close(maptable); - - table = hashtable_load(group, 1, 0); - osync_hashtable_close(table); - - table = hashtable_load(group, 2, 0); - osync_hashtable_close(table); - - table = hashtable_load(group, 3, 0); - osync_hashtable_close(table); - - fail_unless(!system("test \"x$(ls data1)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(ls data2)\" = \"x\""), NULL); - fail_unless(!system("test \"x$(ls data3)\" = \"x\""), NULL); + destroy_engine(engine); + + check_empty(testbed); destroy_testbed(testbed); } @@ -2237,44 +1944,49 @@ START_TEST(multisync_easy_new_b) { + char *testbed = setup_testbed("multisync_easy_new"); setenv("BATCH_COMMIT", "7", TRUE); - multisync_easy_new(); - unsetenv("BATCH_COMMIT"); + multisync_easy_new_inner(testbed); + destroy_testbed(testbed); } END_TEST START_TEST(multisync_triple_del_b) { + char *testbed = setup_testbed("multisync_easy_new"); setenv("BATCH_COMMIT", "7", TRUE); - multisync_triple_del(); - unsetenv("BATCH_COMMIT"); + multisync_triple_del_inner(testbed); + destroy_testbed(testbed); } END_TEST START_TEST(multisync_conflict_hybrid_choose2_b) { + char *testbed = setup_testbed("multisync_conflict_changetype_choose"); setenv("BATCH_COMMIT", "7", TRUE); - multisync_conflict_hybrid_choose2(); - unsetenv("BATCH_COMMIT"); + multisync_conflict_hybrid_choose2_inner(testbed); + destroy_testbed(testbed); } END_TEST START_TEST(multisync_delayed_conflict_handler_b) { + char *testbed = setup_testbed("multisync_easy_new"); setenv("BATCH_COMMIT", "7", TRUE); - multisync_delayed_conflict_handler(); - unsetenv("BATCH_COMMIT"); + multisync_delayed_conflict_handler_inner(testbed); + destroy_testbed(testbed); } END_TEST START_TEST(multisync_delayed_slow_b) { + char *testbed = setup_testbed("multisync_easy_new"); setenv("BATCH_COMMIT", "7", TRUE); - multisync_delayed_slow(); - unsetenv("BATCH_COMMIT"); + multisync_delayed_slow_inner(testbed); + destroy_testbed(testbed); } END_TEST - +#if 0 START_TEST(multisync_conflict_ignore_b) { setenv("BATCH_COMMIT", "7", TRUE); @@ -2309,6 +2021,7 @@ } END_TEST + START_TEST(multisync_zero_changes_b) { setenv("BATCH_COMMIT", "7", TRUE); @@ -2452,15 +2165,19 @@ OSYNC_TESTCASE_ADD(multisync_conflict_data_duplicate2) /* FIXME: port testcases, see ticket #981 */ -#if 0 + OSYNC_TESTCASE_ADD(multisync_conflict_changetype_duplicate) OSYNC_TESTCASE_ADD(multisync_conflict_changetype_duplicate2) + OSYNC_TESTCASE_ADD(multisync_conflict_hybrid_duplicate) OSYNC_TESTCASE_ADD(multisync_multi_conflict) OSYNC_TESTCASE_ADD(multisync_delayed_conflict_handler) + + OSYNC_TESTCASE_ADD(multisync_delayed_slow) + OSYNC_TESTCASE_ADD(multisync_conflict_ignore) OSYNC_TESTCASE_ADD(multisync_conflict_ignore2) @@ -2469,6 +2186,7 @@ OSYNC_TESTCASE_ADD(multisync_conflict_hybrid_choose2_b) OSYNC_TESTCASE_ADD(multisync_delayed_conflict_handler_b) OSYNC_TESTCASE_ADD(multisync_delayed_slow_b) +#if 0 OSYNC_TESTCASE_ADD(multisync_conflict_ignore_b) OSYNC_TESTCASE_ADD(multisync_conflict_ignore2_b) OSYNC_TESTCASE_ADD(multisync_conflict_hybrid_duplicate_b) |
From: <svn...@op...> - 2009-04-03 08:06:52
|
Author: ianmartin Date: Fri Apr 3 10:06:40 2009 New Revision: 5521 URL: http://www.opensync.org/changeset/5521 Log: Ensure GType system is initialized before using edataserver functions Modified: plugins/evolution2/src/evolution2_sync.c Modified: plugins/evolution2/src/evolution2_sync.c ============================================================================== --- plugins/evolution2/src/evolution2_sync.c Thu Apr 2 21:20:31 2009 (r5520) +++ plugins/evolution2/src/evolution2_sync.c Fri Apr 3 10:06:40 2009 (r5521) @@ -97,6 +97,9 @@ osync_trace(TRACE_INTERNAL, "The config: %p", osync_plugin_info_get_config(info)); + + g_type_init(); + if (!evo2_ebook_initialize(env, info, error)) goto error_free_env; |
From: <svn...@op...> - 2009-04-02 19:20:34
|
Author: scriptor Date: Thu Apr 2 21:20:31 2009 New Revision: 5520 URL: http://www.opensync.org/changeset/5520 Log: Added "--trace-children=yes" to the VALGRIND variable, just in case any forks were involved. Modified: plugins/ldap-sync/tests/test.conf Modified: plugins/ldap-sync/tests/test.conf ============================================================================== --- plugins/ldap-sync/tests/test.conf Thu Apr 2 21:20:19 2009 (r5519) +++ plugins/ldap-sync/tests/test.conf Thu Apr 2 21:20:31 2009 (r5520) @@ -34,10 +34,10 @@ GROUPNAME="sync_test_group" ########## Without leak checking: -VALGRIND="valgrind --db-attach=no --num-callers=30 --gen-suppressions=all --leak-check=no --show-reachable=yes --error-exitcode=1 --track-origins=yes" +VALGRIND="valgrind --db-attach=no --trace-children=yes --num-callers=30 --gen-suppressions=all --leak-check=no --show-reachable=yes --error-exitcode=1 --track-origins=yes" ########## With leak checking: -#VALGRIND="valgrind --db-attach=no --num-callers=30 --gen-suppressions=all --leak-check=full --show-reachable=yes --error-exitcode=1 --track-origins=yes" +#VALGRIND="valgrind --db-attach=no --trace-children=yes --num-callers=30 --gen-suppressions=all --leak-check=full --show-reachable=yes --error-exitcode=1 --track-origins=yes" ########## If you want to have libopensync trace files, define this variable: # If the variable is empty, tracing is disabled. |
From: <svn...@op...> - 2009-04-02 19:20:23
|
Author: scriptor Date: Thu Apr 2 21:20:19 2009 New Revision: 5519 URL: http://www.opensync.org/changeset/5519 Log: TMPDIR must be removed after having finished. Modified: plugins/ldap-sync/tests/check_osynctool_add_file_and_slowsync plugins/ldap-sync/tests/check_osynctool_add_ldif_and_slowsync plugins/ldap-sync/tests/check_osynctool_add_modify_delete_file_and_sync plugins/ldap-sync/tests/check_osynctool_file1 Modified: plugins/ldap-sync/tests/check_osynctool_add_file_and_slowsync ============================================================================== --- plugins/ldap-sync/tests/check_osynctool_add_file_and_slowsync Thu Apr 2 21:20:05 2009 (r5518) +++ plugins/ldap-sync/tests/check_osynctool_add_file_and_slowsync Thu Apr 2 21:20:19 2009 (r5519) @@ -105,4 +105,9 @@ epilogue +if test -d "$TMPDIR"; then + rm -rf "$TMPDIR" +fi + + exit $rv Modified: plugins/ldap-sync/tests/check_osynctool_add_ldif_and_slowsync ============================================================================== --- plugins/ldap-sync/tests/check_osynctool_add_ldif_and_slowsync Thu Apr 2 21:20:05 2009 (r5518) +++ plugins/ldap-sync/tests/check_osynctool_add_ldif_and_slowsync Thu Apr 2 21:20:19 2009 (r5519) @@ -105,4 +105,9 @@ epilogue +if test -d "$TMPDIR"; then + rm -rf "$TMPDIR" +fi + + exit $rv Modified: plugins/ldap-sync/tests/check_osynctool_add_modify_delete_file_and_sync ============================================================================== --- plugins/ldap-sync/tests/check_osynctool_add_modify_delete_file_and_sync Thu Apr 2 21:20:05 2009 (r5518) +++ plugins/ldap-sync/tests/check_osynctool_add_modify_delete_file_and_sync Thu Apr 2 21:20:19 2009 (r5519) @@ -185,6 +185,11 @@ epilogue +if test -d "$TMPDIR"; then + rm -rf "$TMPDIR" +fi + + exit $rv #vim:ts=2:sw=2 Modified: plugins/ldap-sync/tests/check_osynctool_file1 ============================================================================== --- plugins/ldap-sync/tests/check_osynctool_file1 Thu Apr 2 21:20:05 2009 (r5518) +++ plugins/ldap-sync/tests/check_osynctool_file1 Thu Apr 2 21:20:19 2009 (r5519) @@ -67,3 +67,7 @@ epilogue + +if test -d "$TMPDIR"; then + rm -rf "$TMPDIR" +fi |
From: <svn...@op...> - 2009-04-02 19:20:20
|
Author: scriptor Date: Thu Apr 2 21:20:05 2009 New Revision: 5518 URL: http://www.opensync.org/changeset/5518 Log: ldap_format_avoid_duplicate_attribute() should not be called if its first argument is NULL, because it is useless. Modified: plugins/ldap-sync/src/ldap_format.c Modified: plugins/ldap-sync/src/ldap_format.c ============================================================================== --- plugins/ldap-sync/src/ldap_format.c Thu Apr 2 21:19:57 2009 (r5517) +++ plugins/ldap-sync/src/ldap_format.c Thu Apr 2 21:20:05 2009 (r5518) @@ -372,7 +372,7 @@ unsigned int i = 0; - osync_trace(TRACE_ENTRY, "%s(%p)", __func__, ldapmods, name); + osync_trace(TRACE_ENTRY, "%s(%p, %p)", __func__, ldapmods, name); if (ldapmods == NULL) { @@ -457,9 +457,11 @@ - if (ldap_format_avoid_duplicate_attribute(list, (const char *)ldapattr) == 2) { - osync_trace(TRACE_INTERNAL, "%s:%i: WARNING: Suppressing LDAP attribute \"%s\", because it is already present.", __FILE__, __LINE__, ldapattr); - goto out; + if (list) { + if (ldap_format_avoid_duplicate_attribute(list, (const char *)ldapattr) == 2) { + osync_trace(TRACE_INTERNAL, "%s:%i: WARNING: Suppressing LDAP attribute \"%s\", because it is already present.", __FILE__, __LINE__, ldapattr); + goto out; + } } @@ -4103,19 +4105,20 @@ // This apparently conflicts with the "unbounded" specification in // many of the libopensync XML schemata. I have not implemented // any solution to this problem, yet. - if (ldap_format_avoid_duplicate_attribute(*ldapmods, (const char *)name) == 2) { - osync_trace(TRACE_ERROR, "%s:%i: WARNING: Suppressing LDAP attribute \"%s\", because it is already present.", __FILE__, __LINE__, name); + if (*ldapmods) { + if (ldap_format_avoid_duplicate_attribute(*ldapmods, (const char *)name) == 2) { + osync_trace(TRACE_ERROR, "%s:%i: WARNING: Suppressing LDAP attribute \"%s\", because it is already present.", __FILE__, __LINE__, name); - if (value) { - xmlFree(value); - value = NULL; - } + if (value) { + xmlFree(value); + value = NULL; + } - continue; + continue; + } } - // Add this name-value-pair to the list of LDAP mods. // "mods" are the lines in an LDIF file; the various LDAP attributes. *ldapmods = ldap_format_append_ldapmod(*ldapmods, (gchar *)name, (gchar *)value); |
From: <svn...@op...> - 2009-04-02 19:20:02
|
Author: scriptor Date: Thu Apr 2 21:19:57 2009 New Revision: 5517 URL: http://www.opensync.org/changeset/5517 Log: Added error message. Changed a comment and a string. Modified: plugins/ldap-sync/src/ldap_connect.c Modified: plugins/ldap-sync/src/ldap_connect.c ============================================================================== --- plugins/ldap-sync/src/ldap_connect.c Thu Apr 2 21:19:40 2009 (r5516) +++ plugins/ldap-sync/src/ldap_connect.c Thu Apr 2 21:19:57 2009 (r5517) @@ -2217,12 +2217,30 @@ if (ldap_get_option(sinkenv->ld, LDAP_OPT_RESULT_CODE, &result_code) != LDAP_OPT_SUCCESS) { - + osync_error_set(error, OSYNC_ERROR_GENERIC, "%s:%i: ERROR: ldap_get_option() has failed. result_code could not be filled in. \n", __FILE__, __LINE__); goto error; } else { - goto ok1; + if (result_code == LDAP_SUCCESS) { + osync_trace(TRACE_INTERNAL, "%s:%i: uid = NULL, but LDAP_SUCCESS. This is ok.", __FILE__, __LINE__); + goto ok1; + } + + if (result_code == LDAP_NO_SUCH_OBJECT) { + osync_trace(TRACE_INTERNAL, "%s:%i: uid = NULL: LDAP_NO_SUCH_OBJECT: This is ok here.", __FILE__, __LINE__); + goto ok1; + } else { + char *ldap_error = ldap_plugin_report_ldap_error(sinkenv, __FILE__, __LINE__, result_code); + + if (ldap_error == NULL) { + osync_error_set(error, OSYNC_ERROR_GENERIC, "%s:%i: ERROR: ldap_first_entry() has failed.", __FILE__, __LINE__); + } else { + osync_error_set(error, OSYNC_ERROR_GENERIC, "%s:%i: ERROR: ldap_first_entry() has failed: \"%s\"", __FILE__, __LINE__, ldap_error); + } + + goto error; + } } } @@ -2292,7 +2310,6 @@ osync_context_report_osyncwarning(ctx, *error); osync_trace(TRACE_EXIT_ERROR, "%s: %s", __func__, osync_error_print(error)); - osync_error_unref(error); return FALSE; } @@ -3774,7 +3791,7 @@ * the LDAP entry accordingly. * * @param entry The LDAP entry to be checked. - * @param attribute The LDAP attribute which is required to be present. + * @param ldap_attribute The LDAP attribute which is required to be present. * @param value The value of the required LDAP attribute. * * @param error The libopensync error pointer. @@ -4036,7 +4053,7 @@ osync_trace(TRACE_INTERNAL, "%s(): OK. Value of keyattribute is identical to the identifier: \"%s\".", __func__, entry->id); identical = TRUE; } else { - osync_trace(TRACE_ERROR, "%s:%i: WARNING: Value of keyattribute \"%s\" conflicts with identifier \"%s\". Trying to enforce correct one.", __FILE__, __LINE__, mod->mod_bvalues[0]->bv_val, entry->id); + osync_trace(TRACE_ERROR, "%s:%i: WARNING: Value of keyattribute (\"%s\"):\n\n\t\"%s\" \n\nconflicts with identifier:\n\n\t\"%s\".\n\nTrying to enforce correct one.", __FILE__, __LINE__, mod->mod_type, mod->mod_bvalues[0]->bv_val, entry->id); g_free(mod->mod_bvalues[0]->bv_val); mod->mod_bvalues[0]->bv_val = g_strdup(entry->id); mod->mod_bvalues[0]->bv_len = strlen(entry->id); |