Coverage Report

Created: 2026-10-24 08:16

/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
}