Deleted Added
full compact
35c35
< __FBSDID("$FreeBSD: head/lib/libc/tests/locale/iswctype_test.c 290532 2015-11-08 02:06:17Z ngie $");
---
> __FBSDID("$FreeBSD: stable/10/lib/libc/tests/locale/iswctype_test.c 291178 2015-11-23 08:31:41Z ngie $");
36a37,38
> #include <sys/param.h>
> #include <errno.h>
45,46c47,48
< ATF_TC_WITHOUT_HEAD(iswctype_test);
< ATF_TC_BODY(iswctype_test, tc)
---
> static void
> require_lc_ctype(const char *locale_name)
48,66c50
< wctype_t t;
< int i, j;
< struct {
< const char *name;
< int (*func)(wint_t);
< } cls[] = {
< { "alnum", iswalnum },
< { "alpha", iswalpha },
< { "blank", iswblank },
< { "cntrl", iswcntrl },
< { "digit", iswdigit },
< { "graph", iswgraph },
< { "lower", iswlower },
< { "print", iswprint },
< { "punct", iswpunct },
< { "space", iswspace },
< { "upper", iswupper },
< { "xdigit", iswxdigit }
< };
---
> char *lc_ctype_set;
68,69c52,85
< /* C/POSIX locale. */
< for (i = 0; i < sizeof(cls) / sizeof(*cls); i++) {
---
> lc_ctype_set = setlocale(LC_CTYPE, locale_name);
> if (lc_ctype_set == NULL)
> atf_tc_fail("setlocale(LC_CTYPE, \"%s\") failed; errno=%d",
> locale_name, errno);
>
> ATF_REQUIRE(strcmp(lc_ctype_set, locale_name) == 0);
> }
>
> static wctype_t t;
> static int i, j;
> static struct {
> const char *name;
> int (*func)(wint_t);
> } cls[] = {
> { "alnum", iswalnum },
> { "alpha", iswalpha },
> { "blank", iswblank },
> { "cntrl", iswcntrl },
> { "digit", iswdigit },
> { "graph", iswgraph },
> { "lower", iswlower },
> { "print", iswprint },
> { "punct", iswpunct },
> { "space", iswspace },
> { "upper", iswupper },
> { "xdigit", iswxdigit }
> };
>
> ATF_TC_WITHOUT_HEAD(iswctype_c_locale_test);
> ATF_TC_BODY(iswctype_c_locale_test, tc)
> {
>
> require_lc_ctype("C");
> for (i = 0; i < nitems(cls); i++) {
78a95
> }
80,82c97,103
< /* Japanese (EUC) locale. */
< ATF_REQUIRE(strcmp(setlocale(LC_CTYPE, "ja_JP.eucJP"), "ja_JP.eucJP") == 0);
< for (i = 0; i < sizeof(cls) / sizeof(*cls); i++) {
---
> ATF_TC_WITHOUT_HEAD(iswctype_euc_jp_test);
> ATF_TC_BODY(iswctype_euc_jp_test, tc)
> {
>
> require_lc_ctype("ja_JP.eucJP");
>
> for (i = 0; i < nitems(cls); i++) {
97c118,119
< ATF_TP_ADD_TC(tp, iswctype_test);
---
> ATF_TP_ADD_TC(tp, iswctype_c_locale_test);
> ATF_TP_ADD_TC(tp, iswctype_euc_jp_test);