forked from Green-Sky/tomato
Squashed 'external/toxcore/c-toxcore/' changes from 8f0d505f9a..6d634674a9
6d634674a9 cleanup: Remove old type-ordered event getters. d1d48d1dfc feat: add ngc events 994ffecc6b refactor: Make event dispatch ordered by receive time. 812f931d5f fix: Make sure there's enough space for CONSUME1 in fuzzers. 50f1b30fa9 test: Add fuzz tests to the coverage run. df76f5cf47 chore: Move from gcov to llvm source-based coverage. 072e3beb3f fix: issues with packet broadcast error reporting 6b6718e4d2 cleanup: Make group packet entry creation less error-prone 5b9c420ce1 refactor: packet broadcast functions now return errors af4cb31028 refactor: Use `operator==` for equality tests of `Node_format`. 9592d590cf refactor(test): Slightly nicer C++ interface to tox Random. c66e10fb7a refactor: Minor refactoring of get_close_nodes functions. ebc9643862 fix: don't pass garbage data buffer to packet send functions 32b68cffca cleanup: Some more test cleanups, removing overly smart code. 0426624dcb refactor: Assign malloc return to a local variable first. afc38f2458 test: Add more unit tests for `add_to_list`. 05ce5c1ab9 test: Add "infer" CI check to github, remove from circle. REVERT: 8f0d505f9a feat: add ngc events REVERT: 9b8216e70c refactor: Make event dispatch ordered by receive time. git-subtree-dir: external/toxcore/c-toxcore git-subtree-split: 6d634674a929edb0ab70689dcbcb195b3547be13
This commit is contained in:
66
toxcore/network_test_util.cc
Normal file
66
toxcore/network_test_util.cc
Normal file
@ -0,0 +1,66 @@
|
||||
#include "network_test_util.hh"
|
||||
|
||||
#include <iomanip>
|
||||
|
||||
IP_Port increasing_ip_port::operator()()
|
||||
{
|
||||
IP_Port ip_port;
|
||||
ip_port.ip.family = net_family_ipv4();
|
||||
ip_port.ip.ip.v4.uint8[0] = 192;
|
||||
ip_port.ip.ip.v4.uint8[1] = 168;
|
||||
ip_port.ip.ip.v4.uint8[2] = 0;
|
||||
ip_port.ip.ip.v4.uint8[3] = start_;
|
||||
ip_port.port = random_u16(rng_);
|
||||
++start_;
|
||||
return ip_port;
|
||||
}
|
||||
|
||||
IP_Port random_ip_port(const Random *rng)
|
||||
{
|
||||
IP_Port ip_port;
|
||||
ip_port.ip.family = net_family_ipv4();
|
||||
ip_port.ip.ip.v4.uint8[0] = 192;
|
||||
ip_port.ip.ip.v4.uint8[1] = 168;
|
||||
ip_port.ip.ip.v4.uint8[2] = 0;
|
||||
ip_port.ip.ip.v4.uint8[3] = random_u08(rng);
|
||||
ip_port.port = random_u16(rng);
|
||||
return ip_port;
|
||||
}
|
||||
|
||||
bool operator==(Family const &a, Family const &b) { return a.value == b.value; }
|
||||
|
||||
bool operator==(IP4 const &a, IP4 const &b) { return a.uint32 == b.uint32; }
|
||||
|
||||
bool operator==(IP6 const &a, IP6 const &b)
|
||||
{
|
||||
return a.uint64[0] == b.uint64[0] && a.uint64[1] == b.uint64[1];
|
||||
}
|
||||
|
||||
bool operator==(IP const &a, IP const &b)
|
||||
{
|
||||
if (!(a.family == b.family)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (net_family_is_ipv4(a.family)) {
|
||||
return a.ip.v4 == b.ip.v4;
|
||||
} else {
|
||||
return a.ip.v6 == b.ip.v6;
|
||||
}
|
||||
}
|
||||
|
||||
bool operator==(IP_Port const &a, IP_Port const &b) { return a.ip == b.ip && a.port == b.port; }
|
||||
|
||||
std::ostream &operator<<(std::ostream &out, IP const &v)
|
||||
{
|
||||
Ip_Ntoa ip_str;
|
||||
out << '"' << net_ip_ntoa(&v, &ip_str) << '"';
|
||||
return out;
|
||||
}
|
||||
|
||||
std::ostream &operator<<(std::ostream &out, IP_Port const &v)
|
||||
{
|
||||
return out << "IP_Port{\n"
|
||||
<< " ip = " << v.ip << ",\n"
|
||||
<< " port = " << std::dec << std::setw(0) << v.port << " }";
|
||||
}
|
Reference in New Issue
Block a user