/work/auto_tests/scenarios/scenario_lossy_packet_test.c
Line | Count | Source (jump to first uncovered line) |
1 | | #include "framework/framework.h" |
2 | | #include <stdio.h> |
3 | | #include <stdlib.h> |
4 | | #include <string.h> |
5 | | |
6 | 7 | #define LOSSY_PACKET_FILLER 200 |
7 | | |
8 | | static void alice_script(ToxNode *self, void *ctx) |
9 | 7 | { |
10 | 7 | Tox *tox = tox_node_get_tox(self); |
11 | 7 | WAIT_UNTIL(tox_node_is_self_connected(self)); |
12 | 7 | WAIT_UNTIL(tox_node_is_friend_connected(self, 0)); |
13 | | |
14 | 7 | const size_t packet_size = tox_max_custom_packet_size(); |
15 | 7 | uint8_t *packet = (uint8_t *)malloc(packet_size); |
16 | 7 | memset(packet, LOSSY_PACKET_FILLER, packet_size); |
17 | | |
18 | 7 | tox_node_log(self, "Sending lossy packet to Bob..."); |
19 | 7 | tox_friend_send_lossy_packet(tox, 0, packet, packet_size, nullptr); |
20 | 7 | free(packet); |
21 | 7 | } |
22 | | |
23 | | static void bob_script(ToxNode *self, void *ctx) |
24 | 9 | { |
25 | 9 | WAIT_UNTIL(tox_node_is_self_connected(self)); |
26 | 9 | WAIT_UNTIL(tox_node_is_friend_connected(self, 0)); |
27 | | |
28 | 9 | tox_node_log(self, "Waiting for lossy packet from Alice..."); |
29 | 9 | WAIT_FOR_EVENT(TOX_EVENT_FRIEND_LOSSY_PACKET); |
30 | 9 | tox_node_log(self, "Received lossy packet from Alice!"); |
31 | 9 | } |
32 | | |
33 | | int main(int argc, char *argv[]) |
34 | 31 | { |
35 | 31 | ToxScenario *s = tox_scenario_new(argc, argv, 60000); |
36 | | |
37 | 31 | ToxNode *alice = tox_scenario_add_node(s, "Alice", alice_script, nullptr, 0); |
38 | 31 | ToxNode *bob = tox_scenario_add_node(s, "Bob", bob_script, nullptr, 0); |
39 | | |
40 | 31 | tox_node_bootstrap(bob, alice); |
41 | 31 | tox_node_friend_add(alice, bob); |
42 | 31 | tox_node_friend_add(bob, alice); |
43 | | |
44 | 31 | ToxScenarioStatus res = tox_scenario_run(s); |
45 | 31 | if (res != TOX_SCENARIO_DONE) { |
46 | 0 | tox_scenario_log(s, "Test failed with status %u", res); |
47 | 0 | return 1; |
48 | 0 | } |
49 | | |
50 | 31 | tox_scenario_free(s); |
51 | 31 | return 0; |
52 | 31 | } |