From aceef734bdfe4f68e2227fc9ac636aae8235fa12 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Thu, 13 Apr 2023 22:46:49 +0200 Subject: Add tests for memmove --- tests/Makefile | 12 ++++++++---- tests/test_memmove_dynamic_read.c | 16 ++++++++++++++++ tests/test_memmove_dynamic_write.c | 16 ++++++++++++++++ tests/test_memmove_static_read.c | 16 ++++++++++++++++ tests/test_memmove_static_write.c | 16 ++++++++++++++++ 5 files changed, 72 insertions(+), 4 deletions(-) create mode 100644 tests/test_memmove_dynamic_read.c create mode 100644 tests/test_memmove_dynamic_write.c create mode 100644 tests/test_memmove_static_read.c create mode 100644 tests/test_memmove_static_write.c (limited to 'tests') diff --git a/tests/Makefile b/tests/Makefile index c48d0b0..1f80c32 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -1,10 +1,14 @@ CC=../x86_64-linux-musl-native/bin/gcc CFLAGS=-I../include/ -D_FORTIFY_SOURCE=3 -static -O2 -TARGETS=test_memcpy_static_write \ - test_memcpy_dynamic_write \ - test_memcpy_static_read \ - test_memcpy_dynamic_read +TARGETS=test_memcpy_static_write \ + test_memcpy_dynamic_write \ + test_memcpy_static_read \ + test_memcpy_dynamic_read \ + test_memmove_static_write \ + test_memmove_dynamic_write \ + test_memmove_static_read \ + test_memmove_dynamic_read .SILENT: diff --git a/tests/test_memmove_dynamic_read.c b/tests/test_memmove_dynamic_read.c new file mode 100644 index 0000000..1a01925 --- /dev/null +++ b/tests/test_memmove_dynamic_read.c @@ -0,0 +1,16 @@ +#include "common.h" + +#include + +int main(int argc, char** argv) { + char buffer[12] = {0}; + memmove(buffer, "1234567890", sizeof(buffer) - 1); + puts(buffer); + + CHK_FAIL_START + memmove(buffer, "123456", argc); + CHK_FAIL_END + + puts(buffer); + return ret; +} diff --git a/tests/test_memmove_dynamic_write.c b/tests/test_memmove_dynamic_write.c new file mode 100644 index 0000000..b62c01f --- /dev/null +++ b/tests/test_memmove_dynamic_write.c @@ -0,0 +1,16 @@ +#include "common.h" + +#include + +int main(int argc, char** argv) { + char buffer[8] = {0}; + memmove(buffer, "1234567890", sizeof(buffer) - 1); + puts(buffer); + + CHK_FAIL_START + memmove(buffer, "1234567890", argc); + CHK_FAIL_END + + puts(buffer); + return ret; +} diff --git a/tests/test_memmove_static_read.c b/tests/test_memmove_static_read.c new file mode 100644 index 0000000..fb128a6 --- /dev/null +++ b/tests/test_memmove_static_read.c @@ -0,0 +1,16 @@ +#include "common.h" + +#include + +int main(int argc, char** argv) { + char buffer[8] = {0}; + memmove(buffer, "123456", 4); + puts(buffer); + + CHK_FAIL_START + memmove(buffer, "123456", sizeof(buffer)); + CHK_FAIL_END + + puts(buffer); + return ret; +} diff --git a/tests/test_memmove_static_write.c b/tests/test_memmove_static_write.c new file mode 100644 index 0000000..711f449 --- /dev/null +++ b/tests/test_memmove_static_write.c @@ -0,0 +1,16 @@ +#include "common.h" + +#include + +int main(int argc, char** argv) { + char buffer[8] = {0}; + memmove(buffer, "1234567890", sizeof(buffer) - 1); + puts(buffer); + + CHK_FAIL_START + memmove(buffer, "1234567890", sizeof(buffer) + 1); + CHK_FAIL_END + + puts(buffer); + return ret; +} -- cgit v1.3