windows port - replaced sleep with g_usleep
[opensync.git] / tests / support.h
blobec9ba4c90a826ec62fff89609feacd7a5c4d8a95
1 #include <check.h>
3 #include <opensync/opensync.h>
4 #include <opensync/opensync_internals.h>
5 #include <opensync/opensync-engine.h>
6 #include <opensync/opensync-mapping.h>
7 #include <opensync/opensync-archive.h>
8 #include <opensync/opensync-helper.h>
9 #include <opensync/opensync-format.h>
10 #include <opensync/opensync-data.h>
11 #include <opensync/opensync-group.h>
12 #include <opensync/opensync-plugin.h>
14 #include "config.h"
17 int num_client_connected;
18 int num_client_main_connected;
19 int num_client_connect_done;
20 int num_client_main_connect_done;
21 int num_client_disconnected;
22 int num_client_main_disconnected;
23 int num_client_read;
24 int num_client_main_read;
25 int num_client_written;
26 int num_client_main_written;
27 int num_client_errors;
28 int num_client_sync_done;
29 int num_client_main_sync_done;
30 int num_client_discovered;
32 int num_change_read;
33 int num_change_written;
34 int num_change_error;
36 int num_engine_connected;
37 int num_engine_connect_done;
38 int num_engine_read;
39 int num_engine_written;
40 int num_engine_disconnected;
41 int num_engine_errors;
42 int num_engine_successful;
43 int num_engine_end_conflicts;
44 int num_engine_prev_unclean;
45 int num_engine_sync_done;
48 int num_mapping_solved;
49 int num_mapping_written;
50 int num_mapping_errors;
51 int num_mapping_conflicts;
53 void check_env(void);
55 char *setup_testbed(const char *fkt_name);
56 void destroy_testbed(char *path);
57 // create_case() with timeout of 30seconds (default)
58 void create_case(Suite *s, const char *name, TFun function);
59 // create_case_timeout() allow to specific a specific timeout - intended for breaking testcases which needs longer then 30seconds (default)
60 void create_case_timeout(Suite *s, const char *name, TFun function, int timeout);
62 void conflict_handler_random(OSyncEngine *engine, OSyncMapping *mapping, void *user_data);
64 OSyncMappingTable *mappingtable_load(const char *path, const char *objtype, int num_mappings);
65 void mappingtable_close(OSyncMappingTable *maptable);
67 OSyncHashTable *hashtable_load(const char *path, const char *objtype, int entries);
68 void check_hash(OSyncHashTable *table, const char *cmpuid);
69 void check_mapping(OSyncMappingTable *table, int memberid, int mappingid, int numentries, const char *uid);
71 void create_random_file(const char *path);
73 void reset_counters();
74 osync_bool synchronize_once(OSyncEngine *engine, OSyncError **error);
75 void discover_all_once(OSyncEngine *engine, OSyncError **error);
77 /* Status callbacks */
78 void member_status(OSyncMemberUpdate *status, void *user_data);
79 void entry_status(OSyncChangeUpdate *status, void *user_data);
80 void engine_status(OSyncEngineUpdate *status, void *user_data);
81 void mapping_status(OSyncMappingUpdate *status, void *user_data);
83 /* Conflict handlers */
84 void conflict_handler_choose_first(OSyncEngine *engine, OSyncMappingEngine *mapping, void *user_data);
85 void conflict_handler_choose_deleted(OSyncEngine *engine, OSyncMappingEngine *mapping, void *user_data);
86 void conflict_handler_choose_modified(OSyncEngine *engine, OSyncMappingEngine *mapping, void *user_data);
87 void conflict_handler_ignore(OSyncEngine *engine, OSyncMappingEngine *mapping, void *user_data);
88 void conflict_handler_duplicate(OSyncEngine *engine, OSyncMappingEngine *mapping, void *user_data);
89 void conflict_handler_abort(OSyncEngine *engine, OSyncMappingEngine *mapping, void *user_data);
90 void solve_conflict(OSyncMappingEngine *mapping);
91 void conflict_handler_delay(OSyncEngine *engine, OSyncMappingEngine *mapping, void *user_data);
93 /* Plugin Env helper */
94 OSyncFormatEnv *osync_testing_load_formatenv(const char *formatdir);
96 /* File testing helper */
97 osync_bool osync_testing_file_exists(const char *file);
98 osync_bool osync_testing_file_remove(const char *file);
99 osync_bool osync_testing_file_chmod(const char *file, int mode);
100 osync_bool osync_testing_file_copy(const char *source, const char *dest);
101 osync_bool osync_testing_diff(const char *file1, const char *file2);
103 /* Plugin config helper */
104 OSyncPluginConfig *simple_plugin_config(OSyncPluginConfig *config, const char *path, const char *objtype, const char *objformat, const char *format_config);
106 /* gdiff is GNU diff in Solaris */
107 #ifdef HAVE_SOLARIS
108 #define DIFF "gdiff"
109 #else
110 #define DIFF "diff"
111 #endif
113 /* Engine helper */
114 OSyncEngine *osync_testing_create_engine_dummy(unsigned int member_size);
116 /* System Env helper */
117 void osync_testing_system_abort(const char *command);