forked from Green-Sky/tomato
Squashed 'external/toxcore/c-toxcore/' changes from 67badf694..82460b212
82460b212 feat: add ngc events 24b54722a fix: Ensure we have allocators available for the error paths. 48dbcfebc cleanup: Remove redundant `-DSODIUM_EXPORT` from definitions. 0cef46ee9 cleanup: Fix a few more clang-tidy warnings. 0c5b918e9 cleanup: Fix a few more clang-tidy warnings. 4d3c97f49 cleanup: Enforce stricter identifier naming using clang-tidy. a549807df refactor: Add `mem` module to allow tests to override allocators. 6133fb153 chore: Add devcontainer setup for codespaces. 620e07ecd chore: Set a timeout for tests started using Conan c0ec33b16 chore: Migrate Windows CI from Appveyor to Azure DevOps 8ed47f3ef fix incorrect documentation a1e245841 docs: Fix doxygen config and remove some redundant comments. b0f633185 chore: Fix the Android CI job 7469a529b fix: Add missing `#include <array>`. 2b1a6b0d2 add missing ngc constants getter declarations and definitions 2e02d5637 chore: Add missing module dependencies. REVERT: 67badf694 feat: add ngc events git-subtree-dir: external/toxcore/c-toxcore git-subtree-split: 82460b2124216af1ac9d63060de310a682a2fd15
This commit is contained in:
@ -15,41 +15,54 @@ struct Ping_Array_Deleter {
|
||||
using Ping_Array_Ptr = std::unique_ptr<Ping_Array, Ping_Array_Deleter>;
|
||||
|
||||
struct Mono_Time_Deleter {
|
||||
void operator()(Mono_Time *arr) { mono_time_free(arr); }
|
||||
Mono_Time_Deleter(const Memory *mem)
|
||||
: mem_(mem)
|
||||
{
|
||||
}
|
||||
void operator()(Mono_Time *arr) { mono_time_free(mem_, arr); }
|
||||
|
||||
private:
|
||||
const Memory *mem_;
|
||||
};
|
||||
|
||||
using Mono_Time_Ptr = std::unique_ptr<Mono_Time, Mono_Time_Deleter>;
|
||||
|
||||
TEST(PingArray, MinimumTimeoutIsOne)
|
||||
{
|
||||
EXPECT_EQ(ping_array_new(1, 0), nullptr);
|
||||
EXPECT_NE(Ping_Array_Ptr(ping_array_new(1, 1)), nullptr);
|
||||
const Memory *mem = system_memory();
|
||||
EXPECT_EQ(ping_array_new(mem, 1, 0), nullptr);
|
||||
EXPECT_NE(Ping_Array_Ptr(ping_array_new(mem, 1, 1)), nullptr);
|
||||
}
|
||||
|
||||
TEST(PingArray, MinimumArraySizeIsOne)
|
||||
{
|
||||
EXPECT_EQ(ping_array_new(0, 1), nullptr);
|
||||
EXPECT_NE(Ping_Array_Ptr(ping_array_new(1, 1)), nullptr);
|
||||
const Memory *mem = system_memory();
|
||||
EXPECT_EQ(ping_array_new(mem, 0, 1), nullptr);
|
||||
EXPECT_NE(Ping_Array_Ptr(ping_array_new(mem, 1, 1)), nullptr);
|
||||
}
|
||||
|
||||
TEST(PingArray, ArraySizeMustBePowerOfTwo)
|
||||
{
|
||||
const Memory *mem = system_memory();
|
||||
|
||||
Ping_Array_Ptr arr;
|
||||
arr.reset(ping_array_new(2, 1));
|
||||
arr.reset(ping_array_new(mem, 2, 1));
|
||||
EXPECT_NE(arr, nullptr);
|
||||
arr.reset(ping_array_new(4, 1));
|
||||
arr.reset(ping_array_new(mem, 4, 1));
|
||||
EXPECT_NE(arr, nullptr);
|
||||
arr.reset(ping_array_new(1024, 1));
|
||||
arr.reset(ping_array_new(mem, 1024, 1));
|
||||
EXPECT_NE(arr, nullptr);
|
||||
|
||||
EXPECT_EQ(ping_array_new(1023, 1), nullptr);
|
||||
EXPECT_EQ(ping_array_new(1234, 1), nullptr);
|
||||
EXPECT_EQ(ping_array_new(mem, 1023, 1), nullptr);
|
||||
EXPECT_EQ(ping_array_new(mem, 1234, 1), nullptr);
|
||||
}
|
||||
|
||||
TEST(PingArray, StoredDataCanBeRetrieved)
|
||||
{
|
||||
Ping_Array_Ptr const arr(ping_array_new(2, 1));
|
||||
Mono_Time_Ptr const mono_time(mono_time_new(nullptr, nullptr));
|
||||
const Memory *mem = system_memory();
|
||||
|
||||
Ping_Array_Ptr const arr(ping_array_new(mem, 2, 1));
|
||||
Mono_Time_Ptr const mono_time(mono_time_new(mem, nullptr, nullptr), mem);
|
||||
ASSERT_NE(mono_time, nullptr);
|
||||
const Random *rng = system_random();
|
||||
ASSERT_NE(rng, nullptr);
|
||||
@ -65,8 +78,10 @@ TEST(PingArray, StoredDataCanBeRetrieved)
|
||||
|
||||
TEST(PingArray, RetrievingDataWithTooSmallOutputBufferHasNoEffect)
|
||||
{
|
||||
Ping_Array_Ptr const arr(ping_array_new(2, 1));
|
||||
Mono_Time_Ptr const mono_time(mono_time_new(nullptr, nullptr));
|
||||
const Memory *mem = system_memory();
|
||||
|
||||
Ping_Array_Ptr const arr(ping_array_new(mem, 2, 1));
|
||||
Mono_Time_Ptr const mono_time(mono_time_new(mem, nullptr, nullptr), mem);
|
||||
ASSERT_NE(mono_time, nullptr);
|
||||
const Random *rng = system_random();
|
||||
ASSERT_NE(rng, nullptr);
|
||||
@ -86,8 +101,10 @@ TEST(PingArray, RetrievingDataWithTooSmallOutputBufferHasNoEffect)
|
||||
|
||||
TEST(PingArray, ZeroLengthDataCanBeAdded)
|
||||
{
|
||||
Ping_Array_Ptr const arr(ping_array_new(2, 1));
|
||||
Mono_Time_Ptr const mono_time(mono_time_new(nullptr, nullptr));
|
||||
const Memory *mem = system_memory();
|
||||
|
||||
Ping_Array_Ptr const arr(ping_array_new(mem, 2, 1));
|
||||
Mono_Time_Ptr const mono_time(mono_time_new(mem, nullptr, nullptr), mem);
|
||||
ASSERT_NE(mono_time, nullptr);
|
||||
const Random *rng = system_random();
|
||||
ASSERT_NE(rng, nullptr);
|
||||
@ -101,8 +118,10 @@ TEST(PingArray, ZeroLengthDataCanBeAdded)
|
||||
|
||||
TEST(PingArray, PingId0IsInvalid)
|
||||
{
|
||||
Ping_Array_Ptr const arr(ping_array_new(2, 1));
|
||||
Mono_Time_Ptr const mono_time(mono_time_new(nullptr, nullptr));
|
||||
const Memory *mem = system_memory();
|
||||
|
||||
Ping_Array_Ptr const arr(ping_array_new(mem, 2, 1));
|
||||
Mono_Time_Ptr const mono_time(mono_time_new(mem, nullptr, nullptr), mem);
|
||||
ASSERT_NE(mono_time, nullptr);
|
||||
|
||||
uint8_t c = 0;
|
||||
@ -112,8 +131,10 @@ TEST(PingArray, PingId0IsInvalid)
|
||||
// Protection against replay attacks.
|
||||
TEST(PingArray, DataCanOnlyBeRetrievedOnce)
|
||||
{
|
||||
Ping_Array_Ptr const arr(ping_array_new(2, 1));
|
||||
Mono_Time_Ptr const mono_time(mono_time_new(nullptr, nullptr));
|
||||
const Memory *mem = system_memory();
|
||||
|
||||
Ping_Array_Ptr const arr(ping_array_new(mem, 2, 1));
|
||||
Mono_Time_Ptr const mono_time(mono_time_new(mem, nullptr, nullptr), mem);
|
||||
ASSERT_NE(mono_time, nullptr);
|
||||
const Random *rng = system_random();
|
||||
ASSERT_NE(rng, nullptr);
|
||||
@ -128,8 +149,10 @@ TEST(PingArray, DataCanOnlyBeRetrievedOnce)
|
||||
|
||||
TEST(PingArray, PingIdMustMatchOnCheck)
|
||||
{
|
||||
Ping_Array_Ptr const arr(ping_array_new(1, 1));
|
||||
Mono_Time_Ptr const mono_time(mono_time_new(nullptr, nullptr));
|
||||
const Memory *mem = system_memory();
|
||||
|
||||
Ping_Array_Ptr const arr(ping_array_new(mem, 1, 1));
|
||||
Mono_Time_Ptr const mono_time(mono_time_new(mem, nullptr, nullptr), mem);
|
||||
ASSERT_NE(mono_time, nullptr);
|
||||
const Random *rng = system_random();
|
||||
ASSERT_NE(rng, nullptr);
|
||||
|
Reference in New Issue
Block a user