From: <svn...@op...> - 2009-04-12 20:44:04
|
Author: scriptor Date: Sun Apr 12 22:43:52 2009 New Revision: 5593 URL: http://www.opensync.org/changeset/5593 Log: Changed the convert_ldap_* tests in that the target format to be tested is not just the corresponding xmlformat, but also all the other formats for one particular object type as can be seen by osynctool --listformats. Or, for example: osynctool --listformats | grep -B 1 "contact" | awk '/Format:/ { print $2 }' Added: plugins/ldap-sync/tests/check_convert_from_to_many (contents, props changed) Modified: plugins/ldap-sync/tests/CMakeLists.txt Modified: plugins/ldap-sync/tests/CMakeLists.txt ============================================================================== --- plugins/ldap-sync/tests/CMakeLists.txt Sun Apr 12 22:43:33 2009 (r5592) +++ plugins/ldap-sync/tests/CMakeLists.txt Sun Apr 12 22:43:52 2009 (r5593) @@ -349,15 +349,15 @@ -ADD_TEST( convert_ldap_evolutionperson1 ${TESTDIR}/check_convert_from_to ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "${CMAKE_SOURCE_DIR}/tests/ldap_evolutionperson*.xml" "--to-xmlformat" ) +ADD_TEST( convert_ldap_evolutionperson1 ${TESTDIR}/check_convert_from_to_many ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "${CMAKE_SOURCE_DIR}/tests/ldap_evolutionperson*.xml" "contact" ) -ADD_TEST( convert_ldap_inetorgperson1 ${TESTDIR}/check_convert_from_to ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "${CMAKE_SOURCE_DIR}/tests/ldap_inetorgperson*.xml" "--to-xmlformat" ) +ADD_TEST( convert_ldap_inetorgperson1 ${TESTDIR}/check_convert_from_to_many ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "${CMAKE_SOURCE_DIR}/tests/ldap_inetorgperson*.xml" "contact" ) -ADD_TEST( convert_ldap_event1 ${TESTDIR}/check_convert_from_to ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "${CMAKE_SOURCE_DIR}/tests/ldap_event*.xml" "--to-xmlformat" ) +ADD_TEST( convert_ldap_event1 ${TESTDIR}/check_convert_from_to_many ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "${CMAKE_SOURCE_DIR}/tests/ldap_event*.xml" "event" ) -ADD_TEST( convert_ldap_todo1 ${TESTDIR}/check_convert_from_to ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "${CMAKE_SOURCE_DIR}/tests/ldap_todo*.xml" "--to-xmlformat" ) +ADD_TEST( convert_ldap_todo1 ${TESTDIR}/check_convert_from_to_many ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "${CMAKE_SOURCE_DIR}/tests/ldap_todo*.xml" "todo" ) -ADD_TEST( convert_ldap_note1 ${TESTDIR}/check_convert_from_to ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "${CMAKE_SOURCE_DIR}/tests/ldap_note*.xml" "--to-xmlformat" ) +ADD_TEST( convert_ldap_note1 ${TESTDIR}/check_convert_from_to_many ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} "${CMAKE_SOURCE_DIR}/tests/ldap_note*.xml" "note" ) Added: plugins/ldap-sync/tests/check_convert_from_to_many ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ plugins/ldap-sync/tests/check_convert_from_to_many Sun Apr 12 22:43:52 2009 (r5593) @@ -0,0 +1,167 @@ +#!/bin/bash + +set -x + +FILE=$0 +PLUGINNAME="ldap-sync" +PLUGINPATH="$1/src" +BUILDDIR=$1 +SOURCEFORMAT_EXPRESSION="$3" +OBJTYPE="$4" + + +if test -z "$SOURCEFORMAT_EXPRESSION"; then + echo "$FILE:$LINENO: ERROR: \$SOURCEFORMAT_EXPRESSION is empty. Exiting." + exit 1; +fi + +if test -z "$OBJTYPE"; then + echo "$FILE:$LINENO: ERROR: \$OBJTYPE is empty. Exiting." + exit 1; +fi + + + +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 + +CHECK_DO_CONVERT_FROM_TO=$(which check_do_convert_from_to 2> /dev/null) +if test -z "$CHECK_DO_CONVERT_FROM_TO"; then + if test -f "./check_do_convert_from_to"; then + CHECK_DO_CONVERT_FROM_TO="./check_do_convert_from_to" + else + dir=$(dirname $FILE) + if test -d "$dir"; then + if test -f "${dir}/check_do_convert_from_to"; then + CHECK_DO_CONVERT_FROM_TO="${dir}/check_do_convert_from_to" + else + if test -d "$BUILDDIR"; then + CHECK_DO_CONVERT_FROM_TO="${BUILDDIR}/tests/check_do_convert_from_to" + fi + fi + fi + fi +fi + + + +if test -z "$CHECK_DO_CONVERT_FROM_TO"; then + echo "$FILE:$LINENO: ERROR: \$CHECK_DO_CONVERT_FROM_TO is empty. Exiting." + exit 1; +fi + +if test ! -f "$CHECK_DO_CONVERT_FROM_TO"; then + echo "$FILE:$LINENO: ERROR: $CHECK_DO_CONVERT_FROM_TO could not be found. Exiting." + exit 1; +fi + +if test ! -x "$CHECK_DO_CONVERT_FROM_TO"; then + echo "$FILE:$LINENO: ERROR: $CHECK_DO_CONVERT_FROM_TO could be found, but is not executable. Exiting." + exit 1; +fi + + +source "$SOURCE_DIR/test.conf" +TMPDIR=`mktemp -d /tmp/ldap_sync_test.XXXXXX` || exit 1 +echo "TMPDIR = \"$TMPDIR\"" + + +echo -e "\n\n\nAbout to be converted:" +for f in $SOURCEFORMAT_EXPRESSION; do + echo "$f" +done +echo -e "\n\n\n" + + + +do_conversion() +{ + file="$1" + targetformat="$2" + + if test -z "$file"; then + echo "$FILE:$LINENO: ERROR: \$file is empty. Returning." + return 1; + fi + + if test -z "$targetformat"; then + echo "$FILE:$LINENO: ERROR: \$targetformat is empty. Returning." + return 1; + fi + + + echo -e "\n\n\nRunning \"$CHECK_DO_CONVERT_FROM_TO $file $targetformat\"" + $CHECK_DO_CONVERT_FROM_TO $file $targetformat + rv=$? + if test $rv -ne 0; then + if test -d "$TMPDIR"; then + rm -rf "$TMPDIR" + fi + exit 1 + fi + echo -e "\n\n\n" +} + + + + + + + + + +rv=1 +for f in $SOURCEFORMAT_EXPRESSION; do + if test "$OBJTYPE" == "contact"; then + do_conversion $f "--to-vcard21" + do_conversion $f "--to-vcard30" + do_conversion $f "--to-xmlformat" + + elif test "$OBJTYPE" == "event"; then + do_conversion $f "--to-vevent10" + do_conversion $f "--to-vevent20" + do_conversion $f "--to-xmlformat" + + elif test "$OBJTYPE" == "todo"; then + do_conversion $f "--to-vtodo10" + do_conversion $f "--to-vtodo20" + do_conversion $f "--to-xmlformat" + + elif test "$OBJTYPE" == "note"; then + do_conversion $f "--to-vnote11" + do_conversion $f "--to-vjournal" + do_conversion $f "--to-xmlformat" + do_conversion $f "--to-memo" + + else + echo "$FILE:$LINENO: ERROR: Object type \"$OBJTYPE\" is unknown." + rv = 1 + break; + + fi + +done + + + + + +if test -d "$TMPDIR"; then + rm -rf "$TMPDIR" +fi + +exit $rv + |