aboutsummaryrefslogtreecommitdiff
path: root/lib/libk/stdlib/test_mem.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libk/stdlib/test_mem.cc')
-rw-r--r--lib/libk/stdlib/test_mem.cc29
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/libk/stdlib/test_mem.cc b/lib/libk/stdlib/test_mem.cc
new file mode 100644
index 0000000..f8a5e18
--- /dev/null
+++ b/lib/libk/stdlib/test_mem.cc
@@ -0,0 +1,29 @@
+#include <gtest/gtest.h>
+
+#define restrict __restrict__
+
+namespace libk {
+#include "memcpy.c"
+#include "memset.c"
+} // namespace libk
+
+TEST(mem, memset)
+{
+ auto *buffer = new unsigned char[2048];
+
+ libk::memset(buffer, 0xae, sizeof(buffer));
+ for (unsigned i = 0; i < sizeof(buffer); ++i) EXPECT_EQ(buffer[i], 0xae);
+
+ delete[] buffer;
+}
+
+TEST(mem, memcpy)
+{
+ const unsigned char data[] = {0xde, 0xca, 0xfa, 0xde};
+ auto *buffer = new unsigned char[sizeof(data)];
+
+ memcpy(buffer, data, sizeof(data));
+ for (unsigned i = 0; i < sizeof(data); ++i) EXPECT_EQ(buffer[i], data[i]);
+
+ delete[] buffer;
+}