Changeset 139
- Timestamp:
- 04/21/06 00:02:28 (3 years ago)
- Files:
-
- branches/6620-branch/tests/check_ds.c (modified) (57 diffs)
- branches/6620-branch/tests/check_sync.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/6620-branch/tests/check_ds.c
r127 r139 47 47 48 48 gint data_received = 0; 49 unsignedint init_alerts_received = 0;50 unsignedint alerts_received = 0;51 unsignedint syncs_received = 0;52 unsignedint sync_ends_received = 0;53 unsignedint changes_received = 0;54 unsignedint replies_received = 0;55 unsignedint adds_received = 0;56 unsignedint add_replies_received = 0;57 unsignedint deletes_received = 0;58 unsignedint delete_replies_received = 0;59 unsignedint modifies_received = 0;60 unsignedint modify_replies_received = 0;61 unsignedint session_ends = 0;49 int init_alerts_received = 0; 50 int alerts_received = 0; 51 int syncs_received = 0; 52 int sync_ends_received = 0; 53 int changes_received = 0; 54 int replies_received = 0; 55 int adds_received = 0; 56 int add_replies_received = 0; 57 int deletes_received = 0; 58 int delete_replies_received = 0; 59 int modifies_received = 0; 60 int modify_replies_received = 0; 61 int session_ends = 0; 62 62 63 63 SmlTransportData *to_session = NULL; … … 225 225 226 226 corr->dsession = dsession; 227 init_alerts_received++;227 g_atomic_int_add(&init_alerts_received, 1); 228 228 smlDsSessionRef(dsession); 229 229 … … 238 238 fail_unless(next != NULL, NULL); 239 239 240 alerts_received++;240 g_atomic_int_add(&alerts_received, 1); 241 241 242 242 smlTrace(TRACE_EXIT, "%s", __func__); … … 244 244 } 245 245 246 void _recv_sync(SmlDsSession *dsession, unsigned int numChanges, void *userdata)246 static void _recv_sync(SmlDsSession *dsession, unsigned int numChanges, void *userdata) 247 247 { 248 248 smlTrace(TRACE_ENTRY, "%s()", __func__); 249 249 250 syncs_received++;250 g_atomic_int_add(&syncs_received, 1); 251 251 252 252 smlTrace(TRACE_EXIT, "%s", __func__); 253 253 } 254 254 255 SmlBool _recv_changes(SmlDsSession *dsession, SmlChangeType type, const char *uid, char *data, unsigned int size, SmlContentType contenttype, void *userdata, SmlError **error)255 static SmlBool _recv_changes(SmlDsSession *dsession, SmlChangeType type, const char *uid, char *data, unsigned int size, SmlContentType contenttype, void *userdata, SmlError **error) 256 256 { 257 257 smlTrace(TRACE_ENTRY, "%s(%p, %i, %s, %s, %i, %i, %p, %p)", __func__, dsession, type, uid, data, size, contenttype, userdata, error); 258 258 259 259 if (type == SML_CHANGE_ADD) { 260 adds_received++;261 fail_unless(!strcmp(uid, "uid"), NULL);262 fail_unless(!strcmp(data, "data"), NULL);263 fail_unless(size == 5, NULL);260 g_atomic_int_add(&adds_received, 1); 261 g_assert(!strcmp(uid, "uid")); 262 g_assert(!strncmp(data, "data", size)); 263 g_assert(size == 4); 264 264 } else if (type == SML_CHANGE_REPLACE) { 265 modifies_received++;266 fail_unless(!strcmp(uid, "uid"), NULL);267 fail_unless(!strcmp(data, "newdata"), NULL);268 fail_unless(size == 8, NULL);265 g_atomic_int_add(&modifies_received, 1); 266 g_assert(!strcmp(uid, "uid")); 267 g_assert(!strncmp(data, "newdata", size)); 268 g_assert(size == 7); 269 269 } else if (type == SML_CHANGE_DELETE) { 270 deletes_received++;271 fail_unless(!strcmp(uid, "uid"), NULL);272 fail_unless(!data, NULL);273 fail_unless(size == 0, NULL);270 g_atomic_int_add(&deletes_received, 1); 271 g_assert(!strcmp(uid, "uid")); 272 g_assert(!data); 273 g_assert(size == 0); 274 274 } else 275 275 fail(NULL); … … 278 278 return TRUE; 279 279 } 280 281 /*static void _map_reply(SmlSession *session, SmlStatus *status, void *userdata)282 {283 smlTrace(TRACE_ENTRY, "%s()", __func__);284 285 fail_unless(status != NULL, NULL);286 fail_unless(userdata == GINT_TO_POINTER(1), NULL);287 fail_unless(smlStatusGetClass(status) == SML_ERRORCLASS_SUCCESS, NULL);288 289 smlTrace(TRACE_EXIT, "%s", __func__);290 }291 292 SmlBool _recv_client_changes(SmlDsServer *server, SmlChangeType type, const char *uid, char *data, unsigned int size, SmlContentType contenttype, void *userdata, SmlError **error)293 {294 smlTrace(TRACE_ENTRY, "%s(%p, %i, %s, %s, %i, %i, %p, %p)", __func__, server, type, uid, data, size, contenttype, userdata, error);295 296 if (!type) {297 fail_unless(!uid, NULL);298 fail_unless(!data, NULL);299 client_changes_end = TRUE;300 301 if (client_send_map) {302 fail_unless(smlDsServerCloseMap(server, _map_reply, GINT_TO_POINTER(1), error), NULL);303 }304 } else if (type == SML_CHANGE_ADD) {305 clientrecvchanges++;306 fail_unless(!strcmp(uid, "uid"), NULL);307 fail_unless(!strcmp(data, "data"), NULL);308 fail_unless(size == 5, NULL);309 if (client_send_map) {310 fail_unless(smlDsServerQueueMap(server, uid, "newuid", error), NULL);311 }312 } else if (type == SML_CHANGE_REPLACE) {313 clientrecvchanges++;314 fail_unless(!strcmp(uid, "uid"), NULL);315 fail_unless(!strcmp(data, "newdata"), NULL);316 fail_unless(size == 8, NULL);317 } else if (type == SML_CHANGE_DELETE) {318 clientrecvchanges++;319 fail_unless(!strcmp(uid, "uid"), NULL);320 fail_unless(!data, NULL);321 fail_unless(size == 0, NULL);322 } else323 fail(NULL);324 325 smlTrace(TRACE_EXIT, "%s", __func__);326 return TRUE;327 }*/328 280 329 281 static void _alert_reply(SmlSession *dsession, SmlStatus *status, void *userdata) … … 339 291 } 340 292 341 replies_received++;293 g_atomic_int_add(&replies_received, 1); 342 294 343 295 smlTrace(TRACE_EXIT, "%s", __func__); … … 356 308 } 357 309 358 replies_received++;310 g_atomic_int_add(&replies_received, 1); 359 311 360 312 smlTrace(TRACE_EXIT, "%s", __func__); … … 374 326 fail_unless(newuid == NULL, NULL); 375 327 376 add_replies_received++;328 g_atomic_int_add(&add_replies_received, 1); 377 329 378 330 smlTrace(TRACE_EXIT, "%s", __func__); … … 389 341 fail_unless(newuid == NULL, NULL); 390 342 391 modify_replies_received++;343 g_atomic_int_add(&modify_replies_received, 1); 392 344 393 345 smlTrace(TRACE_EXIT, "%s", __func__); … … 404 356 fail_unless(newuid == NULL, NULL); 405 357 406 delete_replies_received++;407 358 g_atomic_int_add(&delete_replies_received, 1); 359 408 360 smlTrace(TRACE_EXIT, "%s", __func__); 409 361 } … … 416 368 fail_unless(smlStatusGetClass(status) == SML_ERRORCLASS_SUCCESS, NULL); 417 369 418 replies_received++;370 g_atomic_int_add(&replies_received, 1); 419 371 420 372 smlTrace(TRACE_EXIT, "%s", __func__); 421 373 } 422 423 /*static void _server_sent_change_add(SmlDsServer *server, SmlStatus *status, const char *newuid, void *userdata)424 {425 smlTrace(TRACE_ENTRY, "%s(%p, %p, %s, %p)", __func__, server, status, newuid, userdata);426 427 fail_unless(status != NULL, NULL);428 fail_unless(GPOINTER_TO_INT(userdata) == 1, NULL);429 fail_unless(smlStatusGetClass(status) == SML_ERRORCLASS_SUCCESS, NULL);430 fail_unless(!strcmp(newuid, "newuid"), NULL);431 432 servercommitreplies++;433 434 smlTrace(TRACE_EXIT, "%s", __func__);435 }436 437 static void _server_sent_change_repdel(SmlDsServer *server, SmlStatus *status, const char *newuid, void *userdata)438 {439 smlTrace(TRACE_ENTRY, "%s(%p, %p, %s, %p)", __func__, server, status, newuid, userdata);440 441 fail_unless(status != NULL, NULL);442 fail_unless(GPOINTER_TO_INT(userdata) == 1, NULL);443 fail_unless(smlStatusGetClass(status) == SML_ERRORCLASS_SUCCESS, NULL);444 fail_unless(newuid == NULL, NULL);445 446 servercommitreplies++;447 448 smlTrace(TRACE_EXIT, "%s", __func__);449 }450 451 void __client_final_handler_end(SmlSession *session, void *userdata)452 {453 smlTrace(TRACE_ENTRY, "%s(%p, %p)", __func__, session, userdata);454 SmlError *error = NULL;455 clientfinals++;456 457 fail_unless(!smlSessionFlush(session, TRUE, &error), NULL);458 fail_unless(error != NULL, NULL);459 smlErrorDeref(&error);460 461 smlTrace(TRACE_EXIT, "%s", __func__);462 }463 464 void __client_final_handler3(SmlSession *session, void *userdata)465 {466 smlTrace(TRACE_ENTRY, "%s(%p, %p)", __func__, session, userdata);467 SmlError *error = NULL;468 clientfinals++;469 470 if (clientfinals == clientsessionend) {471 smlSessionRegisterFinalHandler(session, __client_final_handler_end, userdata);472 } else {473 fail(NULL);474 }475 476 fail_unless(smlSessionFlush(session, TRUE, &error), NULL);477 fail_unless(error == NULL, NULL);478 479 smlTrace(TRACE_EXIT, "%s", __func__);480 }481 482 void __client_final_handler2(SmlSession *session, void *userdata)483 {484 smlTrace(TRACE_ENTRY, "%s(%p, %p)", __func__, session, userdata);485 SmlDsServer *server = (SmlDsServer *)userdata;486 SmlError *error = NULL;487 clientfinals++;488 489 if (client_request_changes) {490 fail_unless(smlDsServerRequestChanges(server, _recv_client_changes, _recv_sync, userdata, &error), NULL);491 fail_unless(error == NULL, NULL);492 }493 494 if (clientfinals == clientsessionend) {495 smlSessionRegisterFinalHandler(session, __client_final_handler_end, userdata);496 } else {497 smlSessionRegisterFinalHandler(session, __client_final_handler3, userdata);498 }499 500 fail_unless(smlSessionFlush(session, TRUE, &error), NULL);501 fail_unless(error == NULL, NULL);502 503 smlTrace(TRACE_EXIT, "%s", __func__);504 }505 506 void __client_final_handler(SmlSession *session, void *userdata)507 {508 smlTrace(TRACE_ENTRY, "%s(%p, %p)", __func__, session, userdata);509 SmlDsServer *server = (SmlDsServer *)userdata;510 SmlError *error = NULL;511 clientfinals++;512 513 if (client_request_alert) {514 fail_unless(smlDsServerRequestAlert(server, _recv_alert, userdata, &error), NULL);515 fail_unless(error == NULL, NULL);516 }517 518 if (client_send_changes) {519 fail_unless(smlDsServerSendSync(server, 0, _alert_reply, GINT_TO_POINTER(1), &error), NULL);520 fail_unless(error == NULL, NULL);521 522 if (client_send_add) {523 fail_unless(smlDsServerQueueChange(server, SML_CHANGE_ADD, "uid", "data", 5, SML_CONTENT_TYPE_VCARD, _client_sent_change_add, GINT_TO_POINTER(1), &error), NULL);524 fail_unless(error == NULL, NULL);525 }526 527 if (client_send_many_add) {528 int i = 0;529 for (i = 0; i < 30; i++) {530 char *uid = g_strdup_printf("uid%i", i);531 fail_unless(smlDsServerQueueChange(server, SML_CHANGE_ADD, uid, "data", 5, SML_CONTENT_TYPE_VCARD, _client_sent_change_add, GINT_TO_POINTER(1), &error), NULL);532 fail_unless(error == NULL, NULL);533 g_free(uid);534 }535 }536 537 if (client_send_replace) {538 fail_unless(smlDsServerQueueChange(server, SML_CHANGE_REPLACE, "uid", "newdata", 8, SML_CONTENT_TYPE_VCARD, _client_sent_change_add, GINT_TO_POINTER(1), &error), NULL);539 fail_unless(error == NULL, NULL);540 }541 542 if (client_send_delete) {543 fail_unless(smlDsServerQueueChange(server, SML_CHANGE_DELETE, "uid", NULL, 0, SML_CONTENT_TYPE_VCARD, _client_sent_change_add, GINT_TO_POINTER(1), &error), NULL);544 fail_unless(error == NULL, NULL);545 }546 547 fail_unless(smlDsServerCloseSync(server, &error), NULL);548 fail_unless(error == NULL, NULL);549 }550 551 if (clientfinals == clientsessionend) {552 smlSessionRegisterFinalHandler(session, __client_final_handler_end, userdata);553 } else {554 smlSessionRegisterFinalHandler(session, __client_final_handler2, userdata);555 }556 557 if (client_request_alert) {558 fail_unless(smlSessionFlush(session, TRUE, &error), NULL);559 fail_unless(error == NULL, NULL);560 }561 562 smlTrace(TRACE_EXIT, "%s", __func__);563 }564 565 void __server_final_handler_end(SmlSession *session, void *userdata)566 {567 smlTrace(TRACE_ENTRY, "%s(%p, %p)", __func__, session, userdata);568 SmlError *error = NULL;569 serverfinals++;570 571 fail_unless(smlSessionFlush(session, TRUE, &error), NULL);572 fail_unless(error == NULL, NULL);573 574 smlTrace(TRACE_EXIT, "%s", __func__);575 }576 577 void __server_final_handler2(SmlSession *session, void *userdata)578 {579 smlTrace(TRACE_ENTRY, "%s(%p, %p)", __func__, session, userdata);580 SmlDsServer *server = (SmlDsServer *)userdata;581 SmlError *error = NULL;582 serverfinals++;583 584 if (server_request_changes) {585 fail_unless(smlDsServerRequestChanges(server, _recv_server_changes, _recv_sync, userdata, &error), NULL);586 fail_unless(error == NULL, NULL);587 }588 589 if (server_send_changes) {590 fail_unless(smlDsServerSendSync(server, 0, _alert_reply, GINT_TO_POINTER(1), &error), NULL);591 fail_unless(error == NULL, NULL);592 593 if (server_send_delete) {594 fail_unless(smlDsServerQueueChange(server, SML_CHANGE_DELETE, "uid", NULL, 0, SML_CONTENT_TYPE_VCARD, _server_sent_change_repdel, GINT_TO_POINTER(1), &error), NULL);595 fail_unless(error == NULL, NULL);596 }597 598 if (server_send_many_add) {599 int i = 0;600 for (i = 0; i < 30; i++) {601 char *uid = g_strdup_printf("uid%i", i);602 fail_unless(smlDsServerQueueChange(server, SML_CHANGE_ADD, uid, "data", 5, SML_CONTENT_TYPE_VCARD, _client_sent_change_add, GINT_TO_POINTER(1), &error), NULL);603 fail_unless(error == NULL, NULL);604 g_free(uid);605 }606 }607 608 if (server_send_add) {609 fail_unless(smlDsServerQueueChange(server, SML_CHANGE_ADD, "uid", "data", 5, SML_CONTENT_TYPE_VCARD, _server_sent_change_add, GINT_TO_POINTER(1), &error), NULL);610 fail_unless(error == NULL, NULL);611 }612 613 if (server_send_replace) {614 fail_unless(smlDsServerQueueChange(server, SML_CHANGE_REPLACE, "uid", "newdata", 8, SML_CONTENT_TYPE_VCARD, _server_sent_change_repdel, GINT_TO_POINTER(1), &error), NULL);615 fail_unless(error == NULL, NULL);616 }617 618 fail_unless(smlDsServerCloseSync(server, &error), NULL);619 fail_unless(error == NULL, NULL);620 }621 622 if (serverfinals == serversessionend)623 smlSessionRegisterFinalHandler(session, __server_final_handler_end, userdata);624 else625 smlSessionRegisterFinalHandler(session, __server_final_handler2, userdata);626 627 fail_unless(smlSessionFlush(session, TRUE, &error), NULL);628 fail_unless(error == NULL, NULL);629 630 smlTrace(TRACE_EXIT, "%s", __func__);631 }*/632 374 633 375 START_TEST (check_ds_server_new) … … 704 446 break; 705 447 case SML_SESSION_EVENT_END: 706 session_ends++;448 g_atomic_int_add(&session_ends, 1); 707 449 break; 708 450 default: … … 1040 782 while (syncs_received != 1) { 1041 783 smlDsSessionDispatch(server_corr->dsession); 1042 usleep(500 000);784 usleep(500); 1043 785 } 1044 786 … … 1184 926 while (syncs_received != 1) { 1185 927 smlDsSessionDispatch(server_corr->dsession); 1186 usleep(500 000);928 usleep(500); 1187 929 } 1188 930 … … 1201 943 while (syncs_received != 2) { 1202 944 smlDsSessionDispatch(client_corr->dsession); 1203 usleep(500 000);945 usleep(500); 1204 946 } 1205 947 … … 1335 1077 smlDsSessionSendSync(client_corr->dsession, 0, _sync_reply, GINT_TO_POINTER(1), &error); 1336 1078 1337 fail_unless(smlDsSessionQueueChange(client_corr->dsession, SML_CHANGE_ADD, "uid", "data", 5, SML_CONTENT_TYPE_VCARD, _add_reply, GINT_TO_POINTER(2), &error), NULL);1079 fail_unless(smlDsSessionQueueChange(client_corr->dsession, SML_CHANGE_ADD, "uid", "data", 4, SML_CONTENT_TYPE_VCARD, _add_reply, GINT_TO_POINTER(2), &error), NULL); 1338 1080 fail_unless(error == NULL, NULL); 1339 1081 … … 1352 1094 while (syncs_received != 1 || adds_received != 1) { 1353 1095 smlDsSessionDispatch(server_corr->dsession); 1354 usleep(500 000);1096 usleep(500); 1355 1097 } 1356 1098 … … 1369 1111 while (syncs_received != 2) { 1370 1112 smlDsSessionDispatch(client_corr->dsession); 1371 usleep(500 000);1113 usleep(500); 1372 1114 } 1373 1115 … … 1509 1251 smlDsSessionSendSync(client_corr->dsession, 0, _sync_reply, GINT_TO_POINTER(1), &error); 1510 1252 1511 fail_unless(smlDsSessionQueueChange(client_corr->dsession, SML_CHANGE_ADD, "uid", "data", 5, SML_CONTENT_TYPE_VCARD, _add_reply, GINT_TO_POINTER(2), &error), NULL);1253 fail_unless(smlDsSessionQueueChange(client_corr->dsession, SML_CHANGE_ADD, "uid", "data", 4, SML_CONTENT_TYPE_VCARD, _add_reply, GINT_TO_POINTER(2), &error), NULL); 1512 1254 fail_unless(error == NULL, NULL); 1513 1255 … … 1526 1268 while (syncs_received != 1 || adds_received != 1) { 1527 1269 smlDsSessionDispatch(server_corr->dsession); 1528 usleep(500 000);1270 usleep(500); 1529 1271 } 1530 1272 1531 1273 smlDsSessionSendSync(server_corr->dsession, 0, _sync_reply, GINT_TO_POINTER(1), &error); 1532 1274 1533 fail_unless(smlDsSessionQueueChange(server_corr->dsession, SML_CHANGE_ADD, "uid", "data", 5, SML_CONTENT_TYPE_VCARD, _add_reply, GINT_TO_POINTER(1), &error), NULL);1275 fail_unless(smlDsSessionQueueChange(server_corr->dsession, SML_CHANGE_ADD, "uid", "data", 4, SML_CONTENT_TYPE_VCARD, _add_reply, GINT_TO_POINTER(1), &error), NULL); 1534 1276 fail_unless(error == NULL, NULL); 1535 1277 … … 1548 1290 while (syncs_received != 2 || adds_received != 2) { 1549 1291 smlDsSessionDispatch(client_corr->dsession); 1550 usleep(500 000);1292 usleep(500); 1551 1293 } 1552 1294 … … 1603 1345 END_TEST 1604 1346 1605 /* send alerts, send sync from client, send from server with one add */ 1606 /* Send map */ 1347 /* send alerts, send sync from server, send from client with one add */ 1607 1348 /* C -- Put, Alert --> S 1608 1349 * S -- Status, Put, Alert --> C 1609 * C -- Status, Sync, Replace, Delete, Add--> S1610 * S -- Status, Sync, Add, Replace,Delete --> S1611 * C -- Status , Map--> S1350 * C -- Status, Sync, Delete --> S 1351 * S -- Status, Sync, Delete --> S 1352 * C -- Status --> S 1612 1353 * S -- Status --> C */ 1613 START_TEST (check_ds_ map_full)1354 START_TEST (check_ds_delete) 1614 1355 { 1615 1356 data_received = 0; … … 1699 1440 smlDsSessionSendSync(client_corr->dsession, 0, _sync_reply, GINT_TO_POINTER(1), &error); 1700 1441 1701 fail_unless(smlDsSessionQueueChange(client_corr->dsession, SML_CHANGE_REPLACE, "uid", "newdata", 8, SML_CONTENT_TYPE_VCARD, _modify_reply, GINT_TO_POINTER(1), &error), NULL);1702 fail_unless(error == NULL, NULL);1703 1704 1442 fail_unless(smlDsSessionQueueChange(client_corr->dsession, SML_CHANGE_DELETE, "uid", NULL, 0, SML_CONTENT_TYPE_VCARD, _delete_reply, GINT_TO_POINTER(1), &error), NULL); 1705 fail_unless(error == NULL, NULL);1706 1707 fail_unless(smlDsSessionQueueChange(client_corr->dsession, SML_CHANGE_ADD, "uid", "data", 5, SML_CONTENT_TYPE_VCARD, _add_reply, GINT_TO_POINTER(2), &error), NULL);1708 1443 fail_unless(error == NULL, NULL); 1709 1444 … … 1720 1455 smlDsSessionGetChanges(server_corr->dsession, _recv_changes, GINT_TO_POINTER(1)); 1721 1456 1722 while (syncs_received != 1 || adds_received != 1 || deletes_received != 1 || modifies_received != 1) {1457 while (syncs_received != 1 || deletes_received != 1) { 1723 1458 smlDsSessionDispatch(server_corr->dsession); 1724 usleep(500 000);1459 usleep(500); 1725 1460 } 1726 1461 1727 1462 smlDsSessionSendSync(server_corr->dsession, 0, _sync_reply, GINT_TO_POINTER(1), &error); 1728 1729 fail_unless(smlDsSessionQueueChange(server_corr->dsession, SML_CHANGE_REPLACE, "uid", "newdata", 8, SML_CONTENT_TYPE_VCARD, _modify_reply, GINT_TO_POINTER(1), &error), NULL);1730 fail_unless(error == NULL, NULL);1731 1732 fail_unless(smlDsSessionQueueChange(server_corr->dsession, SML_CHANGE_ADD, "uid", "data", 5, SML_CONTENT_TYPE_VCARD, _add_reply, GINT_TO_POINTER(1), &error), NULL);1733 fail_unless(error == NULL, NULL);1734 1463 1735 1464 fail_unless(smlDsSessionQueueChange(server_corr->dsession, SML_CHANGE_DELETE, "uid", NULL, 0, SML_CONTENT_TYPE_VCARD, _delete_reply, GINT_TO_POINTER(1), &error), NULL); … … 1748 1477 smlDsSessionGetChanges(client_corr->dsession, _recv_changes, GINT_TO_POINTER(1)); 1749 1478 1750 while (syncs_received != 2 || adds_received != 2 || deletes_received != 2 || modifies_received != 2) {1479 while (syncs_received != 2 || deletes_received != 2) { 1751 1480 smlDsSessionDispatch(client_corr->dsession); 1752 usleep(500000); 1753 } 1754 1755 smlDsSessionQueueMap(client_corr->dsession, "uid", "newuid", &error); 1756 smlDsSessionCloseMap(client_corr->dsession, _map_reply, GINT_TO_POINTER(1), &error); 1757 1758 fail_unless(smlSessionFlush(session, TRUE, &error), NULL); 1759 fail_unless(error == NULL, NULL); 1760 1761 while (data_received != 5 || add_replies_received != 2) { 1762 usleep(500); 1763 } 1764 1765 fail_unless(smlSessionEnd(session2, &error), NULL); 1766 fail_unless(error == NULL, NULL); 1767 1768 while (session_ends != 2) { 1481 usleep(500); 1482 } 1483 1484 fail_unless(smlSessionFlush(session, TRUE, &error), NULL); 1485 fail_unless(error == NULL, NULL); 1486 1487 while (data_received != 6 || delete_replies_received != 2 || session_ends != 2) { 1769 1488 usleep(500); 1770 1489 } … … 1782 1501 fail_unless(syncs_received == 2, NULL); 1783 1502 fail_unless(changes_received == 0, NULL); 1784 fail_unless(replies_received == 5, NULL);1503 fail_unless(replies_received == 4, NULL); 1785 1504 fail_unless(session_ends == 2, NULL); 1786 1505 1787 fail_unless(adds_received == 2, NULL);1788 fail_unless(add_replies_received == 2, NULL);1506 fail_unless(adds_received == 0, NULL); 1507 fail_unless(add_replies_received == 0, NULL); 1789 1508 fail_unless(deletes_received == 2, NULL); 1790 1509 fail_unless(delete_replies_received == 2, NULL); 1791 fail_unless(modifies_received == 2, NULL);1792 fail_unless(modify_replies_received == 2, NULL);1510 fail_unless(modifies_received == 0, NULL); 1511 fail_unless(modify_replies_received == 0, NULL); 1793 1512 1794 1513 g_free(client_corr); … … 1802 1521 smlDsServerFree(server); 1803 1522 smlDsServerFree(client); 1804 1805 1523 } 1806 1524 END_TEST 1807 1525 1526 /* send alerts, send sync from client, send from server with one add */ 1527 /* Send map */ 1808 1528 /* C -- Put, Alert --> S 1809 1529 * S -- Status, Put, Alert --> C 1810 * C -- Status, Sync, 500 *Add --> S1811 * S -- Status, Sync, 500 * Add--> S1530 * C -- Status, Sync, Replace, Delete, Add --> S 1531 * S -- Status, Sync, Add, Replace, Delete --> S 1812 1532 * C -- Status, Map --> S 1813 1533 * S -- Status --> C */ 1814 START_TEST (check_ds_ add_large)1534 START_TEST (check_ds_map_full) 1815 1535 { 1816 1536 data_received = 0; … … 1832 1552 to_session2 = NULL; 1833 1553 1834 int num = 50;1835 1836 1554 /* General setup */ 1837 1555 setup_testbed(NULL); … … 1901 1619 1902 1620 smlDsSessionSendSync(client_corr->dsession, 0, _sync_reply, GINT_TO_POINTER(1), &error); 1903 1904 int i = 0; 1905 for (i = 0; i < num; i++) { 1906 fail_unless(smlDsSessionQueueChange(client_corr->dsession, SML_CHANGE_ADD, "uid", "data", 5, SML_CONTENT_TYPE_VCARD, _add_reply, GINT_TO_POINTER(2), &error), NULL); 1907 fail_unless(error == NULL, NULL); 1908 } 1621 1622 fail_unless(smlDsSessionQueueChange(client_corr->dsession, SML_CHANGE_REPLACE, "uid", "newdata", 7, SML_CONTENT_TYPE_VCARD, _modify_reply, GINT_TO_POINTER(1), &error), NULL); 1623 fail_unless(error == NULL, NULL); 1624 1625 fail_unless(smlDsSessionQueueChange(client_corr->dsession, SML_CHANGE_DELETE, "uid", NULL, 0, SML_CONTENT_TYPE_VCARD, _delete_reply, GINT_TO_POINTER(1), &error), NULL); 1626 fail_unless(error == NULL, NULL); 1627 1628 fail_unless(smlDsSessionQueueChange(client_corr->dsession, SML_CHANGE_ADD, "uid", "data", 4, SML_CONTENT_TYPE_VCARD, _add_reply, GINT_TO_POINTER(2), &error), NULL); 1629 fail_unless(error == NULL, NULL); 1909 1630 1910 1631 smlDsSessionCloseSync(client_corr->dsession, &error); … … 1920 1641 smlDsSessionGetChanges(server_corr->dsession, _recv_changes, GINT_TO_POINTER(1)); 1921 1642 1922 while (syncs_received != 1 || adds_received != num) {1643 while (syncs_received != 1 || adds_received != 1 || deletes_received != 1 || modifies_received != 1) { 1923 1644 smlDsSessionDispatch(server_corr->dsession); 1924 usleep(500 000);1645 usleep(500); 1925 1646 } 1926 1647 1927 1648 smlDsSessionSendSync(server_corr->dsession, 0, _sync_reply, GINT_TO_POINTER(1), &error); 1928 1649 1929 for (i = 0; i < num; i++) { 1930 fail_unless(smlDsSessionQueueChange(server_corr->dsession, SML_CHANGE_ADD, "uid", "data", 5, SML_CONTENT_TYPE_VCARD, _add_reply, GINT_TO_POINTER(1), &error), NULL); 1931 fail_unless(error == NULL, NULL); 1932 } 1650 fail_unless(smlDsSessionQueueChange(server_corr->dsession, SML_CHANGE_REPLACE, "uid", "newdata", 7, SML_CONTENT_TYPE_VCARD, _modify_reply, GINT_TO_POINTER(1), &error), NULL); 1651 fail_unless(error == NULL, NULL); 1652 1653 fail_unless(smlDsSessionQueueChange(server_corr->dsession, SML_CHANGE_ADD, "uid", "data", 4, SML_CONTENT_TYPE_VCARD, _add_reply, GINT_TO_POINTER(1), &error), NULL); 1654 fail_unless(error == NULL, NULL); 1655 1656 fail_unless(smlDsSessionQueueChange(server_corr->dsession, SML_CHANGE_DELETE, "uid", NULL, 0, SML_CONTENT_TYPE_VCARD, _delete_reply, GINT_TO_POINTER(1), &error), NULL); 1657 fail_unless(error == NULL, NULL); 1933 1658 1934 1659 smlDsSessionCloseSync(server_corr->dsession, &error); … … 1944 1669 smlDsSessionGetChanges(client_corr->dsession, _recv_changes, GINT_TO_POINTER(1)); 1945 1670 1946 while (syncs_received != 2 || adds_received != num *2) {1671 while (syncs_received != 2 || adds_received != 2 || deletes_received != 2 || modifies_received != 2) { 1947 1672 smlDsSessionDispatch(client_corr->dsession); 1948 usleep(500000); 1949 } 1950 1951 for (i = 0; i < num; i++) { 1952 smlDsSessionQueueMap(client_corr->dsession, "uid", "newuid", &error); 1953 } 1673 usleep(500); 1674 } 1675 1676 smlDsSessionQueueMap(client_corr->dsession, "uid", "newuid", &error); 1954 1677 smlDsSessionCloseMap(client_corr->dsession, _map_reply, GINT_TO_POINTER(1), &error); 1955 1678 … … 1957 1680 fail_unless(error == NULL, NULL); 1958 1681 1959 while (data_received != 5 || add_replies_received != num *2) {1682 while (data_received != 5 || add_replies_received != 2) { 1960 1683 usleep(500); 1961 1684 } … … 1983 1706 fail_unless(session_ends == 2, NULL); 1984 1707 1985 fail_unless(adds_received == num *2, NULL);1986 fail_unless(add_replies_received == num *2, NULL);1987 fail_unless(deletes_received == 0, NULL);1988 fail_unless(delete_replies_received == 0, NULL);1989 fail_unless(modifies_received == 0, NULL);1990 fail_unless(modify_replies_received == 0, NULL);1708 fail_unless(adds_received == 2, NULL); 1709 fail_unless(add_replies_received == 2, NULL); 1710 fail_unless(deletes_received == 2, NULL); 1711 fail_unless(delete_replies_received == 2, NULL); 1712 fail_unless(modifies_received == 2, NULL); 1713 fail_unless(modify_replies_received == 2, NULL); 1991 1714 1992 1715 g_free(client_corr); … … 2000 1723 smlDsServerFree(server); 2001 1724 smlDsServerFree(client); 1725 2002 1726 } 2003 1727 END_TEST … … 2009 1733 * C -- Status, Map --> S 2010 1734 * S -- Status --> C */ 2011 /* Limit the sending size of both sides */ 2012 START_TEST (check_ds_limit) 1735 START_TEST (check_ds_add_large) 2013 1736 { 2014 1737 data_received = 0; … … 2030 1753 to_session2 = NULL; 2031 1754 2032 int num = 5; 2033 unsigned int limit = 1300; 1755 int num = 50; 2034 1756 2035 1757 /* General setup */ … … 2054 1776 SmlSession *session = smlSessionNew(SML_SESSION_TYPE_CLIENT, SML_MIMETYPE_XML, SML_VERSION_12, SML_PROTOCOL_SYNCML, loc, loc, "1", 0, &error); 2055 1777 client_corr->thread = smlSessionRunAsync(session, &to_session); 2056 smlSessionSetSendingLimit(session, limit);2057 1778 SmlSession *session2 = smlSessionNew(SML_SESSION_TYPE_SERVER, SML_MIMETYPE_XML, SML_VERSION_12, SML_PROTOCOL_SYNCML, loc, loc, "1", 0, &error); 2058 1779 server_corr->thread = smlSessionRunAsync(session2, &to_session2); 2059 smlSessionSetSendingLimit(session2, limit);2060 1780 2061 1781 smlSessionSetEventCallback(session, _event_callback, client_corr); … … 2088 1808 fail_unless(error == NULL, NULL); 2089 1809 1810 while (data_received != 2) { 1811 usleep(500); 1812 } 1813 2090 1814 smlDsSessionGetAlert(client_corr->dsession, _recv_alert, GINT_TO_POINTER(1)); 1815 2091 1816 2092 1817 … … 2100 1825 int i = 0; 2101 1826 for (i = 0; i < num; i++) { 2102 fail_unless(smlDsSessionQueueChange(client_corr->dsession, SML_CHANGE_ADD, "uid", "data", 5, SML_CONTENT_TYPE_VCARD, _add_reply, GINT_TO_POINTER(2), &error), NULL);1827 fail_unless(smlDsSessionQueueChange(client_corr->dsession, SML_CHANGE_ADD, "uid", "data", 4, SML_CONTENT_TYPE_VCARD, _add_reply, GINT_TO_POINTER(2), &error), NULL); 2103 1828 fail_unless(error == NULL, NULL); 2104 1829 } … … 2109 1834 fail_unless(error == NULL, NULL); 2110 1835 1836 while (data_received != 3) { 1837 usleep(500); 1838 } 2111 1839 2112 1840 smlDsSessionGetSync(server_corr->dsession, _recv_sync, GINT_TO_POINTER(1)); … … 2115 1843 while (syncs_received != 1 || adds_received != num) { 2116 1844 smlDsSessionDispatch(server_corr->dsession); 2117 usleep(500 0);1845 usleep(500); 2118 1846 } 2119 1847 … … 2121 1849 2122 1850 for (i = 0; i < num; i++) { 2123 fail_unless(smlDsSessionQueueChange(server_corr->dsession, SML_CHANGE_ADD, "uid", "data", 5, SML_CONTENT_TYPE_VCARD, _add_reply, GINT_TO_POINTER(1), &error), NULL);1851 fail_unless(smlDsSessionQueueChange(server_corr->dsession, SML_CHANGE_ADD, "uid", "data", 4, SML_CONTENT_TYPE_VCARD, _add_reply, GINT_TO_POINTER(1), &error), NULL); 2124 1852 fail_unless(error == NULL, NULL); 2125 1853 } … … 2130 1858 fail_unless(error == NULL, NULL); 2131 1859 1860 while (data_received != 4) { 1861 usleep(500); 1862 } 2132 1863 2133 1864 smlDsSessionGetSync(client_corr->dsession, _recv_sync, GINT_TO_POINTER(1)); 2134 1865 smlDsSessionGetChanges(client_corr->dsession, _recv_changes, GINT_TO_POINTER(1)); 2135 1866 2136 while ( adds_received != num * 2) {1867 while (syncs_received != 2 || adds_received != num * 2) { 2137 1868 smlDsSessionDispatch(client_corr->dsession); 2138 usleep(500 0);1869 usleep(500); 2139 1870 } 2140 1871 … … 2147 1878 fail_unless(error == NULL, NULL); 2148 1879 2149 while ( add_replies_received != num * 2) {1880 while (data_received != 5 || add_replies_received != num * 2) { 2150 1881 usleep(500); 2151 1882 } … … 2157 1888 usleep(500); 2158 1889 } 2159 2160 smlLocationUnref(loc);2161 1890 2162 1891 smlSessionStop(client_corr->thread); … … 2166 1895 smlDsSessionUnref(server_corr->dsession); 2167 1896 2168 //fail_unless(data_received == 6, NULL);1897 fail_unless(data_received == 6, NULL); 2169 1898 fail_unless(init_alerts_received == 1, NULL); 2170 1899 … … 2188 1917 smlSessionUnref(session2); 2189 1918 1919 smlLocationUnref(loc); 1920 2190 1921 smlDsServerFree(server); 2191 1922 smlDsServerFree(client); … … 2193 1924 END_TEST 2194 1925 2195 #if 02196 1926 /* C -- Put, Alert --> S 2197 1927 * S -- Status, Put, Alert --> C … … 2201 1931 * S -- Status --> C */ 2202 1932 /* Limit the sending size of both sides */ 2203 START_TEST (check_ds_ multi_server)1933 START_TEST (check_ds_limit) 2204 1934 { 2205 1935 data_received = 0; … … 2221 1951 to_session2 = NULL; 2222 1952 1953 int num = 5; 1954 unsigned int limit = 1300; 1955 1956 /* General setup */ 1957 setup_testbed(NULL); 1958 1959 SmlError *error = NULL; 1960 SmlLocation *loc = smlLocationNew("/vcards", NULL, &error); 1961 1962 1963 SmlDsServer *client = smlDsClientNew(SML_CONTENT_TYPE_VCARD, loc, loc, &error); 1964 _server_corr *client_corr = g_malloc0(sizeof(_server_corr)); 1965 client_corr->server = client; 1966 1967 1968 SmlDsServer *server = smlDsServerNew(SML_CONTENT_TYPE_VCARD, loc, &error); 1969 _server_corr *server_corr = g_malloc0(sizeof(_server_corr)); 1970 server_corr->server = server; 1971 smlDsServerSetConnectCallback(server, _recv_init_alert, server_corr); 1972 1973 1974 /* Start a new session from the client */ 1975 SmlSession *session = smlSessionNew(SML_SESSION_TYPE_CLIENT, SML_MIMETYPE_XML, SML_VERSION_12, SML_PROTOCOL_SYNCML, loc, loc, "1", 0, &error); 1976 client_corr->thread = smlSessionRunAsync(session, &to_session); 1977 smlSessionSetSendingLimit(session, limit); 1978 SmlSession *session2 = smlSessionNew(SML_SESSION_TYPE_SERVER, SML_MIMETYPE_XML, SML_VERSION_12, SML_PROTOCOL_SYNCML, loc, loc, "1", 0, &error); 1979 server_corr->thread = smlSessionRunAsync(session2, &to_session2); 1980 smlSessionSetSendingLimit(session2, limit); 1981 1982 smlSessionSetEventCallback(session, _event_callback, client_corr); 1983 smlSessionSetDataCallback(session, _data_send_callback, &to_session2); 1984 smlSessionSetEventCallback(session2, _event_callback, server_corr); 1985 smlSessionSetDataCallback(session2, _data_send_callback, &to_session); 1986 1987 client_corr->dsession = smlDsServerSendAlert(client, session, SML_ALERT_TWO_WAY, "last", "next", _alert_reply, GINT_TO_POINTER(1), &error); 1988 fail_unless(client_corr->dsession != NULL, NULL); 1989 fail_unless(error == NULL, NULL); 1990 1991 fail_unless(smlSessionFlush(session, TRUE, &error), NULL); 1992 fail_unless(error == NULL, NULL); 1993 1994 while (init_alerts_received != 1) { 1995 usleep(500); 1996 } 1997 1998 smlDsSessionGetAlert(server_corr->dsession, _recv_alert, GINT_TO_POINTER(1)); 1999 smlDsSessionSendAlert(server_corr->dsession, SML_ALERT_TWO_WAY, "last", "next", _alert_reply, GINT_TO_POINTER(1), &error); 2000 2001 2002 2003 while (alerts_received != 1) { 2004 smlDsSessionDispatch(server_corr->dsession); 2005 usleep(500); 2006 } 2007 2008
