summaryrefslogtreecommitdiff
path: root/auto_tests
diff options
context:
space:
mode:
authorzugz (tox) <mbays+tox@sdf.org>2018-08-02 19:23:34 +0100
committerzugz (tox) <mbays+tox@sdf.org>2018-08-12 22:46:06 +0200
commitd56ab5aaff5fab7ac707a5c914d3701f43eb2ba3 (patch)
tree161278ec297d281d1c39f1f337fe67eb52865c4c /auto_tests
parent4ed6e5999226f9061f546108c5be72fe6f21a775 (diff)
add callback for successful connection to a conference
Diffstat (limited to 'auto_tests')
-rw-r--r--auto_tests/conference_simple_test.c25
-rw-r--r--auto_tests/conference_test.c13
2 files changed, 14 insertions, 24 deletions
diff --git a/auto_tests/conference_simple_test.c b/auto_tests/conference_simple_test.c
index 5a286b4a..010ae029 100644
--- a/auto_tests/conference_simple_test.c
+++ b/auto_tests/conference_simple_test.c
@@ -87,22 +87,17 @@ static void handle_conference_peer_list_changed(Tox *tox, uint32_t conference_nu
87 87
88 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);
89 state->peers = count; 89 state->peers = count;
90}
91
92static void handle_conference_connected(Tox *tox, uint32_t conference_number, void *user_data)
93{
94 State *state = (State *)user_data;
90 95
91 // We're tox2, so now we invite tox3. 96 // We're tox2, so now we invite tox3.
92 if (state->id == 2 && !state->invited_next) { 97 if (state->id == 2 && !state->invited_next) {
93 // TODO(zugz): neater way to determine whether we are connected, and when 98 TOX_ERR_CONFERENCE_INVITE err;
94 // we become so 99 tox_conference_invite(tox, 1, state->conference, &err);
95 TOX_ERR_CONFERENCE_PEER_QUERY peer_err; 100 ck_assert_msg(err == TOX_ERR_CONFERENCE_INVITE_OK, "tox2 failed to invite tox3: err = %d", 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_invite;
103 tox_conference_invite(tox, 1, state->conference, &err_invite);
104 ck_assert_msg(err_invite == TOX_ERR_CONFERENCE_INVITE_OK,
105 "tox2 failed to invite tox3: err = %d", err_invite);
106 101
107 state->invited_next = true; 102 state->invited_next = true;
108 fprintf(stderr, "tox2 invited tox3\n"); 103 fprintf(stderr, "tox2 invited tox3\n");
@@ -155,6 +150,10 @@ int main(void)
155 tox_callback_conference_invite(tox2, handle_conference_invite); 150 tox_callback_conference_invite(tox2, handle_conference_invite);
156 tox_callback_conference_invite(tox3, handle_conference_invite); 151 tox_callback_conference_invite(tox3, handle_conference_invite);
157 152
153 tox_callback_conference_connected(tox1, handle_conference_connected);
154 tox_callback_conference_connected(tox2, handle_conference_connected);
155 tox_callback_conference_connected(tox3, handle_conference_connected);
156
158 tox_callback_conference_message(tox1, handle_conference_message); 157 tox_callback_conference_message(tox1, handle_conference_message);
159 tox_callback_conference_message(tox2, handle_conference_message); 158 tox_callback_conference_message(tox2, handle_conference_message);
160 tox_callback_conference_message(tox3, handle_conference_message); 159 tox_callback_conference_message(tox3, handle_conference_message);
diff --git a/auto_tests/conference_test.c b/auto_tests/conference_test.c
index fd4f41b4..8f8f9357 100644
--- a/auto_tests/conference_test.c
+++ b/auto_tests/conference_test.c
@@ -70,7 +70,7 @@ static void handle_conference_invite(
70 "tox #%u: joining groupchat twice should be impossible.", state->id); 70 "tox #%u: joining groupchat twice should be impossible.", state->id);
71} 71}
72 72
73static void handle_conference_peer_list_changed( 73static void handle_conference_connected(
74 Tox *tox, uint32_t conference_number, void *user_data) 74 Tox *tox, uint32_t conference_number, void *user_data)
75{ 75{
76 State *state = (State *)user_data; 76 State *state = (State *)user_data;
@@ -79,15 +79,6 @@ static void handle_conference_peer_list_changed(
79 return; 79 return;
80 } 80 }
81 81
82 // TODO(zugz): neater way to determine whether we are connected, and when
83 // we become so
84 TOX_ERR_CONFERENCE_PEER_QUERY peer_err;
85 tox_conference_peer_number_is_ours(tox, 0, 0, &peer_err);
86
87 if (peer_err != TOX_ERR_CONFERENCE_PEER_QUERY_OK) {
88 return;
89 }
90
91 TOX_ERR_CONFERENCE_INVITE err; 82 TOX_ERR_CONFERENCE_INVITE err;
92 tox_conference_invite(tox, 1, 0, &err); 83 tox_conference_invite(tox, 1, 0, &err);
93 ck_assert_msg(err == TOX_ERR_CONFERENCE_INVITE_OK, "tox #%u failed to invite next friend: err = %d", state->id, err); 84 ck_assert_msg(err == TOX_ERR_CONFERENCE_INVITE_OK, "tox #%u failed to invite next friend: err = %d", state->id, err);
@@ -190,7 +181,7 @@ static void test_many_group(void)
190 tox_callback_self_connection_status(toxes[i], &handle_self_connection_status); 181 tox_callback_self_connection_status(toxes[i], &handle_self_connection_status);
191 tox_callback_friend_connection_status(toxes[i], &handle_friend_connection_status); 182 tox_callback_friend_connection_status(toxes[i], &handle_friend_connection_status);
192 tox_callback_conference_invite(toxes[i], &handle_conference_invite); 183 tox_callback_conference_invite(toxes[i], &handle_conference_invite);
193 tox_callback_conference_peer_list_changed(toxes[i], &handle_conference_peer_list_changed); 184 tox_callback_conference_connected(toxes[i], &handle_conference_connected);
194 185
195 char name[NAMELEN + 1]; 186 char name[NAMELEN + 1];
196 snprintf(name, NAMELEN + 1, NAME_FORMAT_STR, state[i].id); 187 snprintf(name, NAMELEN + 1, NAME_FORMAT_STR, state[i].id);