summaryrefslogtreecommitdiff
path: root/auto_tests/toxav_basic_test.c
diff options
context:
space:
mode:
authoriphydf <iphydf@users.noreply.github.com>2016-09-19 21:49:04 +0100
committeriphydf <iphydf@users.noreply.github.com>2016-09-19 21:53:40 +0100
commit51d18236c8effffb14ffe6c5e3f738c1ceb1ae25 (patch)
treee18ff983aba08aee690cc001f7cf4928a94f80d3 /auto_tests/toxav_basic_test.c
parent67ac9138ab773728f0a8d1093aaa80d40a9f9efc (diff)
Revert "Make ToxAV stateless"
This reverts commit 21f8db12c45bd56293262cd4abfb73cd9abec821. It is currently broken. Incoming call callbacks are not invoked, and instead the client goes offline immediately.
Diffstat (limited to 'auto_tests/toxav_basic_test.c')
-rw-r--r--auto_tests/toxav_basic_test.c80
1 files changed, 40 insertions, 40 deletions
diff --git a/auto_tests/toxav_basic_test.c b/auto_tests/toxav_basic_test.c
index 3904141f..da874849 100644
--- a/auto_tests/toxav_basic_test.c
+++ b/auto_tests/toxav_basic_test.c
@@ -133,12 +133,12 @@ static void t_accept_friend_request_cb(Tox *m, const uint8_t *public_key, const
133/** 133/**
134 * Iterate helper 134 * Iterate helper
135 */ 135 */
136static int iterate_tox(Tox *bootstrap, Tox *Alice, void *ACC, Tox *Bob, void *BCC) 136static int iterate_tox(Tox *bootstrap, Tox *Alice, Tox *Bob)
137{ 137{
138 c_sleep(100); 138 c_sleep(100);
139 tox_iterate(bootstrap, NULL); 139 tox_iterate(bootstrap, NULL);
140 tox_iterate(Alice, ACC); 140 tox_iterate(Alice, NULL);
141 tox_iterate(Bob, BCC); 141 tox_iterate(Bob, NULL);
142 142
143 return MIN(tox_iteration_interval(Alice), tox_iteration_interval(Bob)); 143 return MIN(tox_iteration_interval(Alice), tox_iteration_interval(Bob));
144} 144}
@@ -181,7 +181,7 @@ START_TEST(test_AV_flows)
181 uint8_t off = 1; 181 uint8_t off = 1;
182 182
183 while (1) { 183 while (1) {
184 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 184 iterate_tox(bootstrap, Alice, Bob);
185 185
186 if (tox_self_get_connection_status(bootstrap) && 186 if (tox_self_get_connection_status(bootstrap) &&
187 tox_self_get_connection_status(Alice) && 187 tox_self_get_connection_status(Alice) &&
@@ -208,15 +208,15 @@ START_TEST(test_AV_flows)
208 ck_assert(error == TOXAV_ERR_NEW_OK); 208 ck_assert(error == TOXAV_ERR_NEW_OK);
209 } 209 }
210 210
211 toxav_callback_call(AliceAV, t_toxav_call_cb); 211 toxav_callback_call(AliceAV, t_toxav_call_cb, &AliceCC);
212 toxav_callback_call_state(AliceAV, t_toxav_call_state_cb); 212 toxav_callback_call_state(AliceAV, t_toxav_call_state_cb, &AliceCC);
213 toxav_callback_video_receive_frame(AliceAV, t_toxav_receive_video_frame_cb); 213 toxav_callback_video_receive_frame(AliceAV, t_toxav_receive_video_frame_cb, &AliceCC);
214 toxav_callback_audio_receive_frame(AliceAV, t_toxav_receive_audio_frame_cb); 214 toxav_callback_audio_receive_frame(AliceAV, t_toxav_receive_audio_frame_cb, &AliceCC);
215 215
216 toxav_callback_call(BobAV, t_toxav_call_cb); 216 toxav_callback_call(BobAV, t_toxav_call_cb, &BobCC);
217 toxav_callback_call_state(BobAV, t_toxav_call_state_cb); 217 toxav_callback_call_state(BobAV, t_toxav_call_state_cb, &BobCC);
218 toxav_callback_video_receive_frame(BobAV, t_toxav_receive_video_frame_cb); 218 toxav_callback_video_receive_frame(BobAV, t_toxav_receive_video_frame_cb, &BobCC);
219 toxav_callback_audio_receive_frame(BobAV, t_toxav_receive_audio_frame_cb); 219 toxav_callback_audio_receive_frame(BobAV, t_toxav_receive_audio_frame_cb, &BobCC);
220 220
221 printf("Created 2 instances of ToxAV\n"); 221 printf("Created 2 instances of ToxAV\n");
222 printf("All set after %llu seconds!\n", time(NULL) - cur_time); 222 printf("All set after %llu seconds!\n", time(NULL) - cur_time);
@@ -265,7 +265,7 @@ START_TEST(test_AV_flows)
265 } \ 265 } \
266 } \ 266 } \
267 \ 267 \
268 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); \ 268 iterate_tox(bootstrap, Alice, Bob); \
269 } \ 269 } \
270 printf("Success!\n");\ 270 printf("Success!\n");\
271 } while(0) 271 } while(0)
@@ -304,7 +304,7 @@ START_TEST(test_AV_flows)
304 } 304 }
305 305
306 while (!BobCC.incoming) { 306 while (!BobCC.incoming) {
307 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 307 iterate_tox(bootstrap, Alice, Bob);
308 } 308 }
309 309
310 /* Reject */ 310 /* Reject */
@@ -319,7 +319,7 @@ START_TEST(test_AV_flows)
319 } 319 }
320 320
321 while (AliceCC.state != TOXAV_FRIEND_CALL_STATE_FINISHED) { 321 while (AliceCC.state != TOXAV_FRIEND_CALL_STATE_FINISHED) {
322 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 322 iterate_tox(bootstrap, Alice, Bob);
323 } 323 }
324 324
325 printf("Success!\n"); 325 printf("Success!\n");
@@ -342,7 +342,7 @@ START_TEST(test_AV_flows)
342 } 342 }
343 343
344 while (!BobCC.incoming) { 344 while (!BobCC.incoming) {
345 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 345 iterate_tox(bootstrap, Alice, Bob);
346 } 346 }
347 347
348 /* Cancel */ 348 /* Cancel */
@@ -358,7 +358,7 @@ START_TEST(test_AV_flows)
358 358
359 /* Alice will not receive end state */ 359 /* Alice will not receive end state */
360 while (BobCC.state != TOXAV_FRIEND_CALL_STATE_FINISHED) { 360 while (BobCC.state != TOXAV_FRIEND_CALL_STATE_FINISHED) {
361 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 361 iterate_tox(bootstrap, Alice, Bob);
362 } 362 }
363 363
364 printf("Success!\n"); 364 printf("Success!\n");
@@ -382,7 +382,7 @@ START_TEST(test_AV_flows)
382 } 382 }
383 383
384 while (!BobCC.incoming) { 384 while (!BobCC.incoming) {
385 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 385 iterate_tox(bootstrap, Alice, Bob);
386 } 386 }
387 387
388 /* At first try all stuff while in invalid state */ 388 /* At first try all stuff while in invalid state */
@@ -403,39 +403,39 @@ START_TEST(test_AV_flows)
403 } 403 }
404 } 404 }
405 405
406 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 406 iterate_tox(bootstrap, Alice, Bob);
407 407
408 /* Pause and Resume */ 408 /* Pause and Resume */
409 printf("Pause and Resume\n"); 409 printf("Pause and Resume\n");
410 ck_assert_call_control(AliceAV, 0, TOXAV_CALL_CONTROL_PAUSE); 410 ck_assert_call_control(AliceAV, 0, TOXAV_CALL_CONTROL_PAUSE);
411 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 411 iterate_tox(bootstrap, Alice, Bob);
412 ck_assert(BobCC.state == 0); 412 ck_assert(BobCC.state == 0);
413 ck_assert_call_control(AliceAV, 0, TOXAV_CALL_CONTROL_RESUME); 413 ck_assert_call_control(AliceAV, 0, TOXAV_CALL_CONTROL_RESUME);
414 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 414 iterate_tox(bootstrap, Alice, Bob);
415 ck_assert(BobCC.state & (TOXAV_FRIEND_CALL_STATE_SENDING_A | TOXAV_FRIEND_CALL_STATE_SENDING_V)); 415 ck_assert(BobCC.state & (TOXAV_FRIEND_CALL_STATE_SENDING_A | TOXAV_FRIEND_CALL_STATE_SENDING_V));
416 416
417 /* Mute/Unmute single */ 417 /* Mute/Unmute single */
418 printf("Mute/Unmute single\n"); 418 printf("Mute/Unmute single\n");
419 ck_assert_call_control(AliceAV, 0, TOXAV_CALL_CONTROL_MUTE_AUDIO); 419 ck_assert_call_control(AliceAV, 0, TOXAV_CALL_CONTROL_MUTE_AUDIO);
420 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 420 iterate_tox(bootstrap, Alice, Bob);
421 ck_assert(BobCC.state ^ TOXAV_FRIEND_CALL_STATE_ACCEPTING_A); 421 ck_assert(BobCC.state ^ TOXAV_FRIEND_CALL_STATE_ACCEPTING_A);
422 ck_assert_call_control(AliceAV, 0, TOXAV_CALL_CONTROL_UNMUTE_AUDIO); 422 ck_assert_call_control(AliceAV, 0, TOXAV_CALL_CONTROL_UNMUTE_AUDIO);
423 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 423 iterate_tox(bootstrap, Alice, Bob);
424 ck_assert(BobCC.state & TOXAV_FRIEND_CALL_STATE_ACCEPTING_A); 424 ck_assert(BobCC.state & TOXAV_FRIEND_CALL_STATE_ACCEPTING_A);
425 425
426 /* Mute/Unmute both */ 426 /* Mute/Unmute both */
427 printf("Mute/Unmute both\n"); 427 printf("Mute/Unmute both\n");
428 ck_assert_call_control(AliceAV, 0, TOXAV_CALL_CONTROL_MUTE_AUDIO); 428 ck_assert_call_control(AliceAV, 0, TOXAV_CALL_CONTROL_MUTE_AUDIO);
429 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 429 iterate_tox(bootstrap, Alice, Bob);
430 ck_assert(BobCC.state ^ TOXAV_FRIEND_CALL_STATE_ACCEPTING_A); 430 ck_assert(BobCC.state ^ TOXAV_FRIEND_CALL_STATE_ACCEPTING_A);
431 ck_assert_call_control(AliceAV, 0, TOXAV_CALL_CONTROL_HIDE_VIDEO); 431 ck_assert_call_control(AliceAV, 0, TOXAV_CALL_CONTROL_HIDE_VIDEO);
432 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 432 iterate_tox(bootstrap, Alice, Bob);
433 ck_assert(BobCC.state ^ TOXAV_FRIEND_CALL_STATE_ACCEPTING_V); 433 ck_assert(BobCC.state ^ TOXAV_FRIEND_CALL_STATE_ACCEPTING_V);
434 ck_assert_call_control(AliceAV, 0, TOXAV_CALL_CONTROL_UNMUTE_AUDIO); 434 ck_assert_call_control(AliceAV, 0, TOXAV_CALL_CONTROL_UNMUTE_AUDIO);
435 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 435 iterate_tox(bootstrap, Alice, Bob);
436 ck_assert(BobCC.state & TOXAV_FRIEND_CALL_STATE_ACCEPTING_A); 436 ck_assert(BobCC.state & TOXAV_FRIEND_CALL_STATE_ACCEPTING_A);
437 ck_assert_call_control(AliceAV, 0, TOXAV_CALL_CONTROL_SHOW_VIDEO); 437 ck_assert_call_control(AliceAV, 0, TOXAV_CALL_CONTROL_SHOW_VIDEO);
438 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 438 iterate_tox(bootstrap, Alice, Bob);
439 ck_assert(BobCC.state & TOXAV_FRIEND_CALL_STATE_ACCEPTING_V); 439 ck_assert(BobCC.state & TOXAV_FRIEND_CALL_STATE_ACCEPTING_V);
440 440
441 { 441 {
@@ -448,7 +448,7 @@ START_TEST(test_AV_flows)
448 } 448 }
449 } 449 }
450 450
451 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 451 iterate_tox(bootstrap, Alice, Bob);
452 ck_assert(BobCC.state == TOXAV_FRIEND_CALL_STATE_FINISHED); 452 ck_assert(BobCC.state == TOXAV_FRIEND_CALL_STATE_FINISHED);
453 453
454 printf("Success!\n"); 454 printf("Success!\n");
@@ -472,7 +472,7 @@ START_TEST(test_AV_flows)
472 } 472 }
473 473
474 while (!BobCC.incoming) { 474 while (!BobCC.incoming) {
475 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 475 iterate_tox(bootstrap, Alice, Bob);
476 } 476 }
477 477
478 { 478 {
@@ -485,25 +485,25 @@ START_TEST(test_AV_flows)
485 } 485 }
486 } 486 }
487 487
488 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 488 iterate_tox(bootstrap, Alice, Bob);
489 489
490 printf("Call started as audio only\n"); 490 printf("Call started as audio only\n");
491 printf("Turning on video for Alice...\n"); 491 printf("Turning on video for Alice...\n");
492 ck_assert(toxav_bit_rate_set(AliceAV, 0, -1, 1000, NULL)); 492 ck_assert(toxav_bit_rate_set(AliceAV, 0, -1, 1000, NULL));
493 493
494 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 494 iterate_tox(bootstrap, Alice, Bob);
495 ck_assert(BobCC.state & TOXAV_FRIEND_CALL_STATE_SENDING_V); 495 ck_assert(BobCC.state & TOXAV_FRIEND_CALL_STATE_SENDING_V);
496 496
497 printf("Turning off video for Alice...\n"); 497 printf("Turning off video for Alice...\n");
498 ck_assert(toxav_bit_rate_set(AliceAV, 0, -1, 0, NULL)); 498 ck_assert(toxav_bit_rate_set(AliceAV, 0, -1, 0, NULL));
499 499
500 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 500 iterate_tox(bootstrap, Alice, Bob);
501 ck_assert(!(BobCC.state & TOXAV_FRIEND_CALL_STATE_SENDING_V)); 501 ck_assert(!(BobCC.state & TOXAV_FRIEND_CALL_STATE_SENDING_V));
502 502
503 printf("Turning off audio for Alice...\n"); 503 printf("Turning off audio for Alice...\n");
504 ck_assert(toxav_bit_rate_set(AliceAV, 0, 0, -1, NULL)); 504 ck_assert(toxav_bit_rate_set(AliceAV, 0, 0, -1, NULL));
505 505
506 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 506 iterate_tox(bootstrap, Alice, Bob);
507 ck_assert(!(BobCC.state & TOXAV_FRIEND_CALL_STATE_SENDING_A)); 507 ck_assert(!(BobCC.state & TOXAV_FRIEND_CALL_STATE_SENDING_A));
508 508
509 { 509 {
@@ -516,7 +516,7 @@ START_TEST(test_AV_flows)
516 } 516 }
517 } 517 }
518 518
519 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 519 iterate_tox(bootstrap, Alice, Bob);
520 ck_assert(BobCC.state == TOXAV_FRIEND_CALL_STATE_FINISHED); 520 ck_assert(BobCC.state == TOXAV_FRIEND_CALL_STATE_FINISHED);
521 521
522 printf("Success!\n"); 522 printf("Success!\n");
@@ -540,7 +540,7 @@ START_TEST(test_AV_flows)
540 } 540 }
541 541
542 while (!BobCC.incoming) { 542 while (!BobCC.incoming) {
543 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 543 iterate_tox(bootstrap, Alice, Bob);
544 } 544 }
545 545
546 { 546 {
@@ -555,16 +555,16 @@ START_TEST(test_AV_flows)
555 555
556 int16_t PCM[5670]; 556 int16_t PCM[5670];
557 557
558 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 558 iterate_tox(bootstrap, Alice, Bob);
559 ck_assert_call_control(AliceAV, 0, TOXAV_CALL_CONTROL_PAUSE); 559 ck_assert_call_control(AliceAV, 0, TOXAV_CALL_CONTROL_PAUSE);
560 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 560 iterate_tox(bootstrap, Alice, Bob);
561 ck_assert(!toxav_audio_send_frame(AliceAV, 0, PCM, 960, 1, 48000, NULL)); 561 ck_assert(!toxav_audio_send_frame(AliceAV, 0, PCM, 960, 1, 48000, NULL));
562 ck_assert(!toxav_audio_send_frame(BobAV, 0, PCM, 960, 1, 48000, NULL)); 562 ck_assert(!toxav_audio_send_frame(BobAV, 0, PCM, 960, 1, 48000, NULL));
563 ck_assert_call_control(AliceAV, 0, TOXAV_CALL_CONTROL_RESUME); 563 ck_assert_call_control(AliceAV, 0, TOXAV_CALL_CONTROL_RESUME);
564 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 564 iterate_tox(bootstrap, Alice, Bob);
565 ck_assert(toxav_audio_send_frame(AliceAV, 0, PCM, 960, 1, 48000, NULL)); 565 ck_assert(toxav_audio_send_frame(AliceAV, 0, PCM, 960, 1, 48000, NULL));
566 ck_assert(toxav_audio_send_frame(BobAV, 0, PCM, 960, 1, 48000, NULL)); 566 ck_assert(toxav_audio_send_frame(BobAV, 0, PCM, 960, 1, 48000, NULL));
567 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 567 iterate_tox(bootstrap, Alice, Bob);
568 568
569 { 569 {
570 TOXAV_ERR_CALL_CONTROL rc; 570 TOXAV_ERR_CALL_CONTROL rc;
@@ -576,7 +576,7 @@ START_TEST(test_AV_flows)
576 } 576 }
577 } 577 }
578 578
579 iterate_tox(bootstrap, Alice, &AliceCC, Bob, &BobCC); 579 iterate_tox(bootstrap, Alice, Bob);
580 ck_assert(BobCC.state == TOXAV_FRIEND_CALL_STATE_FINISHED); 580 ck_assert(BobCC.state == TOXAV_FRIEND_CALL_STATE_FINISHED);
581 581
582 printf("Success!\n"); 582 printf("Success!\n");