diff options
Diffstat (limited to 'src/kernel/tests/util.c')
-rw-r--r-- | src/kernel/tests/util.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/kernel/tests/util.c b/src/kernel/tests/util.c new file mode 100644 index 0000000..5bc8656 --- /dev/null +++ b/src/kernel/tests/util.c @@ -0,0 +1,26 @@ +#include <kernel/tests/base.h> +#include <kernel/util.h> + +TEST(memcmp) { + // basic equality checks + TEST_IF(0 == memcmp("some", "thing", 0)) + TEST_IF(0 != memcmp("some", "thing", 1)) + TEST_IF(0 != memcmp("some", "thing", 4)) + + TEST_IF(0 == memcmp("test", "tennis", 0)); + TEST_IF(0 == memcmp("test", "tennis", 1)); + TEST_IF(0 == memcmp("test", "tennis", 2)); + TEST_IF(0 != memcmp("test", "tennis", 3)); + TEST_IF(0 != memcmp("test", "tennis", 4)); + TEST_IF(0 != memcmp("test", "tennis", 5)); + + // test signs. does anyone even use that? + TEST_IF(0 > memcmp("foo", "moo", 4)); + TEST_IF(0 < memcmp("moo", "foo", 4)); + TEST_IF(0 > memcmp("555", "654", 3)); + TEST_IF(0 < memcmp("654", "555", 3)); +} + +void tests_utils() { + TEST_RUN(memcmp); +} |