From 532f4bfd0ba906e5a1410b9d2a46cf8a4992f062 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Thu, 22 Jun 2023 18:07:41 +0200 Subject: Add tests for stcncpy --- tests/Makefile | 3 +++ tests/test_stpncpy_overwrite_over.c | 15 +++++++++++++++ tests/test_stpncpy_overwrite_under.c | 15 +++++++++++++++ tests/test_stpncpy_static_write.c | 16 ++++++++++++++++ 4 files changed, 49 insertions(+) create mode 100644 tests/test_stpncpy_overwrite_over.c create mode 100644 tests/test_stpncpy_overwrite_under.c create mode 100644 tests/test_stpncpy_static_write.c (limited to 'tests') diff --git a/tests/Makefile b/tests/Makefile index 6722add..11718cc 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -22,6 +22,9 @@ TARGETS=test_memcpy_static_write \ test_strncpy_overwrite_over \ test_strncpy_overwrite_under \ test_strncpy_static_write \ + test_stpncpy_overwrite_over \ + test_stpncpy_overwrite_under \ + test_stpncpy_static_write \ test_getcwd \ .SILENT: diff --git a/tests/test_stpncpy_overwrite_over.c b/tests/test_stpncpy_overwrite_over.c new file mode 100644 index 0000000..e66d8d3 --- /dev/null +++ b/tests/test_stpncpy_overwrite_over.c @@ -0,0 +1,15 @@ +#include "common.h" + +#include + +int main(int argc, char** argv) { + char buffer[9] = {'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', '\0'}; + puts(buffer); + + CHK_FAIL_START + stpncpy(buffer+1, buffer, 5); + CHK_FAIL_END + + puts(buffer); + return ret; +} diff --git a/tests/test_stpncpy_overwrite_under.c b/tests/test_stpncpy_overwrite_under.c new file mode 100644 index 0000000..5625ff8 --- /dev/null +++ b/tests/test_stpncpy_overwrite_under.c @@ -0,0 +1,15 @@ +#include "common.h" + +#include + +int main(int argc, char** argv) { + char buffer[9] = {'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', '\0'}; + puts(buffer); + + CHK_FAIL_START + stpncpy(buffer-1, buffer, 5); + CHK_FAIL_END + + puts(buffer); + return ret; +} diff --git a/tests/test_stpncpy_static_write.c b/tests/test_stpncpy_static_write.c new file mode 100644 index 0000000..4bf9092 --- /dev/null +++ b/tests/test_stpncpy_static_write.c @@ -0,0 +1,16 @@ +#include "common.h" + +#include + +int main(int argc, char** argv) { + char buffer[8] = {0}; + stpncpy(buffer, "1234567", 5); + puts(buffer); + + CHK_FAIL_START + stpncpy(buffer, "1234567890", 10); + CHK_FAIL_END + + puts(buffer); + return ret; +} -- cgit v1.3