aboutsummaryrefslogtreecommitdiff
path: root/lib/tst/linked_list_allocator.cc
diff options
context:
space:
mode:
authoraqua <aqua@iserlohn-fortress.net>2023-03-05 14:38:54 +0200
committeraqua <aqua@iserlohn-fortress.net>2023-03-05 14:38:54 +0200
commit787c1a6016dd2fdb51f20fcb5ca0ac5e461892d6 (patch)
tree7db9f5102adc3d50ca85a8175ce67465256b8908 /lib/tst/linked_list_allocator.cc
parentAdd TARGETBIN and TARGETLIB rules (diff)
downloadkernel-787c1a6016dd2fdb51f20fcb5ca0ac5e461892d6.tar.xz
Move all tests next to the code they're testingHEADmaster
Diffstat (limited to 'lib/tst/linked_list_allocator.cc')
-rw-r--r--lib/tst/linked_list_allocator.cc98
1 files changed, 0 insertions, 98 deletions
diff --git a/lib/tst/linked_list_allocator.cc b/lib/tst/linked_list_allocator.cc
deleted file mode 100644
index a2575d5..0000000
--- a/lib/tst/linked_list_allocator.cc
+++ /dev/null
@@ -1,98 +0,0 @@
-#include <gtest/gtest.h>
-#include <iomanip>
-#include <iostream>
-
-namespace libk {
-#include "../libk/stdlib/linked_list_allocator.c"
-
-std::ostream &
-operator<<(std::ostream &os, const Chunk &b)
-{
- for (const Chunk *iter = &b; iter != nullptr; iter = iter->next) {
- os << iter << " used=" << iter->used << " size=" << std::setw(4) << iter->size << " next=" << iter->next
- << std::endl;
- }
- return os;
-}
-}; // namespace libk
-
-#include "allocator.hh"
-
-TEST(UninitializedAllocator, malloc) { EXPECT_EQ(libk::malloc(1024), nullptr); }
-
-TEST_F(TestAllocator, mallocMoreThanAvialable)
-{
- void *ptr = libk::malloc(memory_size);
- EXPECT_EQ(ptr, nullptr) << *libk::begin;
-}
-
-TEST_F(TestAllocator, mallocExactlyAvialable)
-{
- void *ptr = libk::malloc(memory_size - sizeof(libk::Chunk));
- EXPECT_NE(ptr, nullptr) << *libk::begin;
-}
-
-TEST_F(TestAllocator, malloc)
-{
- libk::Chunk *begin = libk::begin;
-
- void *ptr0 = libk::malloc(1024);
- EXPECT_NE(ptr0, nullptr) << *libk::begin;
- EXPECT_EQ(reinterpret_cast<std::uintptr_t>(ptr0),
- reinterpret_cast<std::uintptr_t>(libk::begin) + sizeof(libk::Chunk));
- EXPECT_EQ(begin->used, 1);
- EXPECT_EQ(begin->size, 1024);
- ASSERT_NE(begin->next, nullptr);
- begin = begin->next;
-
- void *ptr1 = libk::malloc(512);
- EXPECT_NE(ptr1, nullptr) << *libk::begin;
- EXPECT_EQ(reinterpret_cast<std::uintptr_t>(ptr1),
- reinterpret_cast<std::uintptr_t>(libk::begin) + 2 * sizeof(libk::Chunk) + 1024);
- EXPECT_EQ(begin->used, 1);
- EXPECT_EQ(begin->size, 512);
- ASSERT_NE(begin->next, nullptr);
-}
-
-TEST_F(TestAllocator, freeNullptr)
-{
- void *ptr0 = libk::malloc(1024);
- EXPECT_NE(ptr0, nullptr) << *libk::begin;
- void *ptr1 = libk::malloc(512);
- EXPECT_NE(ptr1, nullptr) << *libk::begin;
-
- libk::free(nullptr);
- libk::Chunk *begin = libk::begin;
- EXPECT_EQ(begin->used, 1);
- EXPECT_NE(begin->next, nullptr);
- begin = begin->next;
- EXPECT_EQ(begin->used, 1);
- EXPECT_NE(begin->next, nullptr);
- begin = begin->next;
- EXPECT_EQ(begin->used, 0);
- EXPECT_EQ(begin->next, nullptr);
-}
-
-TEST_F(TestAllocator, free)
-{
- void *ptr0 = libk::malloc(1024);
- EXPECT_NE(ptr0, nullptr) << *libk::begin;
- void *ptr1 = libk::malloc(512);
- EXPECT_NE(ptr1, nullptr) << *libk::begin;
-
- libk::free(ptr0);
- libk::Chunk *begin = libk::begin;
- EXPECT_EQ(begin->used, 0) << ptr0 << ": ptr0" << std::endl << *libk::begin;
- EXPECT_NE(begin->next, nullptr);
- begin = begin->next;
- EXPECT_EQ(begin->used, 1);
- EXPECT_NE(begin->next, nullptr);
- begin = begin->next;
- EXPECT_EQ(begin->used, 0);
- EXPECT_EQ(begin->next, nullptr);
-
- libk::free(ptr1);
- begin = libk::begin;
- EXPECT_EQ(begin->used, 0) << ptr0 << ": ptr0" << std::endl << *libk::begin;
- EXPECT_EQ(begin->next, nullptr);
-}