Squashed 'external/toxcore/c-toxcore/' changes from adbd5b32d8..e29e185c03
e29e185c03 feat: add ngc events 2b0dc0f46b add ngc related unpack functions b2315c50e0 Add groupchat API function that returns an IP address string for a peer 5f863a5492 feat: Add `to_string` functions for all public enums. 0c998a7598 add real timeout test 68c827609a chore: Move s390x build to post-merge. 028b017d79 perf: Slightly reduce bandwidth usage when there are few nodes. 90f7496819 feat: Enable ubsan on bootstrap nodes. 89b6450d66 test: Add check-c run to bazel build. REVERT: adbd5b32d8 feat: add ngc events git-subtree-dir: external/toxcore/c-toxcore git-subtree-split: e29e185c03fea7337036e5ef4d1d9080a6cee721
This commit is contained in:
@ -9,6 +9,7 @@
|
||||
#include <string.h>
|
||||
|
||||
#include "auto_test_support.h"
|
||||
#include "../toxcore/tox_private.h"
|
||||
|
||||
typedef struct State {
|
||||
size_t peer_joined_count;
|
||||
@ -42,6 +43,22 @@ typedef struct State {
|
||||
|
||||
#define PEER_LIMIT 20
|
||||
|
||||
static void print_ip(Tox *tox, uint32_t groupnumber, uint32_t peer_id)
|
||||
{
|
||||
Tox_Err_Group_Peer_Query err;
|
||||
size_t length = tox_group_peer_get_ip_address_size(tox, groupnumber, peer_id, &err);
|
||||
|
||||
ck_assert_msg(err == TOX_ERR_GROUP_PEER_QUERY_OK, "failed to get ip address size: error %d", err);
|
||||
|
||||
uint8_t ip_str[TOX_GROUP_PEER_IP_STRING_MAX_LENGTH];
|
||||
tox_group_peer_get_ip_address(tox, groupnumber, peer_id, ip_str, &err);
|
||||
ip_str[length] = '\0';
|
||||
|
||||
ck_assert_msg(err == TOX_ERR_GROUP_PEER_QUERY_OK, "failed to get ip address: error %d", err);
|
||||
|
||||
fprintf(stderr, "%s\n", ip_str);
|
||||
}
|
||||
|
||||
static bool all_group_peers_connected(AutoTox *autotoxes, uint32_t tox_count, uint32_t groupnumber, size_t name_length)
|
||||
{
|
||||
for (size_t i = 0; i < tox_count; ++i) {
|
||||
@ -119,6 +136,9 @@ static void group_peer_join_handler(Tox *tox, uint32_t groupnumber, uint32_t pee
|
||||
}
|
||||
}
|
||||
|
||||
fprintf(stderr, "%s joined with IP: ", peer_name);
|
||||
print_ip(tox, groupnumber, peer_id);
|
||||
|
||||
state->peer_id = peer_id;
|
||||
++state->peer_joined_count;
|
||||
}
|
||||
@ -178,6 +198,11 @@ static void group_peer_self_join_handler(Tox *tox, uint32_t groupnumber, void *u
|
||||
ck_assert_msg(query_err == TOX_ERR_GROUP_STATE_QUERIES_OK, "%d", query_err);
|
||||
ck_assert(memcmp(topic, TOPIC, TOPIC_LEN) == 0);
|
||||
|
||||
uint32_t peer_id = tox_group_self_get_peer_id(tox, groupnumber, nullptr);
|
||||
|
||||
fprintf(stderr, "self joined with IP: ");
|
||||
print_ip(tox, groupnumber, peer_id);
|
||||
|
||||
++state->self_joined_count;
|
||||
}
|
||||
|
||||
@ -341,6 +366,7 @@ static void group_announce_test(AutoTox *autotoxes)
|
||||
ck_assert(memcmp(tox0_pk_query, tox0_self_pk, TOX_GROUP_PEER_PUBLIC_KEY_SIZE) == 0);
|
||||
|
||||
fprintf(stderr, "Peer 0 disconnecting...\n");
|
||||
|
||||
// tox 0 disconnects then reconnects
|
||||
Tox_Err_Group_Disconnect d_err;
|
||||
tox_group_disconnect(tox0, groupnumber, &d_err);
|
||||
|
@ -53,7 +53,7 @@ static int handle_test_1(void *object, const IP_Port *source, const uint8_t *pac
|
||||
res_packet[0] = NET_PACKET_ANNOUNCE_RESPONSE;
|
||||
memcpy(res_packet + 1, res_message, sizeof(res_message));
|
||||
|
||||
if (send_onion_response(onion->net, source, res_packet, sizeof(res_packet),
|
||||
if (send_onion_response(onion->log, onion->net, source, res_packet, sizeof(res_packet),
|
||||
packet + sizeof(res_packet)) == -1) {
|
||||
return 1;
|
||||
}
|
||||
@ -293,7 +293,7 @@ static void test_basic(void)
|
||||
uint64_t s;
|
||||
memcpy(&s, sb_data, sizeof(uint64_t));
|
||||
memcpy(test_3_pub_key, nodes[3].public_key, CRYPTO_PUBLIC_KEY_SIZE);
|
||||
int ret = send_announce_request(onion1->net, rng, &path, &nodes[3],
|
||||
int ret = send_announce_request(log1, onion1->net, rng, &path, &nodes[3],
|
||||
dht_get_self_public_key(onion1->dht),
|
||||
dht_get_self_secret_key(onion1->dht),
|
||||
zeroes,
|
||||
@ -315,7 +315,7 @@ static void test_basic(void)
|
||||
memcpy(onion_announce_entry_public_key(onion2_a, 1), dht_get_self_public_key(onion2->dht), CRYPTO_PUBLIC_KEY_SIZE);
|
||||
onion_announce_entry_set_time(onion2_a, 1, mono_time_get(mono_time2));
|
||||
networking_registerhandler(onion1->net, NET_PACKET_ONION_DATA_RESPONSE, &handle_test_4, onion1);
|
||||
send_announce_request(onion1->net, rng, &path, &nodes[3],
|
||||
send_announce_request(log1, onion1->net, rng, &path, &nodes[3],
|
||||
dht_get_self_public_key(onion1->dht),
|
||||
dht_get_self_secret_key(onion1->dht),
|
||||
test_3_ping_id,
|
||||
@ -340,7 +340,7 @@ static void test_basic(void)
|
||||
ck_assert_msg((onion3 != nullptr), "Onion failed initializing.");
|
||||
|
||||
random_nonce(rng, nonce);
|
||||
ret = send_data_request(onion3->net, rng, &path, &nodes[3].ip_port,
|
||||
ret = send_data_request(log3, onion3->net, rng, &path, &nodes[3].ip_port,
|
||||
dht_get_self_public_key(onion1->dht),
|
||||
dht_get_self_public_key(onion1->dht),
|
||||
nonce, (const uint8_t *)"Install gentoo", sizeof("Install gentoo"));
|
||||
|
@ -10,6 +10,7 @@
|
||||
#include "../toxcore/tox.h"
|
||||
#include "../toxcore/tox_dispatch.h"
|
||||
#include "../toxcore/tox_events.h"
|
||||
#include "../toxcore/tox_unpack.h"
|
||||
#include "auto_test_support.h"
|
||||
#include "check_compat.h"
|
||||
|
||||
@ -160,9 +161,22 @@ static void test_tox_events(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void fake_test_unpack(void)
|
||||
{
|
||||
// TODO(Green-Sky): add proper unpack tests and/or implement ngc events
|
||||
(void)tox_unpack_group_privacy_state;
|
||||
(void)tox_unpack_group_privacy_state;
|
||||
(void)tox_unpack_group_voice_state;
|
||||
(void)tox_unpack_group_topic_lock;
|
||||
(void)tox_unpack_group_join_fail;
|
||||
(void)tox_unpack_group_mod_event;
|
||||
(void)tox_unpack_group_exit_type;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
setvbuf(stdout, nullptr, _IONBF, 0);
|
||||
test_tox_events();
|
||||
fake_test_unpack();
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user