Changeset 1708

Show
Ignore:
Timestamp:
02/10/07 12:05:40 (22 months ago)
Author:
mjahn
Message:

unit tests finally run with make check. Not runable checks are disabled
or moved to check_nw_multisync.c and check_nw_codes.c. (5 of 16 tests failed)

Location:
trunk/tests
Files:
2 added
18 modified

Legend:

Unmodified
Added
Removed
  • trunk/tests/check_codes.c

    r1697 r1708  
    278278        fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" == \"x\""), NULL); 
    279279        fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" == \"x\""), NULL); 
    280          
    281         destroy_testbed(testbed); 
    282 } 
    283 END_TEST 
    284  
    285 START_TEST (single_connect_timeout) 
    286 { 
    287         char *testbed = setup_testbed("sync_easy_new"); 
    288          
    289         setenv("CONNECT_TIMEOUT", "2", TRUE); 
    290          
    291         OSyncEnv *osync = init_env(); 
    292         OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); 
    293          
    294         OSyncError *error = NULL; 
    295         OSyncEngine *engine = osengine_new(group, &error); 
    296         osengine_set_memberstatus_callback(engine, member_status, NULL); 
    297         osengine_set_enginestatus_callback(engine, engine_status, NULL); 
    298         osengine_set_changestatus_callback(engine, entry_status, NULL); 
    299         osengine_set_conflict_callback(engine, conflict_handler_choose_modified, GINT_TO_POINTER(3)); 
    300         osengine_init(engine, &error); 
    301          
    302         fail_unless(!synchronize_once(engine, &error), NULL); 
    303         fail_unless(osync_error_is_set(&error), NULL); 
    304          
    305         fail_unless(num_member_connect_errors == 1, NULL); 
    306         fail_unless(num_connected == 1, NULL); 
    307         fail_unless(num_disconnected == 1, NULL); 
    308         fail_unless(num_member_sent_changes == 0, NULL); 
    309         fail_unless(num_engine_errors == 1, NULL); 
    310         fail_unless(num_engine_successfull == 0, NULL); 
    311          
    312         osync_error_free(&error); 
    313         osengine_finalize(engine); 
    314         osengine_free(engine); 
    315          
    316         fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" != \"x\""), NULL); 
    317          
    318         destroy_testbed(testbed); 
    319 } 
    320 END_TEST 
    321  
    322 START_TEST (dual_connect_timeout) 
    323 { 
    324         char *testbed = setup_testbed("sync_easy_new"); 
    325          
    326         setenv("CONNECT_TIMEOUT", "3", TRUE); 
    327          
    328         OSyncEnv *osync = init_env(); 
    329         OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); 
    330          
    331         OSyncError *error = NULL; 
    332         OSyncEngine *engine = osengine_new(group, &error); 
    333         osengine_set_memberstatus_callback(engine, member_status, NULL); 
    334         osengine_set_enginestatus_callback(engine, engine_status, NULL); 
    335         osengine_set_changestatus_callback(engine, entry_status, NULL); 
    336         osengine_set_conflict_callback(engine, conflict_handler_choose_modified, GINT_TO_POINTER(3)); 
    337         osengine_init(engine, &error); 
    338          
    339         fail_unless(!synchronize_once(engine, &error), NULL); 
    340         fail_unless(osync_error_is_set(&error), NULL); 
    341          
    342         fail_unless(num_member_connect_errors == 2, NULL); 
    343         fail_unless(num_connected == 0, NULL); 
    344         fail_unless(num_disconnected == 0, NULL); 
    345         fail_unless(num_member_sent_changes == 0, NULL); 
    346         fail_unless(num_engine_errors == 1, NULL); 
    347         fail_unless(num_engine_successfull == 0, NULL); 
    348          
    349         osync_error_free(&error); 
    350         osengine_finalize(engine); 
    351         osengine_free(engine); 
    352          
    353         fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" != \"x\""), NULL); 
    354          
    355         destroy_testbed(testbed); 
    356 } 
    357 END_TEST 
    358  
    359 START_TEST (one_of_three_timeout) 
    360 { 
    361         char *testbed = setup_testbed("multisync_easy_new"); 
    362          
    363         setenv("CONNECT_TIMEOUT", "2", TRUE); 
    364          
    365         OSyncEnv *osync = init_env(); 
    366         OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); 
    367          
    368         OSyncError *error = NULL; 
    369         OSyncEngine *engine = osengine_new(group, &error); 
    370         osengine_set_memberstatus_callback(engine, member_status, NULL); 
    371         osengine_set_enginestatus_callback(engine, engine_status, NULL); 
    372         osengine_set_changestatus_callback(engine, entry_status, NULL); 
    373         osengine_set_conflict_callback(engine, conflict_handler_choose_modified, GINT_TO_POINTER(3)); 
    374         osengine_init(engine, &error); 
    375          
    376         fail_unless(!synchronize_once(engine, &error), NULL); 
    377         fail_unless(osync_error_is_set(&error), NULL); 
    378          
    379         fail_unless(num_member_connect_errors == 1, NULL); 
    380         fail_unless(num_connected == 2, NULL); 
    381         fail_unless(num_disconnected == 2, NULL); 
    382         fail_unless(num_member_sent_changes == 0, NULL); 
    383         fail_unless(num_engine_errors == 1, NULL); 
    384         fail_unless(num_engine_successfull == 0, NULL); 
    385          
    386         osync_error_free(&error); 
    387         osengine_finalize(engine); 
    388         osengine_free(engine); 
    389          
    390         fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" != \"x\""), NULL); 
    391          
    392         destroy_testbed(testbed); 
    393 } 
    394 END_TEST 
    395  
    396 START_TEST (timeout_and_error) 
    397 { 
    398         char *testbed = setup_testbed("multisync_easy_new"); 
    399          
    400         setenv("CONNECT_TIMEOUT", "2", TRUE); 
    401         setenv("CONNECT_ERROR", "4", TRUE); 
    402          
    403         OSyncEnv *osync = init_env(); 
    404         OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); 
    405          
    406         OSyncError *error = NULL; 
    407         OSyncEngine *engine = osengine_new(group, &error); 
    408         osengine_set_memberstatus_callback(engine, member_status, NULL); 
    409         osengine_set_enginestatus_callback(engine, engine_status, NULL); 
    410         osengine_set_changestatus_callback(engine, entry_status, NULL); 
    411         osengine_set_conflict_callback(engine, conflict_handler_choose_modified, GINT_TO_POINTER(3)); 
    412         osengine_init(engine, &error); 
    413          
    414         fail_unless(!synchronize_once(engine, &error), NULL); 
    415         fail_unless(osync_error_is_set(&error), NULL); 
    416          
    417         fail_unless(num_member_connect_errors == 2, NULL); 
    418         fail_unless(num_connected == 1, NULL); 
    419         fail_unless(num_disconnected == 1, NULL); 
    420         fail_unless(num_member_sent_changes == 0, NULL); 
    421         fail_unless(num_engine_errors == 1, NULL); 
    422         fail_unless(num_engine_successfull == 0, NULL); 
    423          
    424         osync_error_free(&error); 
    425         osengine_finalize(engine); 
    426         osengine_free(engine); 
    427          
    428         fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" != \"x\""), NULL); 
    429280         
    430281        destroy_testbed(testbed); 
     
    591442END_TEST 
    592443 
    593 START_TEST (one_of_three_get_changes_timeout) 
    594 { 
    595         char *testbed = setup_testbed("multisync_conflict_data_choose2"); 
    596          
    597         setenv("GET_CHANGES_TIMEOUT", "1", TRUE); 
    598         setenv("NO_COMMITTED_ALL_CHECK", "1", TRUE); 
    599          
    600         OSyncEnv *osync = init_env(); 
    601         OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); 
    602          
    603         OSyncError *error = NULL; 
    604         OSyncEngine *engine = osengine_new(group, &error); 
    605         osengine_set_memberstatus_callback(engine, member_status, NULL); 
    606         osengine_set_enginestatus_callback(engine, engine_status, NULL); 
    607         osengine_set_changestatus_callback(engine, entry_status, NULL); 
    608         osengine_set_conflict_callback(engine, conflict_handler_choose_modified, GINT_TO_POINTER(3)); 
    609         osengine_init(engine, &error); 
    610          
    611         fail_unless(!synchronize_once(engine, &error), NULL); 
    612         fail_unless(osync_error_is_set(&error), NULL); 
    613          
    614         fail_unless(num_member_connect_errors == 0, NULL); 
    615         fail_unless(num_connected == 3, NULL); 
    616         fail_unless(num_disconnected == 3, NULL); 
    617         fail_unless(num_member_get_changes_errors == 1, NULL); 
    618         fail_unless(num_member_sent_changes == 2, NULL); 
    619         fail_unless(num_read == 2, NULL); 
    620         fail_unless(num_written == 0, NULL); 
    621         fail_unless(num_conflicts == 0, NULL); 
    622         fail_unless(num_engine_errors == 1, NULL); 
    623         fail_unless(num_engine_successfull == 0, NULL); 
    624          
    625         osync_error_free(&error); 
    626         osengine_finalize(engine); 
    627         osengine_free(engine); 
    628          
    629         fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" != \"x\""), NULL); 
    630          
    631         destroy_testbed(testbed); 
    632 } 
    633 END_TEST 
    634  
    635 START_TEST (get_changes_timeout_and_error) 
    636 { 
    637         char *testbed = setup_testbed("multisync_conflict_data_choose2"); 
    638          
    639         setenv("GET_CHANGES_TIMEOUT", "3", TRUE); 
    640         setenv("GET_CHANGES_ERROR", "4", TRUE); 
    641          
    642         OSyncEnv *osync = init_env(); 
    643         OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); 
    644          
    645         OSyncError *error = NULL; 
    646         OSyncEngine *engine = osengine_new(group, &error); 
    647         osengine_set_memberstatus_callback(engine, member_status, NULL); 
    648         osengine_set_enginestatus_callback(engine, engine_status, NULL); 
    649         osengine_set_changestatus_callback(engine, entry_status, NULL); 
    650         osengine_set_conflict_callback(engine, conflict_handler_choose_modified, GINT_TO_POINTER(3)); 
    651         osengine_init(engine, &error); 
    652          
    653         fail_unless(!synchronize_once(engine, &error), NULL); 
    654         fail_unless(osync_error_is_set(&error), NULL); 
    655          
    656         fail_unless(num_member_connect_errors == 0, NULL); 
    657         fail_unless(num_connected == 3, NULL); 
    658         fail_unless(num_disconnected == 3, NULL); 
    659         fail_unless(num_member_sent_changes == 0, NULL); 
    660         fail_unless(num_read == 0, NULL); 
    661         fail_unless(num_written == 0, NULL); 
    662         fail_unless(num_conflicts == 0, NULL); 
    663         fail_unless(num_engine_errors == 1, NULL); 
    664         fail_unless(num_engine_successfull == 0, NULL); 
    665          
    666         osync_error_free(&error); 
    667         osengine_finalize(engine); 
    668         osengine_free(engine); 
    669          
    670         fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" != \"x\""), NULL); 
    671          
    672         destroy_testbed(testbed); 
    673 } 
    674 END_TEST 
    675  
    676 START_TEST (get_changes_timeout_sleep) 
    677 { 
    678         char *testbed = setup_testbed("multisync_conflict_data_choose2"); 
    679          
    680         setenv("GET_CHANGES_TIMEOUT2", "7", TRUE); 
    681         setenv("NO_COMMITTED_ALL_CHECK", "1", TRUE); 
    682          
    683         OSyncEnv *osync = init_env(); 
    684         OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); 
    685          
    686         OSyncError *error = NULL; 
    687         OSyncEngine *engine = osengine_new(group, &error); 
    688         osengine_set_memberstatus_callback(engine, member_status, NULL); 
    689         osengine_set_enginestatus_callback(engine, engine_status, NULL); 
    690         osengine_set_changestatus_callback(engine, entry_status, NULL); 
    691         osengine_set_conflict_callback(engine, conflict_handler_choose_modified, GINT_TO_POINTER(3)); 
    692         osengine_init(engine, &error); 
    693          
    694         fail_unless(!synchronize_once(engine, &error), NULL); 
    695         fail_unless(osync_error_is_set(&error), NULL); 
    696          
    697         mark_point(); 
    698         osync_error_free(&error); 
    699         mark_point(); 
    700         osengine_finalize(engine); 
    701         mark_point(); 
    702         osengine_free(engine); 
    703          
    704         fail_unless(num_member_connect_errors == 0, NULL); 
    705         fail_unless(num_connected == 3, NULL); 
    706         fail_unless(num_disconnected == 3, NULL); 
    707         fail_unless(num_member_sent_changes == 0, NULL); 
    708         fail_unless(num_read == 0, NULL); 
    709         fail_unless(num_written == 0, NULL); 
    710         fail_unless(num_conflicts == 0, NULL); 
    711         fail_unless(num_engine_errors == 1, NULL); 
    712         fail_unless(num_engine_successfull == 0, NULL); 
    713          
    714         fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" != \"x\""), NULL); 
    715          
    716         destroy_testbed(testbed); 
    717 } 
    718 END_TEST 
    719  
    720444START_TEST (single_commit_error) 
    721445{ 
     
    770494         
    771495        setenv("COMMIT_ERROR", "6", TRUE); 
    772          
    773         OSyncEnv *osync = init_env(); 
    774         OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); 
    775          
    776         OSyncError *error = NULL; 
    777         OSyncEngine *engine = osengine_new(group, &error); 
    778         osengine_set_memberstatus_callback(engine, member_status, NULL); 
    779         osengine_set_enginestatus_callback(engine, engine_status, NULL); 
    780         osengine_set_changestatus_callback(engine, entry_status, NULL); 
    781         osengine_set_mappingstatus_callback(engine, mapping_status, NULL); 
    782         osengine_set_conflict_callback(engine, conflict_handler_choose_modified, GINT_TO_POINTER(3)); 
    783         osengine_init(engine, &error); 
    784          
    785         fail_unless(!synchronize_once(engine, &error), NULL); 
    786         fail_unless(osync_error_is_set(&error), NULL); 
    787          
    788         mark_point(); 
    789         osync_error_free(&error); 
    790         mark_point(); 
    791         osengine_finalize(engine); 
    792         mark_point(); 
    793         osengine_free(engine); 
    794          
    795         fail_unless(num_member_connect_errors == 0, NULL); 
    796         fail_unless(num_connected == 3, NULL); 
    797         fail_unless(num_disconnected == 3, NULL); 
    798         fail_unless(num_member_sent_changes == 3, NULL); 
    799         fail_unless(num_read == 1, NULL); 
    800         fail_unless(num_written == 0, NULL); 
    801         fail_unless(num_written_errors == 2, NULL); 
    802         fail_unless(num_mapping_errors == 2, NULL); 
    803         fail_unless(num_conflicts == 0, NULL); 
    804         fail_unless(num_engine_errors == 1, NULL); 
    805         fail_unless(num_engine_successfull == 0, NULL); 
    806          
    807         fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" != \"x\""), NULL); 
    808         fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" != \"x\""), NULL); 
    809          
    810         destroy_testbed(testbed); 
    811 } 
    812 END_TEST 
    813  
    814 START_TEST (single_commit_timeout) 
    815 { 
    816         char *testbed = setup_testbed("multisync_easy_new"); 
    817          
    818         setenv("COMMIT_TIMEOUT", "4", TRUE); 
    819          
    820         OSyncEnv *osync = init_env(); 
    821         OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); 
    822          
    823         OSyncError *error = NULL; 
    824         OSyncEngine *engine = osengine_new(group, &error); 
    825         osengine_set_memberstatus_callback(engine, member_status, NULL); 
    826         osengine_set_enginestatus_callback(engine, engine_status, NULL); 
    827         osengine_set_changestatus_callback(engine, entry_status, NULL); 
    828         osengine_set_mappingstatus_callback(engine, mapping_status, NULL); 
    829         osengine_set_conflict_callback(engine, conflict_handler_choose_modified, GINT_TO_POINTER(3)); 
    830         osengine_init(engine, &error); 
    831          
    832         fail_unless(!synchronize_once(engine, &error), NULL); 
    833         fail_unless(osync_error_is_set(&error), NULL); 
    834          
    835         mark_point(); 
    836         osync_error_free(&error); 
    837         mark_point(); 
    838         osengine_finalize(engine); 
    839         mark_point(); 
    840         osengine_free(engine); 
    841          
    842         fail_unless(num_member_connect_errors == 0, NULL); 
    843         fail_unless(num_connected == 3, NULL); 
    844         fail_unless(num_disconnected == 3, NULL); 
    845         fail_unless(num_member_sent_changes == 3, NULL); 
    846         fail_unless(num_read == 1, NULL); 
    847         fail_unless(num_written == 1, NULL); 
    848         fail_unless(num_written_errors == 1, NULL); 
    849         fail_unless(num_mapping_errors == 1, NULL); 
    850         fail_unless(num_conflicts == 0, NULL); 
    851         fail_unless(num_engine_errors == 1, NULL); 
    852         fail_unless(num_engine_successfull == 0, NULL); 
    853          
    854         fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" == \"x\""), NULL); 
    855         fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" != \"x\""), NULL); 
    856          
    857         destroy_testbed(testbed); 
    858 } 
    859 END_TEST 
    860  
    861 START_TEST (dual_commit_timeout) 
    862 { 
    863         char *testbed = setup_testbed("multisync_easy_new"); 
    864          
    865         setenv("COMMIT_TIMEOUT", "6", TRUE); 
    866          
    867         OSyncEnv *osync = init_env(); 
    868         OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); 
    869          
    870         OSyncError *error = NULL; 
    871         OSyncEngine *engine = osengine_new(group, &error); 
    872         osengine_set_memberstatus_callback(engine, member_status, NULL); 
    873         osengine_set_enginestatus_callback(engine, engine_status, NULL); 
    874         osengine_set_changestatus_callback(engine, entry_status, NULL); 
    875         osengine_set_mappingstatus_callback(engine, mapping_status, NULL); 
    876         osengine_set_conflict_callback(engine, conflict_handler_choose_modified, GINT_TO_POINTER(3)); 
    877         osengine_init(engine, &error); 
    878          
    879         fail_unless(!synchronize_once(engine, &error), NULL); 
    880         fail_unless(osync_error_is_set(&error), NULL); 
    881          
    882         mark_point(); 
    883         osync_error_free(&error); 
    884         mark_point(); 
    885         osengine_finalize(engine); 
    886         mark_point(); 
    887         osengine_free(engine); 
    888          
    889         fail_unless(num_member_connect_errors == 0, NULL); 
    890         fail_unless(num_connected == 3, NULL); 
    891         fail_unless(num_disconnected == 3, NULL); 
    892         fail_unless(num_member_sent_changes == 3, NULL); 
    893         fail_unless(num_read == 1, NULL); 
    894         fail_unless(num_written == 0, NULL); 
    895         fail_unless(num_written_errors == 2, NULL); 
    896         fail_unless(num_mapping_errors == 2, NULL); 
    897         fail_unless(num_conflicts == 0, NULL); 
    898         fail_unless(num_engine_errors == 1, NULL); 
    899         fail_unless(num_engine_successfull == 0, NULL); 
    900          
    901         fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" != \"x\""), NULL); 
    902         fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" != \"x\""), NULL); 
    903          
    904         destroy_testbed(testbed); 
    905 } 
    906 END_TEST 
    907  
    908 START_TEST (commit_timeout_and_error) 
    909 { 
    910         char *testbed = setup_testbed("multisync_easy_new"); 
    911          
    912         setenv("COMMIT_TIMEOUT", "4", TRUE); 
    913         setenv("COMMIT_ERROR", "2", TRUE); 
    914          
    915         OSyncEnv *osync = init_env(); 
    916         OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); 
    917          
    918         OSyncError *error = NULL; 
    919         OSyncEngine *engine = osengine_new(group, &error); 
    920         osengine_set_memberstatus_callback(engine, member_status, NULL); 
    921         osengine_set_enginestatus_callback(engine, engine_status, NULL); 
    922         osengine_set_changestatus_callback(engine, entry_status, NULL); 
    923         osengine_set_mappingstatus_callback(engine, mapping_status, NULL); 
    924         osengine_set_conflict_callback(engine, conflict_handler_choose_modified, GINT_TO_POINTER(3)); 
    925         osengine_init(engine, &error); 
    926          
    927         fail_unless(!synchronize_once(engine, &error), NULL); 
    928         fail_unless(osync_error_is_set(&error), NULL); 
    929          
    930         mark_point(); 
    931         osync_error_free(&error); 
    932         mark_point(); 
    933         osengine_finalize(engine); 
    934         mark_point(); 
    935         osengine_free(engine); 
    936          
    937         fail_unless(num_member_connect_errors == 0, NULL); 
    938         fail_unless(num_connected == 3, NULL); 
    939         fail_unless(num_disconnected == 3, NULL); 
    940         fail_unless(num_member_sent_changes == 3, NULL); 
    941         fail_unless(num_read == 1, NULL); 
    942         fail_unless(num_written == 0, NULL); 
    943         fail_unless(num_written_errors == 2, NULL); 
    944         fail_unless(num_mapping_errors == 2, NULL); 
    945         fail_unless(num_conflicts == 0, NULL); 
    946         fail_unless(num_engine_errors == 1, NULL); 
    947         fail_unless(num_engine_successfull == 0, NULL); 
    948          
    949         fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" != \"x\""), NULL); 
    950         fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" != \"x\""), NULL); 
    951          
    952         destroy_testbed(testbed); 
    953 } 
    954 END_TEST 
    955  
    956 START_TEST (commit_timeout_and_error2) 
    957 { 
    958         char *testbed = setup_testbed("multisync_easy_new"); 
    959          
    960         setenv("COMMIT_TIMEOUT", "2", TRUE); 
    961         setenv("COMMIT_ERROR", "4", TRUE); 
    962496         
    963497        OSyncEnv *osync = init_env(); 
     
    1310844         
    1311845        setenv("SYNC_DONE_ERROR", "7", TRUE); 
    1312          
    1313         OSyncEnv *osync = init_env(); 
    1314         OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); 
    1315          
    1316         OSyncError *error = NULL; 
    1317         OSyncEngine *engine = osengine_new(group, &error); 
    1318         osengine_set_memberstatus_callback(engine, member_status, NULL); 
    1319         osengine_set_enginestatus_callback(engine, engine_status, NULL); 
    1320         osengine_set_changestatus_callback(engine, entry_status, NULL); 
    1321         osengine_set_mappingstatus_callback(engine, mapping_status, NULL); 
    1322         osengine_set_conflict_callback(engine, conflict_handler_choose_modified, GINT_TO_POINTER(3)); 
    1323         osengine_init(engine, &error); 
    1324          
    1325         fail_unless(!synchronize_once(engine, &error), NULL); 
    1326         fail_unless(osync_error_is_set(&error), NULL); 
    1327          
    1328         mark_point(); 
    1329         osync_error_free(&error); 
    1330         mark_point(); 
    1331         osengine_finalize(engine); 
    1332         mark_point(); 
    1333         osengine_free(engine); 
    1334          
    1335         fail_unless(num_member_connect_errors == 0, NULL); 
    1336         fail_unless(num_connected == 3, NULL); 
    1337         fail_unless(num_disconnected == 3, NULL); 
    1338         fail_unless(num_member_sent_changes == 3, NULL); 
    1339         fail_unless(num_read == 1, NULL); 
    1340         fail_unless(num_written == 2, NULL); 
    1341         fail_unless(num_written_errors == 0, NULL); 
    1342         fail_unless(num_mapping_errors == 0, NULL); 
    1343         fail_unless(num_conflicts == 0, NULL); 
    1344         fail_unless(num_member_sync_done_errors == 3, NULL); 
    1345         fail_unless(num_engine_errors == 1, NULL); 
    1346         fail_unless(num_engine_successfull == 0, NULL); 
    1347          
    1348         fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" == \"x\""), NULL); 
    1349         fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" == \"x\""), NULL); 
    1350          
    1351         destroy_testbed(testbed); 
    1352 } 
    1353 END_TEST 
    1354  
    1355 START_TEST (single_sync_done_timeout) 
    1356 { 
    1357         char *testbed = setup_testbed("multisync_easy_new"); 
    1358          
    1359         setenv("SYNC_DONE_TIMEOUT", "4", TRUE); 
    1360          
    1361         OSyncEnv *osync = init_env(); 
    1362         OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); 
    1363          
    1364         OSyncError *error = NULL; 
    1365         OSyncEngine *engine = osengine_new(group, &error); 
    1366         osengine_set_memberstatus_callback(engine, member_status, NULL); 
    1367         osengine_set_enginestatus_callback(engine, engine_status, NULL); 
    1368         osengine_set_changestatus_callback(engine, entry_status, NULL); 
    1369         osengine_set_mappingstatus_callback(engine, mapping_status, NULL); 
    1370         osengine_set_conflict_callback(engine, conflict_handler_choose_modified, GINT_TO_POINTER(3)); 
    1371         osengine_init(engine, &error); 
    1372          
    1373         fail_unless(!synchronize_once(engine, &error), NULL); 
    1374         fail_unless(osync_error_is_set(&error), NULL); 
    1375          
    1376         mark_point(); 
    1377         osync_error_free(&error); 
    1378         mark_point(); 
    1379         osengine_finalize(engine); 
    1380         mark_point(); 
    1381         osengine_free(engine); 
    1382          
    1383         fail_unless(num_member_connect_errors == 0, NULL); 
    1384         fail_unless(num_connected == 3, NULL); 
    1385         fail_unless(num_disconnected == 3, NULL); 
    1386         fail_unless(num_member_sent_changes == 3, NULL); 
    1387         fail_unless(num_read == 1, NULL); 
    1388         fail_unless(num_written == 2, NULL); 
    1389         fail_unless(num_written_errors == 0, NULL); 
    1390         fail_unless(num_mapping_errors == 0, NULL); 
    1391         fail_unless(num_conflicts == 0, NULL); 
    1392         fail_unless(num_member_sync_done_errors == 1, NULL); 
    1393         fail_unless(num_engine_errors == 1, NULL); 
    1394         fail_unless(num_engine_successfull == 0, NULL); 
    1395          
    1396         fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" == \"x\""), NULL); 
    1397         fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" == \"x\""), NULL); 
    1398          
    1399         destroy_testbed(testbed); 
    1400 } 
    1401 END_TEST 
    1402  
    1403 START_TEST (dual_sync_done_timeout) 
    1404 { 
    1405         char *testbed = setup_testbed("multisync_easy_new"); 
    1406          
    1407         setenv("SYNC_DONE_TIMEOUT", "6", TRUE); 
    1408          
    1409         OSyncEnv *osync = init_env(); 
    1410         OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); 
    1411          
    1412         OSyncError *error = NULL; 
    1413         OSyncEngine *engine = osengine_new(group, &error); 
    1414         osengine_set_memberstatus_callback(engine, member_status, NULL); 
    1415         osengine_set_enginestatus_callback(engine, engine_status, NULL); 
    1416         osengine_set_changestatus_callback(engine, entry_status, NULL); 
    1417         osengine_set_mappingstatus_callback(engine, mapping_status, NULL); 
    1418         osengine_set_conflict_callback(engine, conflict_handler_choose_modified, GINT_TO_POINTER(3)); 
    1419         osengine_init(engine, &error); 
    1420          
    1421         fail_unless(!synchronize_once(engine, &error), NULL); 
    1422         fail_unless(osync_error_is_set(&error), NULL); 
    1423          
    1424         mark_point(); 
    1425         osync_error_free(&error); 
    1426         mark_point(); 
    1427         osengine_finalize(engine); 
    1428         mark_point(); 
    1429         osengine_free(engine); 
    1430          
    1431         fail_unless(num_member_connect_errors == 0, NULL); 
    1432         fail_unless(num_connected == 3, NULL); 
    1433         fail_unless(num_disconnected == 3, NULL); 
    1434         fail_unless(num_member_sent_changes == 3, NULL); 
    1435         fail_unless(num_read == 1, NULL); 
    1436         fail_unless(num_written == 2, NULL); 
    1437         fail_unless(num_written_errors == 0, NULL); 
    1438         fail_unless(num_mapping_errors == 0, NULL); 
    1439         fail_unless(num_conflicts == 0, NULL); 
    1440         fail_unless(num_member_sync_done_errors == 2, NULL); 
    1441         fail_unless(num_engine_errors == 1, NULL); 
    1442         fail_unless(num_engine_successfull == 0, NULL); 
    1443          
    1444         fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" == \"x\""), NULL); 
    1445         fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" == \"x\""), NULL); 
    1446          
    1447         destroy_testbed(testbed); 
    1448 } 
    1449 END_TEST 
    1450  
    1451 START_TEST (sync_done_timeout_and_error) 
    1452 { 
    1453         char *testbed = setup_testbed("multisync_easy_new"); 
    1454          
    1455         setenv("SYNC_DONE_TIMEOUT", "5", TRUE); 
    1456         setenv("SYNC_DONE_ERROR", "2", TRUE); 
    1457846         
    1458847        OSyncEnv *osync = init_env(); 
     
    16451034END_TEST 
    16461035 
    1647 START_TEST (single_disconnect_timeout) 
    1648 { 
    1649         char *testbed = setup_testbed("multisync_easy_new"); 
    1650          
    1651         setenv("DISCONNECT_TIMEOUT", "4", TRUE); 
    1652          
    1653         OSyncEnv *osync = init_env(); 
    1654         OSyncGroup *group = osync_group_load(osync, "configs/group", NULL); 
    1655          
    1656         OSyncError *error = NULL; 
    1657         OSyncEngine *engine = osengine_new(group, &error); 
    1658         osengine_set_memberstatus_callback(engine, member_status, NULL); 
    1659         osengine_set_enginestatus_callback(engine, engine_status, NULL); 
    1660         osengine_set_changestatus_callback(engine, entry_status, NULL); 
    1661         osengine_set_mappingstatus_callback(engine, mapping_status, NULL); 
    1662         osengine_set_conflict_callback(engine, conflict_handler_choose_modified, GINT_TO_POINTER(3)); 
    1663         osengine_init(engine, &error); 
    1664          
    1665         fail_unless(synchronize_once(engine, &error), NULL); 
    1666         fail_unless(!osync_error_is_set(&error), NULL); 
    1667          
    1668         mark_point(); 
    1669         osync_error_free(&error); 
    1670         mark_point(); 
    1671         osengine_finalize(engine); 
    1672         mark_point(); 
    1673         osengine_free(engine); 
    1674          
    1675         fail_unless(num_member_connect_errors == 0, NULL); 
    1676         fail_unless(num_connected == 3, NULL); 
    1677         fail_unless(num_disconnected == 2, NULL); 
    1678         fail_unless(num_member_sent_changes == 3, NULL); 
    1679         fail_unless(num_read == 1, NULL); 
    1680         fail_unless(num_written == 2, NULL); 
    1681         fail_unless(num_written_errors == 0, NULL); 
    1682         fail_unless(num_mapping_errors == 0, NULL); 
    1683         fail_unless(num_conflicts == 0, NULL); 
    1684         fail_unless(num_member_sync_done_errors == 0, NULL); 
    1685         fail_unless(num_member_disconnect_errors == 1, NULL); 
    1686         fail_unless(num_engine_errors == 0, NULL); 
    1687         fail_unless(num_engine_successfull == 1, NULL); 
    1688          
    1689         fail_unless(!system("test \"x$(diff -x \".*\" data1 data2)\" == \"x\""), NULL); 
    1690         fail_unless(!system("test \"x$(diff -x \".*\" data1 data3)\" == \"x\""), NULL); 
    1691          
    1692         destroy_testbed(testbed); 
    1693 } 
    1694 END_TEST 
    1695  
    1696 START_TEST (dual_disconnect_timeout) 
    1697 { 
    1698         char *testbed = setup_testbed("multisync_easy_new");