LINK_DIRECTORIES( ${GLIB2_LIBRARY_DIRS} ${LIBXML2_LIBRARY_DIRS} ${CHECK_LIBRARY_DIRS} )
INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR} ${CHECK_INCLUDE_DIRS} ${GLIB2_INCLUDE_DIRS} ${LIBXML2_INCLUDE_DIRS} )

ADD_SUBDIRECTORY( mock-plugin )

#### Contacts ####################################
SET( TICKETURL "https://opensync.org/ticket/" )

########### support #################	
ADD_LIBRARY( support STATIC support.c )
TARGET_LINK_LIBRARIES( support opensync-testing ${CHECK_LIBRARIES} )

############ unit tests ##########################	

SET( TEST_TARGET_LIBRARIES support ) 

ADD_TEST( symbols ${CMAKE_CURRENT_SOURCE_DIR}/abiapi-tests/check-symbols ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} )

### Example how to diasble a testcase ###
# OSYNC_TESTCASE_DISABLED(lock lock_dual_sync_engine_unclean "1066" ) 
# OSYNC_TESTCASE_DISABLED($test_binary $testcase_name "$ticket_number" ) 

BUILD_CHECK_TEST( error check_error.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(error error_create)
OSYNC_TESTCASE(error error_create_null)
OSYNC_TESTCASE(error error_get_name_null)
OSYNC_TESTCASE(error error_get_name_null2)
OSYNC_TESTCASE(error error_get_name)
OSYNC_TESTCASE(error error_free_null)
OSYNC_TESTCASE(error error_free_null2)
OSYNC_TESTCASE(error error_free)
OSYNC_TESTCASE(error error_check_null)
OSYNC_TESTCASE(error error_check_null2)
OSYNC_TESTCASE(error error_check)
OSYNC_TESTCASE(error error_check2)
OSYNC_TESTCASE(error error_stack_null)
OSYNC_TESTCASE(error error_stack_null2)
OSYNC_TESTCASE(error error_stack)
OSYNC_TESTCASE(error error_stack2)
OSYNC_TESTCASE(error error_set_null)
OSYNC_TESTCASE(error error_duplicate_null)
OSYNC_TESTCASE(error error_duplicate)

BUILD_CHECK_TEST( archive archive-tests/check_archive.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(archive archive_new)
OSYNC_TESTCASE(archive archive_load_changes)
OSYNC_TESTCASE(archive archive_save_change)
OSYNC_TESTCASE(archive archive_save_data)
OSYNC_TESTCASE(archive archive_load_data)
OSYNC_TESTCASE(archive archive_load_data_with_closing_db)

BUILD_CHECK_TEST(capabilities capabilities-tests/check_capabilities.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(capabilities capabilities_new)
OSYNC_TESTCASE(capabilities capability_new)
OSYNC_TESTCASE(capabilities capabilities_parse)

BUILD_CHECK_TEST(client client-tests/check_client.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(client client_new)
IF (NOT WIN32)
OSYNC_TESTCASE(client client_pipes)
OSYNC_TESTCASE(client client_run)
ENDIF (NOT WIN32)
OSYNC_TESTCASE(client client_threadcom)
OSYNC_TESTCASE(client client_run_threadcom)


BUILD_CHECK_TEST( filter sync-tests/check_filter.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(filter filter_setup)
OSYNC_TESTCASE(filter filter_sync_deny_all)
OSYNC_TESTCASE(filter filter_sync_custom)
OSYNC_TESTCASE(filter filter_save_and_load)
OSYNC_TESTCASE(filter filter_destobjtype_delete)

BUILD_CHECK_TEST( conv format-tests/check_conv.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(conv conv_env_create)
OSYNC_TESTCASE(conv conv_env_register_objformat)
OSYNC_TESTCASE(conv conv_env_register_objformat_count)
OSYNC_TESTCASE(conv conv_env_objformat_find)
OSYNC_TESTCASE(conv conv_env_objformat_find_false)
OSYNC_TESTCASE(conv conv_env_register_converter)
OSYNC_TESTCASE(conv conv_env_register_converter_count)
OSYNC_TESTCASE(conv conv_env_converter_find)
OSYNC_TESTCASE(conv conv_env_converter_find_false)
OSYNC_TESTCASE(conv conv_env_register_filter)
OSYNC_TESTCASE(conv conv_env_register_filter_count)
OSYNC_TESTCASE(conv conv_find_path)
OSYNC_TESTCASE(conv conv_find_path2)
OSYNC_TESTCASE(conv conv_find_path_false)
OSYNC_TESTCASE(conv conv_find_multi_path)
OSYNC_TESTCASE(conv conv_find_multi_path_with_preferred)
OSYNC_TESTCASE(conv conv_find_circular_false)
OSYNC_TESTCASE(conv conv_find_complex)
OSYNC_TESTCASE(conv conv_find_multi_target)
OSYNC_TESTCASE(conv conv_find_multi_target2)
OSYNC_TESTCASE(conv conv_find_multi_path_multi_target)
OSYNC_TESTCASE(conv conv_find_multi_path_multi_target_with_preferred)
OSYNC_TESTCASE(conv conv_env_convert1)
OSYNC_TESTCASE(conv conv_env_convert_back)
OSYNC_TESTCASE(conv conv_env_convert_desenc)
OSYNC_TESTCASE(conv conv_env_convert_desenc_complex)
OSYNC_TESTCASE(conv conv_env_detect_and_convert)
OSYNC_TESTCASE(conv conv_prefer_not_desencap)
OSYNC_TESTCASE(conv conv_prefer_same_objtype)
OSYNC_TESTCASE(conv conv_prefer_not_lossy_objtype_change)
OSYNC_TESTCASE(conv conv_env_detect_false)
OSYNC_TESTCASE(conv conv_env_decap_and_detect)
OSYNC_TESTCASE(conv conv_env_decap_and_detect2)

BUILD_CHECK_TEST( converter format-tests/check_converter.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(converter converter_create)
OSYNC_TESTCASE(converter converter_get)
OSYNC_TESTCASE(converter converter_create_decap)
OSYNC_TESTCASE(converter converter_create_detector)
OSYNC_TESTCASE(converter converter_matches)
OSYNC_TESTCASE(converter converter_detect)
OSYNC_TESTCASE(converter converter_detector_invoke)
OSYNC_TESTCASE(converter converter_detect_non_detector)

OSYNC_TESTCASE(converter converter_conv_invoke)
OSYNC_TESTCASE(converter converter_decap_invoke)
OSYNC_TESTCASE(converter converter_encap_invoke)

OSYNC_TESTCASE(converter converter_conv_invoke_const)
OSYNC_TESTCASE(converter converter_decap_invoke_const)
OSYNC_TESTCASE(converter converter_encap_invoke_const)

OSYNC_TESTCASE(converter converter_path_create)
OSYNC_TESTCASE(converter converter_path_add)
OSYNC_TESTCASE(converter converter_config)

BUILD_CHECK_TEST( datatest data-tests/check_data.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(datatest data_new)
OSYNC_TESTCASE(datatest data_new_with_data)
OSYNC_TESTCASE(datatest data_set_data)
OSYNC_TESTCASE(datatest data_set_data2)
OSYNC_TESTCASE(datatest data_objformat)
OSYNC_TESTCASE(datatest data_objtype)

BUILD_CHECK_TEST( detect format-tests/check_detect.c ${TEST_TARGET_LIBRARIES} ) 
OSYNC_TESTCASE(detect detect_smart)
OSYNC_TESTCASE(detect detect_different_objtype)
OSYNC_TESTCASE(detect detect_smart_no)

BUILD_CHECK_TEST( engine engine-tests/check_engine.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE( engine engine_new )
OSYNC_TESTCASE( engine engine_init )
OSYNC_TESTCASE( engine engine_sync )
OSYNC_TESTCASE( engine engine_sync_multi_obj )
OSYNC_TESTCASE( engine engine_sync_out_of_order )
OSYNC_TESTCASE( engine engine_sync_reuse )
OSYNC_TESTCASE( engine engine_sync_stress )
OSYNC_TESTCASE( engine engine_sync_read_write )
OSYNC_TESTCASE( engine engine_sync_read_write_stress )
OSYNC_TESTCASE( engine engine_sync_read_write_stress2 )

BUILD_CHECK_TEST( engine-error engine-tests/check_engine_error.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE( engine-error engine_error_single_init_error)
OSYNC_TESTCASE( engine-error engine_error_double_init_error)
OSYNC_TESTCASE( engine-error engine_error_no_config_error)
OSYNC_TESTCASE( engine-error engine_error_no_objtype_error)
OSYNC_TESTCASE( engine-error engine_error_dual_connect_error)
OSYNC_TESTCASE( engine-error engine_error_one_of_two_connect_error)
OSYNC_TESTCASE( engine-error engine_error_two_of_three_connect_error)
OSYNC_TESTCASE( engine-error engine_error_two_of_three_connect_error2)
OSYNC_TESTCASE( engine-error engine_error_three_of_three_connect_error)
OSYNC_TESTCASE( engine-error engine_error_one_of_three_connect_error)
OSYNC_TESTCASE( engine-error engine_error_no_connect_error)
OSYNC_TESTCASE( engine-error engine_error_single_connect_timeout)
OSYNC_TESTCASE( engine-error engine_error_dual_connect_timeout)
OSYNC_TESTCASE( engine-error engine_error_one_of_three_timeout)
OSYNC_TESTCASE( engine-error engine_error_timeout_and_error)
OSYNC_TESTCASE( engine-error engine_error_single_get_changes_error)
OSYNC_TESTCASE( engine-error engine_error_dual_get_changes_error)
OSYNC_TESTCASE( engine-error engine_error_two_of_three_get_changes_error)
OSYNC_TESTCASE( engine-error engine_error_one_of_three_get_changes_error)
OSYNC_TESTCASE( engine-error engine_error_one_of_three_get_changes_timeout)
OSYNC_TESTCASE( engine-error engine_error_get_changes_timeout_and_error)
OSYNC_TESTCASE( engine-error engine_error_get_changes_timeout_sleep)
OSYNC_TESTCASE( engine-error engine_error_single_commit_error)
OSYNC_TESTCASE( engine-error engine_error_dual_commit_error)
OSYNC_TESTCASE( engine-error engine_error_single_commit_timeout)
OSYNC_TESTCASE( engine-error engine_error_dual_commit_timeout)
OSYNC_TESTCASE( engine-error engine_error_commit_timeout_and_error)
OSYNC_TESTCASE( engine-error engine_error_commit_timeout_and_error2)
OSYNC_TESTCASE( engine-error engine_error_commit_error_modify)
OSYNC_TESTCASE( engine-error engine_error_commit_error_delete)
OSYNC_TESTCASE( engine-error engine_error_committed_all_error)
OSYNC_TESTCASE( engine-error engine_error_single_sync_done_error)
OSYNC_TESTCASE( engine-error engine_error_dual_sync_done_error)
OSYNC_TESTCASE( engine-error engine_error_triple_sync_done_error)
OSYNC_TESTCASE( engine-error engine_error_single_sync_done_timeout)
OSYNC_TESTCASE( engine-error engine_error_dual_sync_done_timeout)
OSYNC_TESTCASE( engine-error engine_error_sync_done_timeout_and_error)
OSYNC_TESTCASE( engine-error engine_error_single_disconnect_error)
OSYNC_TESTCASE( engine-error engine_error_dual_disconnect_error)
OSYNC_TESTCASE( engine-error engine_error_triple_disconnect_error)
OSYNC_TESTCASE( engine-error engine_error_single_disconnect_timeout)
OSYNC_TESTCASE( engine-error engine_error_dual_disconnect_timeout)
OSYNC_TESTCASE( engine-error engine_error_disconnect_timeout_and_error)
OSYNC_TESTCASE( engine-error engine_error_get_changes_disconnect_error)
OSYNC_TESTCASE( engine-error engine_error_missing_format_plugin)
OSYNC_TESTCASE( engine-error engine_error_discover_error)

BUILD_CHECK_TEST( formatenv format-tests/check_format_env.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(formatenv format_env_create)
OSYNC_TESTCASE(formatenv format_env_register_objformat)
OSYNC_TESTCASE(formatenv format_env_register_objformat_count)
OSYNC_TESTCASE(formatenv format_env_objformat_find)
OSYNC_TESTCASE(formatenv format_env_objformat_find_false)
OSYNC_TESTCASE(formatenv format_env_register_converter)
OSYNC_TESTCASE(formatenv format_env_register_converter_count)
OSYNC_TESTCASE(formatenv format_env_converter_find)
OSYNC_TESTCASE(formatenv format_env_converter_find_false)
OSYNC_TESTCASE(formatenv format_env_register_filter)
OSYNC_TESTCASE(formatenv format_env_register_filter_count)
OSYNC_TESTCASE(formatenv format_env_load_plugins)
OSYNC_TESTCASE(formatenv format_env_plugin)

BUILD_CHECK_TEST( group group-tests/check_group.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(group group_last_sync)

BUILD_CHECK_TEST( hashtable helper-tests/check_hash.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(hashtable hashtable_new)
OSYNC_TESTCASE(hashtable hashtable_reload)
OSYNC_TESTCASE(hashtable hashtable_stress)

BUILD_CHECK_TEST( lock group-tests/check_lock.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(lock lock_simple_lock)
OSYNC_TESTCASE(lock lock_simple_seq_lock)
OSYNC_TESTCASE(lock lock_dual_lock)
OSYNC_TESTCASE(lock lock_dual_lock2)
OSYNC_TESTCASE(lock lock_dual_sync_engine_lock)
OSYNC_TESTCASE(lock lock_dual_sync_engine_unclean )

IF (NOT WIN32)
BUILD_CHECK_TEST( ipc ipc-tests/check_ipc.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(ipc ipc_new)
OSYNC_TESTCASE(ipc ipc_ref)
OSYNC_TESTCASE(ipc ipc_create)
OSYNC_TESTCASE(ipc ipc_connect)
OSYNC_TESTCASE(ipc ipc_payload)
OSYNC_TESTCASE(ipc ipc_payload_wait)
OSYNC_TESTCASE(ipc ipc_payload_stress)
OSYNC_TESTCASE(ipc ipc_payload_stress2)
OSYNC_TESTCASE(ipc ipc_large_payload)
OSYNC_TESTCASE(ipc ipc_error_no_pipe)
OSYNC_TESTCASE(ipc ipc_error_perm)
OSYNC_TESTCASE(ipc ipc_error_rem)
OSYNC_TESTCASE(ipc ipc_error_rem2)
OSYNC_TESTCASE(ipc ipc_loop_payload)
OSYNC_TESTCASE(ipc ipc_loop_stress)
OSYNC_TESTCASE(ipc ipc_loop_callback)
OSYNC_TESTCASE(ipc ipc_callback_break)
OSYNC_TESTCASE(ipc ipc_pipes)
OSYNC_TESTCASE(ipc ipc_pipes_stress)
OSYNC_TESTCASE(ipc ipc_callback_break_pipes)
OSYNC_TESTCASE(ipc ipc_timeout)
OSYNC_TESTCASE(ipc ipc_loop_with_timeout)
OSYNC_TESTCASE(ipc ipc_late_reply)
OSYNC_TESTCASE(ipc ipc_loop_timeout_with_idle)
OSYNC_TESTCASE(ipc ipc_timeout_noreplyq)
OSYNC_TESTCASE(ipc ipc_timeout_noreceiver)
ENDIF (NOT WIN32)

BUILD_CHECK_TEST( mapping mapping-tests/check_mapping.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(mapping mapping_new)
OSYNC_TESTCASE(mapping mapping_compare)

BUILD_CHECK_TEST( mapping_engine engine-tests/check_mapping_engine.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(mapping_engine mapping_engine_same_similar_conflict)
OSYNC_TESTCASE(mapping_engine mapping_engine_same_similar_conflict2)
OSYNC_TESTCASE(mapping_engine mapping_engine_same_similar_conflict_multi)

BUILD_CHECK_TEST( member group-tests/check_member.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(member member_new)
OSYNC_TESTCASE(member member_ref)
OSYNC_TESTCASE(member member_name)
OSYNC_TESTCASE(member member_name_save_and_load)
OSYNC_TESTCASE(member member_pluginname)
OSYNC_TESTCASE(member member_configdir)
OSYNC_TESTCASE(member member_configdir_deep_path)
OSYNC_TESTCASE(member member_config)
OSYNC_TESTCASE(member member_get_config_or_default)
OSYNC_TESTCASE(member member_id)

BUILD_CHECK_TEST( module module-tests/check_module.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(module module_create)
OSYNC_TESTCASE(module module_load)
OSYNC_TESTCASE(module module_load_false)
OSYNC_TESTCASE(module module_function)
OSYNC_TESTCASE(module module_function_false)
OSYNC_TESTCASE(module module_version)
OSYNC_TESTCASE(module module_check)

BUILD_CHECK_TEST( multisync sync-tests/check_multisync.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE( multisync multisync_easy_new)
OSYNC_TESTCASE( multisync multisync_dual_new)
OSYNC_TESTCASE( multisync multisync_triple_new)
OSYNC_TESTCASE( multisync multisync_easy_mod)
OSYNC_TESTCASE( multisync multisync_dual_mod)
OSYNC_TESTCASE( multisync multisync_triple_mod)
OSYNC_TESTCASE( multisync multisync_easy_del)
OSYNC_TESTCASE( multisync multisync_dual_del)
OSYNC_TESTCASE( multisync multisync_triple_del)

OSYNC_TESTCASE( multisync multisync_conflict_changetype_choose)
OSYNC_TESTCASE( multisync multisync_conflict_changetype_choose2)
OSYNC_TESTCASE( multisync multisync_conflict_hybrid_choose)
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)
OSYNC_TESTCASE( sync sync_easy_new)
OSYNC_TESTCASE( sync sync_easy_new_del)
OSYNC_TESTCASE( sync sync_easy_conflict)
OSYNC_TESTCASE( sync sync_easy_new_mapping)
OSYNC_TESTCASE( sync sync_easy_conflict_duplicate)
OSYNC_TESTCASE( sync sync_easy_conflict_abort)
OSYNC_TESTCASE( sync sync_conflict_duplicate2)
OSYNC_TESTCASE( sync sync_conflict_delay)
OSYNC_TESTCASE( sync sync_conflict_deldel)
OSYNC_TESTCASE( sync sync_moddel)
OSYNC_TESTCASE( sync sync_conflict_moddel)
OSYNC_TESTCASE( sync sync_easy_dualdel)
OSYNC_TESTCASE( sync sync_large)
OSYNC_TESTCASE( sync sync_detect_obj)
OSYNC_TESTCASE( sync sync_detect_obj2)
OSYNC_TESTCASE( sync sync_slowsync_connect)
OSYNC_TESTCASE( sync sync_slowsync_mainsink_connect)
OSYNC_TESTCASE( sync sync_initial_slow_sync)

BUILD_CHECK_TEST( sync-error sync-tests/check_sync_error.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(sync-error sync_error_single_init_error_noerror)

BUILD_CHECK_TEST( objformat format-tests/check_objformat.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(objformat objformat_new)
OSYNC_TESTCASE(objformat objformat_get)
OSYNC_TESTCASE(objformat objformat_equal)
OSYNC_TESTCASE(objformat objformat_compare)
OSYNC_TESTCASE(objformat objformat_destroy)
OSYNC_TESTCASE(objformat objformat_copy)
OSYNC_TESTCASE(objformat objformat_duplicate)
OSYNC_TESTCASE(objformat objformat_create)
OSYNC_TESTCASE(objformat objformat_print)
OSYNC_TESTCASE(objformat objformat_revision)
OSYNC_TESTCASE(objformat objformat_marshal)
OSYNC_TESTCASE(objformat objformat_demarshal)

BUILD_CHECK_TEST( plugin_config plugin-tests/check_plugin_config.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(plugin_config plugin_config_new)
OSYNC_TESTCASE(plugin_config plugin_config_new_nomemory)
OSYNC_TESTCASE(plugin_config plugin_config_supported)
OSYNC_TESTCASE(plugin_config plugin_config_subcomponents)
OSYNC_TESTCASE(plugin_config plugin_config_subcomponents_nomemory)
OSYNC_TESTCASE(plugin_config plugin_config_advancedoption)
OSYNC_TESTCASE(plugin_config plugin_config_advancedoption_set_get)
OSYNC_TESTCASE(plugin_config plugin_config_advancedoption_param)
OSYNC_TESTCASE(plugin_config plugin_config_authentication)
OSYNC_TESTCASE(plugin_config plugin_config_connection)
OSYNC_TESTCASE(plugin_config plugin_config_localization)
OSYNC_TESTCASE(plugin_config plugin_config_resources)
OSYNC_TESTCASE(plugin_config plugin_config_save_and_load)
OSYNC_TESTCASE(plugin_config plugin_config_save_and_load_connection_bluetooth)
OSYNC_TESTCASE(plugin_config plugin_config_save_and_load_connection_usb)
OSYNC_TESTCASE(plugin_config plugin_config_save_and_load_connection_irda)
OSYNC_TESTCASE(plugin_config plugin_config_save_and_load_connection_network)
OSYNC_TESTCASE(plugin_config plugin_config_save_and_load_connection_serial)

BUILD_CHECK_TEST( proxy client-tests/check_proxy.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(proxy proxy_new)
OSYNC_TESTCASE(proxy proxy_spawn)
OSYNC_TESTCASE(proxy proxy_init)
OSYNC_TESTCASE(proxy proxy_discover)
OSYNC_TESTCASE(proxy proxy_connect)

BUILD_CHECK_TEST( serializer ipc-tests/check_serializer.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(serializer serializer_pluginconfig)
OSYNC_TESTCASE(serializer serializer_pluginconfig_full)

BUILD_CHECK_TEST( time format-tests/check_time.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(time time_timezone_diff)
OSYNC_TESTCASE(time time_relative2tm)
OSYNC_TESTCASE(time time_unix_converters)

BUILD_CHECK_TEST( version version-tests/check_version.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(version version_new)
OSYNC_TESTCASE(version version_matches)
OSYNC_TESTCASE(version version_load_from_descriptions)

BUILD_CHECK_TEST( updater group-tests/check_updater.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(updater updater_init)
OSYNC_TESTCASE(updater updater_without_loaded_group)
OSYNC_TESTCASE(updater updater_action_required)
OSYNC_TESTCASE(updater updater_updates_directory)
OSYNC_TESTCASE(updater updater_invalid_stylesheet)
OSYNC_TESTCASE(updater updater_valid_stylesheet)
OSYNC_TESTCASE(updater updater_group_three_steps)

BUILD_CHECK_TEST( xmlformat capabilities-tests/check_xmlformat.c ${TEST_TARGET_LIBRARIES} )
OSYNC_TESTCASE(xmlformat xmlformat_new)
OSYNC_TESTCASE(xmlformat xmlformat_parse)
OSYNC_TESTCASE(xmlformat xmlformat_sort)
OSYNC_TESTCASE(xmlformat xmlformat_is_sorted)
OSYNC_TESTCASE(xmlformat xmlformat_search_field)
OSYNC_TESTCASE(xmlformat xmlformat_schema_validate)
OSYNC_TESTCASE(xmlformat xmlfield_new)
OSYNC_TESTCASE(xmlformat xmlfield_sort)
OSYNC_TESTCASE(xmlformat xmlfield_childlink_for_getter_setter)


CONFIGURE_FILE( "${CMAKE_CURRENT_SOURCE_DIR}/CTestCustom.cmake"
		"${CMAKE_BINARY_DIR}/CTestCustom.ctest")
