From ce47e20ed3f172bb04a2d4055a9326fec1c879b0 Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Sun, 24 Mar 2019 21:35:42 +0900 Subject: Fixed building of libkcal tests. Some of the tests still fails when executed. This relates to bug 2719. Special thanks to Emanoil Kotsev for providing an inital patch for the same bug, from which I reused a small section of code. Signed-off-by: Michele Calgaro --- CMakeLists.txt | 1 + libkcal/CMakeLists.txt | 1 + libkcal/tests/CMakeLists.txt | 82 ++++++++++++++++++++++++++++++++++++ libkcal/tests/Makefile.am | 2 - libkcal/tests/readandwrite.cpp | 5 +-- libkcal/tests/testrecurprevious.cpp | 5 +-- libkcal/tests/testrecurrence.cpp | 5 +-- libkcal/tests/testrecurrencetype.cpp | 5 +-- libkcal/tests/testrecurson.cpp | 5 +-- libkcal/tests/testvcalexport.cpp | 5 +-- 10 files changed, 90 insertions(+), 26 deletions(-) create mode 100644 libkcal/tests/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 852ac4a5..88cc5427 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,6 +28,7 @@ include( CheckCSourceCompiles ) include( CheckCXXSourceCompiles ) include( CheckLibraryExists ) include( CheckSymbolExists ) +enable_testing( ) ##### include our cmake modules ################# diff --git a/libkcal/CMakeLists.txt b/libkcal/CMakeLists.txt index af759feb..dbded2cb 100644 --- a/libkcal/CMakeLists.txt +++ b/libkcal/CMakeLists.txt @@ -17,6 +17,7 @@ tde_import( libkmime ) tde_import( ktnef ) add_subdirectory( versit ) +add_subdirectory( tests ) include_directories( ${CMAKE_CURRENT_BINARY_DIR} diff --git a/libkcal/tests/CMakeLists.txt b/libkcal/tests/CMakeLists.txt new file mode 100644 index 00000000..386982c4 --- /dev/null +++ b/libkcal/tests/CMakeLists.txt @@ -0,0 +1,82 @@ +################################################# +# +# (C) 2019 Michele Calgaro +# michele (DOT) calgaro (AT) yahoo (DOT) it +# +# Improvements and feedbacks are welcome +# +# This file is released under GPL >= 3 +# +################################################# + +include_directories( + ${TQT_INCLUDE_DIRS} + ${TDE_INCLUDE_DIR} + ${CMAKE_SOURCE_DIR} + ${CMAKE_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_SOURCE_DIR}/libkcal + ${CMAKE_SOURCE_DIR}/libtdepim +) + +set( _link_libkcal_tests + ${TQT_LIBRARIES} + DCOP-shared + tdecore-shared + tdeui-shared + tdefx-shared + tdeio-shared + tdetexteditor-shared + kcal-shared +) + + +### executable files + +set( _test_executables + fbrecurring readandwrite testcalendar testcalselectdialog testfb testfields testincidence testrecurprevious + testrecurrence testrecurrencetype testrecurson testresource testtostring testvcalexport +) + +foreach( _test_name ${_test_executables} ) + tde_add_check_executable( ${_test_name} + SOURCES ${_test_name}.cpp AUTOMOC + LINK ${_link_libkcal_tests} + ) +endforeach( ) + +set_target_properties( testfields + PROPERTIES COMPILE_FLAGS -DINPUT='\"${CMAKE_CURRENT_SOURCE_DIR}/data/test_pilot.ics\"' +) + + +### tests + +add_custom_command( + TARGET fbrecurring PRE_BUILD + COMMAND test -d data || cp -vr ${CMAKE_CURRENT_SOURCE_DIR}/data data + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} +) + +set ( _test1 testrecurrence "next" ${CMAKE_CURRENT_SOURCE_DIR}/data/RecurrenceRule/*.ics ) +set ( _test2 testrecurprevious "prev" ${CMAKE_CURRENT_SOURCE_DIR}/data/RecurrenceRule/*.ics ) +set ( _test3 testrecurson "recurson" ${CMAKE_CURRENT_SOURCE_DIR}/data/RecurrenceRule/*.ics ) +set ( _test4 readandwrite "ical" ${CMAKE_CURRENT_SOURCE_DIR}/data/Compat/*.ics ) +set ( _test5 testvcalexport "vcal" ${CMAKE_CURRENT_SOURCE_DIR}/data/vCalendar/*.ics ) +set ( _test6 readandwrite "ical" ${CMAKE_CURRENT_SOURCE_DIR}/data/vCalendar/*.vcs ) +set ( _all_tests _test1 _test2 _test3 _test4 _test5 _test6 ) + +foreach( _test_name ${_all_tests} ) + list( GET ${_test_name} 0 _test_executable ) + list( GET ${_test_name} 1 _test_id ) + list( GET ${_test_name} 2 _test_search_filter ) + file( GLOB_RECURSE _test_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${_test_search_filter} ) + foreach( _test_file ${_test_files} ) + add_test( + ${_test_executable}__${_test_file}__ + ${CMAKE_CURRENT_SOURCE_DIR}/runtestcase.pl ${_test_executable} ${_test_id} ${CMAKE_CURRENT_BINARY_DIR}/${_test_file} + ) + endforeach( ) +endforeach( ) + diff --git a/libkcal/tests/Makefile.am b/libkcal/tests/Makefile.am index b9b1cc25..9b7e6cbb 100644 --- a/libkcal/tests/Makefile.am +++ b/libkcal/tests/Makefile.am @@ -4,8 +4,6 @@ INCLUDES = -I$(top_srcdir)/libkcal \ -I../libical/src/libicalss -I$(srcdir)/../versit \ -I$(top_srcdir) $(all_includes) -AM_CPPFLAGS = -DKDETOPSRCDIR=\"$(top_srcdir)\" - check_PROGRAMS = testtostring \ testincidence \ testcalendar \ diff --git a/libkcal/tests/readandwrite.cpp b/libkcal/tests/readandwrite.cpp index 5f6c3488..23056d6e 100644 --- a/libkcal/tests/readandwrite.cpp +++ b/libkcal/tests/readandwrite.cpp @@ -22,7 +22,7 @@ #include "calendarlocal.h" extern "C" { -#include "icaltimezone.h" +#include "libical/icaltimezone.h" } #include @@ -58,9 +58,6 @@ int main( int argc, char **argv ) args->usage( "Wrong number of arguments." ); } - // use zoneinfo data from source dir - set_zone_directory( KDETOPSRCDIR "/libkcal/libical/zoneinfo" ); - TQString input = TQFile::decodeName( args->arg( 0 ) ); TQString output = TQFile::decodeName( args->arg( 1 ) ); diff --git a/libkcal/tests/testrecurprevious.cpp b/libkcal/tests/testrecurprevious.cpp index 2dae1543..d8cd90ab 100644 --- a/libkcal/tests/testrecurprevious.cpp +++ b/libkcal/tests/testrecurprevious.cpp @@ -23,7 +23,7 @@ #include "calendarlocal.h" extern "C" { -#include "icaltimezone.h" +#include "libical/icaltimezone.h" } #include @@ -61,9 +61,6 @@ int main( int argc, char **argv ) args->usage( "Wrong number of arguments." ); } - // use zoneinfo data from source dir - set_zone_directory( KDETOPSRCDIR "/libkcal/libical/zoneinfo" ); - TQString input = TQFile::decodeName( args->arg( 0 ) ); kdDebug(5800) << "Input file: " << input << endl; diff --git a/libkcal/tests/testrecurrence.cpp b/libkcal/tests/testrecurrence.cpp index 5a77de86..c8eaaa06 100644 --- a/libkcal/tests/testrecurrence.cpp +++ b/libkcal/tests/testrecurrence.cpp @@ -23,7 +23,7 @@ #include "calendarlocal.h" extern "C" { -#include "icaltimezone.h" +#include "libical/icaltimezone.h" } #include @@ -61,9 +61,6 @@ int main( int argc, char **argv ) args->usage( "Wrong number of arguments." ); } - // use zoneinfo data from source dir - set_zone_directory( KDETOPSRCDIR "/libkcal/libical/zoneinfo" ); - TQString input = TQFile::decodeName( args->arg( 0 ) ); kdDebug(5800) << "Input file: " << input << endl; diff --git a/libkcal/tests/testrecurrencetype.cpp b/libkcal/tests/testrecurrencetype.cpp index 5a77de86..c8eaaa06 100644 --- a/libkcal/tests/testrecurrencetype.cpp +++ b/libkcal/tests/testrecurrencetype.cpp @@ -23,7 +23,7 @@ #include "calendarlocal.h" extern "C" { -#include "icaltimezone.h" +#include "libical/icaltimezone.h" } #include @@ -61,9 +61,6 @@ int main( int argc, char **argv ) args->usage( "Wrong number of arguments." ); } - // use zoneinfo data from source dir - set_zone_directory( KDETOPSRCDIR "/libkcal/libical/zoneinfo" ); - TQString input = TQFile::decodeName( args->arg( 0 ) ); kdDebug(5800) << "Input file: " << input << endl; diff --git a/libkcal/tests/testrecurson.cpp b/libkcal/tests/testrecurson.cpp index f5d1841c..028273e2 100644 --- a/libkcal/tests/testrecurson.cpp +++ b/libkcal/tests/testrecurson.cpp @@ -23,7 +23,7 @@ #include "calendarlocal.h" extern "C" { -#include "icaltimezone.h" +#include "libical/icaltimezone.h" } #include @@ -61,9 +61,6 @@ int main( int argc, char **argv ) args->usage( "Wrong number of arguments." ); } - // use zoneinfo data from source dir - set_zone_directory( KDETOPSRCDIR "/libkcal/libical/zoneinfo" ); - TQString input = TQFile::decodeName( args->arg( 0 ) ); kdDebug(5800) << "Input file: " << input << endl; diff --git a/libkcal/tests/testvcalexport.cpp b/libkcal/tests/testvcalexport.cpp index 7cf619d0..b24894e3 100644 --- a/libkcal/tests/testvcalexport.cpp +++ b/libkcal/tests/testvcalexport.cpp @@ -26,7 +26,7 @@ #include "filestorage.h" extern "C" { -#include "icaltimezone.h" +#include "libical/icaltimezone.h" } #include @@ -62,9 +62,6 @@ int main( int argc, char **argv ) args->usage( "Wrong number of arguments." ); } - // use zoneinfo data from source dir - set_zone_directory( KDETOPSRCDIR "/libkcal/libical/zoneinfo" ); - TQString input = TQFile::decodeName( args->arg( 0 ) ); TQString output = TQFile::decodeName( args->arg( 1 ) ); -- cgit v1.2.3