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>
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
;
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
;
33 int num_change_written
;
36 int num_engine_connected
;
37 int num_engine_connect_done
;
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
;
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 */
114 OSyncEngine
*osync_testing_create_engine_dummy(unsigned int member_size
);
116 /* System Env helper */
117 void osync_testing_system_abort(const char *command
);