From d9feee06053d1f3c006de00b00dd5feb54ca75e5 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Mon, 21 Aug 2023 00:43:30 +0200 Subject: Add tests for fgetws and mbsrtowcs --- tests/Makefile | 4 ++++ tests/test_fgetws_dynamic.c | 15 +++++++++++++++ tests/test_fgetws_static.c | 15 +++++++++++++++ tests/test_mbsrtowcs_dynamic.c | 16 ++++++++++++++++ tests/test_mbsrtowcs_static.c | 16 ++++++++++++++++ 5 files changed, 66 insertions(+) create mode 100644 tests/test_fgetws_dynamic.c create mode 100644 tests/test_fgetws_static.c create mode 100644 tests/test_mbsrtowcs_dynamic.c create mode 100644 tests/test_mbsrtowcs_static.c (limited to 'tests') diff --git a/tests/Makefile b/tests/Makefile index bcce585..5145b3b 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -15,6 +15,8 @@ TARGETS= \ test_confstr_static \ test_fgets_dynamic \ test_fgets_static \ + test_fgetws_dynamic \ + test_fgetws_static \ test_fread_int_overflow \ test_fread_overwrite_dynamic \ test_fread_overwrite_static \ @@ -31,6 +33,8 @@ TARGETS= \ test_gethostname_static \ test_getlogin_r_dynamic \ test_getlogin_r_static \ + test_mbsrtowcs_dynamic \ + test_mbsrtowcs_static \ test_memchr_dynamic_read \ test_memchr_static_read \ test_memcpy_dynamic_read \ diff --git a/tests/test_fgetws_dynamic.c b/tests/test_fgetws_dynamic.c new file mode 100644 index 0000000..f5919da --- /dev/null +++ b/tests/test_fgetws_dynamic.c @@ -0,0 +1,15 @@ +#include "common.h" + +#define _GNU_SOURCE +#include + +int main(int argc, char** argv) { + wchar_t buffer[8] = {L'A'}; + + CHK_FAIL_START + fgetws(buffer, argc, NULL); + CHK_FAIL_END + + putwchar(buffer[0]); + return ret; +} diff --git a/tests/test_fgetws_static.c b/tests/test_fgetws_static.c new file mode 100644 index 0000000..a02653f --- /dev/null +++ b/tests/test_fgetws_static.c @@ -0,0 +1,15 @@ +#include "common.h" + +#define _GNU_SOURCE +#include + +int main(int argc, char** argv) { + wchar_t buffer[12] = {L'A'}; + + CHK_FAIL_START + fgetws(buffer, 14, NULL); + CHK_FAIL_END + + putwchar(buffer[0]); + return ret; +} diff --git a/tests/test_mbsrtowcs_dynamic.c b/tests/test_mbsrtowcs_dynamic.c new file mode 100644 index 0000000..21b7eab --- /dev/null +++ b/tests/test_mbsrtowcs_dynamic.c @@ -0,0 +1,16 @@ +#include "common.h" + +#define _GNU_SOURCE +#include + +int main(int argc, char** argv) { + wchar_t dest[3]; + const char* src = "abcdefghijklmnopq"; + mbstate_t ps; + + CHK_FAIL_START + mbsrtowcs(dest, &src, argc, &ps); + CHK_FAIL_END + + return ret; +} diff --git a/tests/test_mbsrtowcs_static.c b/tests/test_mbsrtowcs_static.c new file mode 100644 index 0000000..896329a --- /dev/null +++ b/tests/test_mbsrtowcs_static.c @@ -0,0 +1,16 @@ +#include "common.h" + +#define _GNU_SOURCE +#include + +int main(int argc, char** argv) { + wchar_t dest[3]; + const char* src = "abcdefghijklmnopq"; + mbstate_t ps; + + CHK_FAIL_START + mbsrtowcs(dest, &src, 12, &ps); + CHK_FAIL_END + + return ret; +} -- cgit v1.3