summaryrefslogtreecommitdiff
path: root/auto_tests/conference_simple_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'auto_tests/conference_simple_test.c')
-rw-r--r--auto_tests/conference_simple_test.c34
1 files changed, 21 insertions, 13 deletions
diff --git a/auto_tests/conference_simple_test.c b/auto_tests/conference_simple_test.c
index 8d95bba8..f2bede30 100644
--- a/auto_tests/conference_simple_test.c
+++ b/auto_tests/conference_simple_test.c
@@ -13,6 +13,7 @@ typedef struct State {
13 uint32_t id; 13 uint32_t id;
14 bool self_online; 14 bool self_online;
15 bool friend_online; 15 bool friend_online;
16 bool invited_next;
16 17
17 bool joined; 18 bool joined;
18 uint32_t conference; 19 uint32_t conference;
@@ -55,19 +56,6 @@ static void handle_conference_invite(Tox *tox, uint32_t friend_number, TOX_CONFE
55 fprintf(stderr, "tox%d Joined conference %d\n", state->id, state->conference); 56 fprintf(stderr, "tox%d Joined conference %d\n", state->id, state->conference);
56 state->joined = true; 57 state->joined = true;
57 } 58 }
58
59 // We're tox2, so now we invite tox3.
60 if (state->id == 2) {
61 TOX_ERR_CONFERENCE_INVITE err;
62 tox_conference_invite(tox, 1, state->conference, &err);
63
64 if (err != TOX_ERR_CONFERENCE_INVITE_OK) {
65 fprintf(stderr, "ERROR: %d\n", err);
66 exit(EXIT_FAILURE);
67 }
68
69 fprintf(stderr, "tox2 invited tox3\n");
70 }
71} 59}
72 60
73static void handle_conference_message(Tox *tox, uint32_t conference_number, uint32_t peer_number, 61static void handle_conference_message(Tox *tox, uint32_t conference_number, uint32_t peer_number,
@@ -99,6 +87,25 @@ static void handle_conference_peer_list_changed(Tox *tox, uint32_t conference_nu
99 87
100 fprintf(stderr, "tox%d has %d peers online\n", state->id, count); 88 fprintf(stderr, "tox%d has %d peers online\n", state->id, count);
101 state->peers = count; 89 state->peers = count;
90
91 // We're tox2, so now we invite tox3.
92 if (state->id == 2 && !state->invited_next) {
93 // TODO(zugz): neater way to determine whether we are connected, and when
94 // we become so
95 TOX_ERR_CONFERENCE_PEER_QUERY peer_err;
96 tox_conference_peer_number_is_ours(tox, 0, 0, &peer_err);
97
98 if (peer_err != TOX_ERR_CONFERENCE_PEER_QUERY_OK) {
99 return;
100 }
101
102 TOX_ERR_CONFERENCE_INVITE err;
103 tox_conference_invite(tox, 1, state->conference, &err);
104 ck_assert_msg(err == TOX_ERR_CONFERENCE_INVITE_OK, "tox2 failed to invite tox3: err = %d", err);
105
106 state->invited_next = true;
107 fprintf(stderr, "tox2 invited tox3\n");
108 }
102} 109}
103 110
104int main(void) 111int main(void)
@@ -195,6 +202,7 @@ int main(void)
195 TOX_ERR_CONFERENCE_INVITE err; 202 TOX_ERR_CONFERENCE_INVITE err;
196 tox_conference_invite(tox1, 0, state1.conference, &err); 203 tox_conference_invite(tox1, 0, state1.conference, &err);
197 ck_assert_msg(err == TOX_ERR_CONFERENCE_INVITE_OK, "failed to invite a friend: err = %d", err); 204 ck_assert_msg(err == TOX_ERR_CONFERENCE_INVITE_OK, "failed to invite a friend: err = %d", err);
205 state1.invited_next = true;
198 fprintf(stderr, "tox1 invited tox2\n"); 206 fprintf(stderr, "tox1 invited tox2\n");
199 } 207 }
200 208