From: Bruno Haible Date: Fri, 21 Apr 2017 14:55:49 +0000 (+0200) Subject: mbrtowc tests: Fix test failures on MSVC 14. X-Git-Tag: v1.0~6268 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=00ab09387598cad8743a44b73159d5909b4ea3e4;p=gnulib.git mbrtowc tests: Fix test failures on MSVC 14. * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion behaviour for invalid input. --- diff --git a/ChangeLog b/ChangeLog index 7ef61bea37..78e49755ab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2017-04-21 Bruno Haible + + mbrtowc tests: Fix test failures on MSVC 14. + * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion + behaviour for invalid input. + 2017-04-21 Bruno Haible mbsinit: Fix for MSVC 14. diff --git a/tests/test-mbrtowc-w32.c b/tests/test-mbrtowc-w32.c index 4dc30b0a74..70afc87f46 100644 --- a/tests/test-mbrtowc-w32.c +++ b/tests/test-mbrtowc-w32.c @@ -325,14 +325,12 @@ test_one_locale (const char *name, int codepage) memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\377", 1, &state); /* 0xFF */ - ASSERT (ret == (size_t)-1); - ASSERT (errno == EILSEQ); + ASSERT ((ret == (size_t)-1 && errno == EILSEQ) || ret == (size_t)-2); memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\225\377", 2, &state); /* 0x95 0xFF */ - ASSERT (ret == (size_t)-1); - ASSERT (errno == EILSEQ); + ASSERT ((ret == (size_t)-1 && errno == EILSEQ) || (ret == 2 && wc == 0x30FB)); } return 0; @@ -397,14 +395,12 @@ test_one_locale (const char *name, int codepage) memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\377", 1, &state); /* 0xFF */ - ASSERT (ret == (size_t)-1); - ASSERT (errno == EILSEQ); + ASSERT ((ret == (size_t)-1 && errno == EILSEQ) || ret == (size_t)-2); memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\225\377", 2, &state); /* 0x95 0xFF */ - ASSERT (ret == (size_t)-1); - ASSERT (errno == EILSEQ); + ASSERT ((ret == (size_t)-1 && errno == EILSEQ) || (ret == 2 && wc == '?')); } return 0; @@ -469,14 +465,12 @@ test_one_locale (const char *name, int codepage) memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\377", 1, &state); /* 0xFF */ - ASSERT (ret == (size_t)-1); - ASSERT (errno == EILSEQ); + ASSERT ((ret == (size_t)-1 && errno == EILSEQ) || ret == (size_t)-2); memset (&state, '\0', sizeof (mbstate_t)); wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, "\225\377", 2, &state); /* 0x95 0xFF */ - ASSERT (ret == (size_t)-1); - ASSERT (errno == EILSEQ); + ASSERT ((ret == (size_t)-1 && errno == EILSEQ) || (ret == 2 && wc == '?')); } return 0;