From 6d53f16aa508c445309aa4ebe965baa9e17401a1 Mon Sep 17 00:00:00 2001 From: aqua Date: Sun, 6 Nov 2022 14:48:41 +0200 Subject: lib: migrate tests to gtest --- lib/tst/mem.c | 17 ----------------- lib/tst/mem.cc | 29 +++++++++++++++++++++++++++++ lib/tst/string.c | 34 ---------------------------------- lib/tst/string.cc | 20 ++++++++++++++++++++ 4 files changed, 49 insertions(+), 51 deletions(-) delete mode 100644 lib/tst/mem.c create mode 100644 lib/tst/mem.cc delete mode 100644 lib/tst/string.c create mode 100644 lib/tst/string.cc (limited to 'lib/tst') diff --git a/lib/tst/mem.c b/lib/tst/mem.c deleted file mode 100644 index bccb3a3..0000000 --- a/lib/tst/mem.c +++ /dev/null @@ -1,17 +0,0 @@ -#include - -static const unsigned char data[] = {0xde, 0xca, 0xfa, 0xde}; -static unsigned char buffer[4]; - -void *memset(void *s, int c, long unsigned n); -void *memcpy(void *restrict dest, const void *restrict src, long unsigned n); - -int -main(void) -{ - memset(buffer, 0xae, sizeof(data)); - for (unsigned i = 0; i < sizeof(data); ++i) assert(buffer[i] == 0xae); - - memcpy(buffer, data, sizeof(data)); - for (unsigned i = 0; i < sizeof(data); ++i) assert(buffer[i] == data[i]); -} diff --git a/lib/tst/mem.cc b/lib/tst/mem.cc new file mode 100644 index 0000000..b233da8 --- /dev/null +++ b/lib/tst/mem.cc @@ -0,0 +1,29 @@ +#include + +#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; +} diff --git a/lib/tst/string.c b/lib/tst/string.c deleted file mode 100644 index 725d547..0000000 --- a/lib/tst/string.c +++ /dev/null @@ -1,34 +0,0 @@ -#include "../string.h" -#include - -static const char *dec = "12341234"; -static const char *neg_dec = "-12341234"; -static const char *u32_hex = "decafade"; -static const char *i32_hex = "7fffffff"; -static char buffer[64]; - -int -main() -{ - { // utoa - char *r; - - r = utoa(buffer, 12341234u, 10); - for (unsigned i = 0; dec[i] != '\0'; ++i) assert(r[i] == dec[i]); - - r = utoa(buffer, 0xdecafade, 16); - for (unsigned i = 0; u32_hex[i] != '\0'; ++i) assert(r[i] == u32_hex[i]); - } - { // itoa - char *r; - - r = itoa(buffer, 12341234, 10); - for (unsigned i = 0; dec[i] != '\0'; ++i) assert(r[i] == dec[i]); - - r = itoa(buffer, -12341234, 10); - for (unsigned i = 0; neg_dec[i] != '\0'; ++i) assert(r[i] == neg_dec[i]); - - r = itoa(buffer, 0x7fffffff, 16); - for (unsigned i = 0; i32_hex[i] != '\0'; ++i) assert(r[i] == i32_hex[i]); - } -} diff --git a/lib/tst/string.cc b/lib/tst/string.cc new file mode 100644 index 0000000..8dec190 --- /dev/null +++ b/lib/tst/string.cc @@ -0,0 +1,20 @@ +#include + +namespace libk { +#include "../string/itoa.c" +} + +char buffer[64]; + +TEST(itoa, itoa) +{ + EXPECT_STREQ(libk::itoa(buffer, 12341234, 10), "12341234"); + EXPECT_STREQ(libk::itoa(buffer, -12341234, 10), "-12341234"); + EXPECT_STREQ(libk::itoa(buffer, 0x7fffffff, 16), "7fffffff"); +} + +TEST(itoa, utoa) +{ + EXPECT_STREQ(libk::utoa(buffer, 12341234u, 10), "12341234"); + EXPECT_STREQ(libk::utoa(buffer, 0xdecafade, 16), "decafade"); +} -- cgit v1.2.1