Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Nov 2015 02:06:17 +0000 (UTC)
From:      Garrett Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r290532 - in head: lib/libc/tests/locale tools/regression/lib/libc/locale
Message-ID:  <201511080206.tA826HJR071239@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Sun Nov  8 02:06:17 2015
New Revision: 290532
URL: https://svnweb.freebsd.org/changeset/base/290532

Log:
  Integrate tools/regression/lib/libc/locale into the FreeBSD test suite
  as lib/libc/tests/locale
  
  MFC after: 1 week
  Sponsored by: EMC / Isilon Storage Division

Added:
  head/lib/libc/tests/locale/btowc_test.c
     - copied, changed from r290531, head/tools/regression/lib/libc/locale/test-btowc.c
  head/lib/libc/tests/locale/c16rtomb_test.c
     - copied, changed from r290531, head/tools/regression/lib/libc/locale/test-c16rtomb.c
  head/lib/libc/tests/locale/iswctype_test.c
     - copied, changed from r290531, head/tools/regression/lib/libc/locale/test-iswctype.c
  head/lib/libc/tests/locale/mblen_test.c
     - copied, changed from r290531, head/tools/regression/lib/libc/locale/test-mblen.c
  head/lib/libc/tests/locale/mbrlen_test.c
     - copied, changed from r290531, head/tools/regression/lib/libc/locale/test-mbrlen.c
  head/lib/libc/tests/locale/mbrtoc16_test.c
     - copied, changed from r290531, head/tools/regression/lib/libc/locale/test-mbrtoc16.c
  head/lib/libc/tests/locale/mbrtowc_test.c
     - copied, changed from r290531, head/tools/regression/lib/libc/locale/test-mbrtowc.c
  head/lib/libc/tests/locale/mbsnrtowcs_test.c
     - copied, changed from r290531, head/tools/regression/lib/libc/locale/test-mbsnrtowcs.c
  head/lib/libc/tests/locale/mbsrtowcs_test.c
     - copied, changed from r290531, head/tools/regression/lib/libc/locale/test-mbsrtowcs.c
  head/lib/libc/tests/locale/mbstowcs_test.c
     - copied, changed from r290531, head/tools/regression/lib/libc/locale/test-mbstowcs.c
  head/lib/libc/tests/locale/mbtowc_test.c
     - copied, changed from r290531, head/tools/regression/lib/libc/locale/test-mbtowc.c
  head/lib/libc/tests/locale/towctrans_test.c
     - copied, changed from r290531, head/tools/regression/lib/libc/locale/test-towctrans.c
  head/lib/libc/tests/locale/wcrtomb_test.c
     - copied, changed from r290531, head/tools/regression/lib/libc/locale/test-wcrtomb.c
  head/lib/libc/tests/locale/wcsnrtombs_test.c
     - copied, changed from r290531, head/tools/regression/lib/libc/locale/test-wcsnrtombs.c
  head/lib/libc/tests/locale/wcsrtombs_test.c
     - copied, changed from r290531, head/tools/regression/lib/libc/locale/test-wcsrtombs.c
  head/lib/libc/tests/locale/wcstombs_test.c
     - copied, changed from r290531, head/tools/regression/lib/libc/locale/test-wcstombs.c
  head/lib/libc/tests/locale/wctomb_test.c
     - copied, changed from r290531, head/tools/regression/lib/libc/locale/test-wctomb.c
Deleted:
  head/tools/regression/lib/libc/locale/
Modified:
  head/lib/libc/tests/locale/Makefile

Modified: head/lib/libc/tests/locale/Makefile
==============================================================================
--- head/lib/libc/tests/locale/Makefile	Sun Nov  8 01:41:44 2015	(r290531)
+++ head/lib/libc/tests/locale/Makefile	Sun Nov  8 02:06:17 2015	(r290532)
@@ -2,6 +2,24 @@
 
 .include <bsd.own.mk>
 
+ATF_TESTS_C+=		btowc_test
+ATF_TESTS_C+=		c16rtomb_test
+ATF_TESTS_C+=		iswctype_test
+ATF_TESTS_C+=		mblen_test
+ATF_TESTS_C+=		mbrlen_test
+ATF_TESTS_C+=		mbrtoc16_test
+ATF_TESTS_C+=		mbrtowc_2_test
+ATF_TESTS_C+=		mbsnrtowcs_2_test
+ATF_TESTS_C+=		mbsrtowcs_test
+ATF_TESTS_C+=		mbstowcs_2_test
+ATF_TESTS_C+=		mbtowc_2_test
+ATF_TESTS_C+=		towctrans_test
+ATF_TESTS_C+=		wcrtomb_test
+ATF_TESTS_C+=		wcsnrtombs_test
+ATF_TESTS_C+=		wcsrtombs_test
+ATF_TESTS_C+=		wcstombs_test
+ATF_TESTS_C+=		wctomb_2_test
+
 NETBSD_ATF_TESTS_C=	io_test
 NETBSD_ATF_TESTS_C+=	mbrtowc_test
 NETBSD_ATF_TESTS_C+=	mbstowcs_test
@@ -13,7 +31,13 @@ NETBSD_ATF_TESTS_C+=	wcsspn_test
 NETBSD_ATF_TESTS_C+=	wcstod_test
 NETBSD_ATF_TESTS_C+=	wctomb_test
 
-CFLAGS.t_wctomb.c+= -Wno-stack-protector
+SRCS.mbrtowc_2_test=	mbrtowc_test.c
+SRCS.mbsnrtowcs_2_test=	mbsnrtowcs_test.c
+SRCS.mbstowcs_2_test=	mbstowcs_test.c
+SRCS.mbtowc_2_test=	mbtowc_test.c
+SRCS.wctomb_2_test=	wctomb_test.c
+
+CFLAGS.t_wctomb.c+=	-Wno-stack-protector
 
 .include "../Makefile.netbsd-tests"
 

Copied and modified: head/lib/libc/tests/locale/btowc_test.c (from r290531, head/tools/regression/lib/libc/locale/test-btowc.c)
==============================================================================
--- head/tools/regression/lib/libc/locale/test-btowc.c	Sun Nov  8 01:41:44 2015	(r290531, copy source)
+++ head/lib/libc/tests/locale/btowc_test.c	Sun Nov  8 02:06:17 2015	(r290532)
@@ -34,7 +34,6 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#include <assert.h>
 #include <limits.h>
 #include <locale.h>
 #include <stdio.h>
@@ -42,32 +41,31 @@ __FBSDID("$FreeBSD$");
 #include <string.h>
 #include <wchar.h>
 
-int
-main(int argc, char *argv[])
+#include <atf-c.h>
+
+ATF_TC_WITHOUT_HEAD(btowc_test);
+ATF_TC_BODY(btowc_test, tc)
 {
 	int i;
 
-	printf("1..2\n");
-
-	/*
-	 * C/POSIX locale.
-	 */
-	assert(btowc(EOF) == WEOF);
-	assert(wctob(WEOF) == EOF);
+	/* C/POSIX locale. */
+	ATF_REQUIRE(btowc(EOF) == WEOF);
+	ATF_REQUIRE(wctob(WEOF) == EOF);
 	for (i = 0; i < UCHAR_MAX; i++)
-		assert(btowc(i) == (wchar_t)i && i == (int)wctob(i));
+		ATF_REQUIRE(btowc(i) == (wchar_t)i && i == (int)wctob(i));
 
-	/*
-	 * Japanese (EUC) locale.
-	 */
+	/* Japanese (EUC) locale. */
+	ATF_REQUIRE(strcmp(setlocale(LC_CTYPE, "ja_JP.eucJP"), "ja_JP.eucJP") == 0);
+	ATF_REQUIRE(MB_CUR_MAX > 1);
+	ATF_REQUIRE(btowc('A') == L'A' && wctob(L'A') == 'A');
+	ATF_REQUIRE(btowc(0xa3) == WEOF && wctob(0xa3c1) == EOF);
 
-	assert(strcmp(setlocale(LC_CTYPE, "ja_JP.eucJP"), "ja_JP.eucJP") == 0);
-	assert(MB_CUR_MAX > 1);
-	assert(btowc('A') == L'A' && wctob(L'A') == 'A');
-	assert(btowc(0xa3) == WEOF && wctob(0xa3c1) == EOF);
+}
+
+ATF_TP_ADD_TCS(tp)
+{
 
-	printf("ok 1 - btowc()\n");
-	printf("ok 2 - wctob()\n");
+	ATF_TP_ADD_TC(tp, btowc_test);
 
-	return (0);
+	return (atf_no_error());
 }

Copied and modified: head/lib/libc/tests/locale/c16rtomb_test.c (from r290531, head/tools/regression/lib/libc/locale/test-c16rtomb.c)
==============================================================================
--- head/tools/regression/lib/libc/locale/test-c16rtomb.c	Sun Nov  8 01:41:44 2015	(r290531, copy source)
+++ head/lib/libc/tests/locale/c16rtomb_test.c	Sun Nov  8 02:06:17 2015	(r290532)
@@ -33,7 +33,6 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#include <assert.h>
 #include <errno.h>
 #include <limits.h>
 #include <locale.h>
@@ -41,105 +40,103 @@ __FBSDID("$FreeBSD$");
 #include <string.h>
 #include <uchar.h>
 
-int
-main(int argc, char *argv[])
+#include <atf-c.h>
+
+ATF_TC_WITHOUT_HEAD(c16rtomb_test);
+ATF_TC_BODY(c16rtomb_test, tc)
 {
 	mbstate_t s;
 	char buf[MB_LEN_MAX + 1];
 
-	/*
-	 * C/POSIX locale.
-	 */
-
-	printf("1..1\n");
+	/* C/POSIX locale. */
 
 	/*
 	 * If the buffer argument is NULL, c16 is implicitly 0,
 	 * c16rtomb() resets its internal state.
 	 */
-	assert(c16rtomb(NULL, L'\0', NULL) == 1);
-	assert(c16rtomb(NULL, 0xdc00, NULL) == 1);
+	ATF_REQUIRE(c16rtomb(NULL, L'\0', NULL) == 1);
+	ATF_REQUIRE(c16rtomb(NULL, 0xdc00, NULL) == 1);
 
 	/* Null wide character. */
 	memset(&s, 0, sizeof(s));
 	memset(buf, 0xcc, sizeof(buf));
-	assert(c16rtomb(buf, 0, &s) == 1);
-	assert((unsigned char)buf[0] == 0 && (unsigned char)buf[1] == 0xcc);
+	ATF_REQUIRE(c16rtomb(buf, 0, &s) == 1);
+	ATF_REQUIRE((unsigned char)buf[0] == 0 && (unsigned char)buf[1] == 0xcc);
 
 	/* Latin letter A, internal state. */
-	assert(c16rtomb(NULL, L'\0', NULL) == 1);
-	assert(c16rtomb(NULL, L'A', NULL) == 1);
+	ATF_REQUIRE(c16rtomb(NULL, L'\0', NULL) == 1);
+	ATF_REQUIRE(c16rtomb(NULL, L'A', NULL) == 1);
 
 	/* Latin letter A. */
 	memset(&s, 0, sizeof(s));
 	memset(buf, 0xcc, sizeof(buf));
-	assert(c16rtomb(buf, L'A', &s) == 1);
-	assert((unsigned char)buf[0] == 'A' && (unsigned char)buf[1] == 0xcc);
+	ATF_REQUIRE(c16rtomb(buf, L'A', &s) == 1);
+	ATF_REQUIRE((unsigned char)buf[0] == 'A' && (unsigned char)buf[1] == 0xcc);
 
 	/* Unicode character 'Pile of poo'. */
 	memset(&s, 0, sizeof(s));
 	memset(buf, 0xcc, sizeof(buf));
-	assert(c16rtomb(buf, 0xd83d, &s) == 0);
-	assert(c16rtomb(buf, 0xdca9, &s) == (size_t)-1);
-	assert(errno == EILSEQ);
-	assert((unsigned char)buf[0] == 0xcc);
+	ATF_REQUIRE(c16rtomb(buf, 0xd83d, &s) == 0);
+	ATF_REQUIRE(c16rtomb(buf, 0xdca9, &s) == (size_t)-1);
+	ATF_REQUIRE(errno == EILSEQ);
+	ATF_REQUIRE((unsigned char)buf[0] == 0xcc);
 
-	/*
-	 * ISO8859-1.
-	 */
+	/* ISO8859-1. */
 
-	assert(strcmp(setlocale(LC_CTYPE, "en_US.ISO8859-1"),
+	ATF_REQUIRE(strcmp(setlocale(LC_CTYPE, "en_US.ISO8859-1"),
 	    "en_US.ISO8859-1") == 0);
 
 	/* Unicode character 'Euro sign'. */
 	memset(&s, 0, sizeof(s));
 	memset(buf, 0xcc, sizeof(buf));
-	assert(c16rtomb(buf, 0x20ac, &s) == (size_t)-1);
-	assert(errno == EILSEQ);
-	assert((unsigned char)buf[0] == 0xcc);
+	ATF_REQUIRE(c16rtomb(buf, 0x20ac, &s) == (size_t)-1);
+	ATF_REQUIRE(errno == EILSEQ);
+	ATF_REQUIRE((unsigned char)buf[0] == 0xcc);
 
-	/*
-	 * ISO8859-15.
-	 */
+	/* ISO8859-15. */
 
-	assert(strcmp(setlocale(LC_CTYPE, "en_US.ISO8859-15"),
+	ATF_REQUIRE(strcmp(setlocale(LC_CTYPE, "en_US.ISO8859-15"),
 	    "en_US.ISO8859-15") == 0);
 
 	/* Unicode character 'Euro sign'. */
 	memset(&s, 0, sizeof(s));
 	memset(buf, 0xcc, sizeof(buf));
-	assert(c16rtomb(buf, 0x20ac, &s) == 1);
-	assert((unsigned char)buf[0] == 0xa4 && (unsigned char)buf[1] == 0xcc);
+	ATF_REQUIRE(c16rtomb(buf, 0x20ac, &s) == 1);
+	ATF_REQUIRE((unsigned char)buf[0] == 0xa4 && (unsigned char)buf[1] == 0xcc);
 
-	/*
-	 * UTF-8.
-	 */
+	/* UTF-8. */
 
-	assert(strcmp(setlocale(LC_CTYPE, "en_US.UTF-8"), "en_US.UTF-8") == 0);
+	ATF_REQUIRE(strcmp(setlocale(LC_CTYPE, "en_US.UTF-8"), "en_US.UTF-8") == 0);
 
 	/* Unicode character 'Pile of poo'. */
 	memset(&s, 0, sizeof(s));
 	memset(buf, 0xcc, sizeof(buf));
-	assert(c16rtomb(buf, 0xd83d, &s) == 0);
-	assert(c16rtomb(buf, 0xdca9, &s) == 4);
-	assert((unsigned char)buf[0] == 0xf0 && (unsigned char)buf[1] == 0x9f &&
+	ATF_REQUIRE(c16rtomb(buf, 0xd83d, &s) == 0);
+	ATF_REQUIRE(c16rtomb(buf, 0xdca9, &s) == 4);
+	ATF_REQUIRE((unsigned char)buf[0] == 0xf0 && (unsigned char)buf[1] == 0x9f &&
 	    (unsigned char)buf[2] == 0x92 && (unsigned char)buf[3] == 0xa9 &&
 	    (unsigned char)buf[4] == 0xcc);
 
 	/* Invalid code; 'Pile of poo' without the trail surrogate. */
 	memset(&s, 0, sizeof(s));
 	memset(buf, 0xcc, sizeof(buf));
-	assert(c16rtomb(buf, 0xd83d, &s) == 0);
-	assert(c16rtomb(buf, L'A', &s) == (size_t)-1);
-	assert(errno == EILSEQ);
-	assert((unsigned char)buf[0] == 0xcc);
+	ATF_REQUIRE(c16rtomb(buf, 0xd83d, &s) == 0);
+	ATF_REQUIRE(c16rtomb(buf, L'A', &s) == (size_t)-1);
+	ATF_REQUIRE(errno == EILSEQ);
+	ATF_REQUIRE((unsigned char)buf[0] == 0xcc);
 
 	/* Invalid code; 'Pile of poo' without the lead surrogate. */
 	memset(&s, 0, sizeof(s));
 	memset(buf, 0xcc, sizeof(buf));
-	assert(c16rtomb(buf, 0xdca9, &s) == (size_t)-1);
-	assert(errno == EILSEQ);
-	assert((unsigned char)buf[0] == 0xcc);
+	ATF_REQUIRE(c16rtomb(buf, 0xdca9, &s) == (size_t)-1);
+	ATF_REQUIRE(errno == EILSEQ);
+	ATF_REQUIRE((unsigned char)buf[0] == 0xcc);
+}
+
+ATF_TP_ADD_TCS(tp)
+{
+
+	ATF_TP_ADD_TC(tp, c16rtomb_test);
 
-	printf("ok 1 - c16rtomb()\n");
+	return (atf_no_error());
 }

Copied and modified: head/lib/libc/tests/locale/iswctype_test.c (from r290531, head/tools/regression/lib/libc/locale/test-iswctype.c)
==============================================================================
--- head/tools/regression/lib/libc/locale/test-iswctype.c	Sun Nov  8 01:41:44 2015	(r290531, copy source)
+++ head/lib/libc/tests/locale/iswctype_test.c	Sun Nov  8 02:06:17 2015	(r290532)
@@ -34,15 +34,16 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#include <assert.h>
 #include <locale.h>
 #include <stdio.h>
 #include <string.h>
 #include <wchar.h>
 #include <wctype.h>
 
-int
-main(int argc, char *argv[])
+#include <atf-c.h>
+
+ATF_TC_WITHOUT_HEAD(iswctype_test);
+ATF_TC_BODY(iswctype_test, tc)
 {
 	wctype_t t;
 	int i, j;
@@ -64,39 +65,36 @@ main(int argc, char *argv[])
 		{ "xdigit", iswxdigit }
 	};
 
-	printf("1..2\n");
-
-	/*
-	 * C/POSIX locale.
-	 */
+	/* C/POSIX locale. */
 	for (i = 0; i < sizeof(cls) / sizeof(*cls); i++) {
 		t = wctype(cls[i].name);
-		assert(t != 0);
+		ATF_REQUIRE(t != 0);
 		for (j = 0; j < 256; j++)
-			assert(cls[i].func(j) == iswctype(j, t));
+			ATF_REQUIRE(cls[i].func(j) == iswctype(j, t));
 	}
 	t = wctype("elephant");
-	assert(t == 0);
+	ATF_REQUIRE(t == 0);
 	for (i = 0; i < 256; i++)
-		assert(iswctype(i, t) == 0);
+		ATF_REQUIRE(iswctype(i, t) == 0);
 
-	/*
-	 * Japanese (EUC) locale.
-	 */
-	assert(strcmp(setlocale(LC_CTYPE, "ja_JP.eucJP"), "ja_JP.eucJP") == 0);
+	/* 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++) {
 		t = wctype(cls[i].name);
-		assert(t != 0);
+		ATF_REQUIRE(t != 0);
 		for (j = 0; j < 65536; j++)
-			assert(cls[i].func(j) == iswctype(j, t));
+			ATF_REQUIRE(cls[i].func(j) == iswctype(j, t));
 	}
 	t = wctype("elephant");
-	assert(t == 0);
+	ATF_REQUIRE(t == 0);
 	for (i = 0; i < 65536; i++)
-		assert(iswctype(i, t) == 0);
+		ATF_REQUIRE(iswctype(i, t) == 0);
+}
+
+ATF_TP_ADD_TCS(tp)
+{
 
-	printf("ok 1 - iswctype()\n");
-	printf("ok 2 - wctype()\n");
+	ATF_TP_ADD_TC(tp, iswctype_test);
 
-	return (0);
+	return (atf_no_error());
 }

Copied and modified: head/lib/libc/tests/locale/mblen_test.c (from r290531, head/tools/regression/lib/libc/locale/test-mblen.c)
==============================================================================
--- head/tools/regression/lib/libc/locale/test-mblen.c	Sun Nov  8 01:41:44 2015	(r290531, copy source)
+++ head/lib/libc/tests/locale/mblen_test.c	Sun Nov  8 02:06:17 2015	(r290532)
@@ -35,15 +35,16 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#include <assert.h>
 #include <limits.h>
 #include <locale.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 
-int
-main(int argc, char *argv[])
+#include <atf-c.h>
+
+ATF_TC_WITHOUT_HEAD(mblen_test);
+ATF_TC_BODY(mblen_test, tc)
 {
 	size_t len;
 	char buf[MB_LEN_MAX + 1];
@@ -54,61 +55,65 @@ main(int argc, char *argv[])
 
 	printf("1..1\n");
 
-	assert(MB_CUR_MAX == 1);
+	ATF_REQUIRE(MB_CUR_MAX == 1);
 
 	/* No shift states in C locale. */
-	assert(mblen(NULL, 0) == 0);
+	ATF_REQUIRE(mblen(NULL, 0) == 0);
 
 	/* Null wide character. */
 	memset(buf, 0xcc, sizeof(buf));
 	buf[0] = '\0';
-	assert(mblen(buf, 1) == 0);
+	ATF_REQUIRE(mblen(buf, 1) == 0);
 
 	/* Latin letter A. */
 	buf[0] = 'A';
-	assert(mblen(buf, 1) == 1);
+	ATF_REQUIRE(mblen(buf, 1) == 1);
 
 	/* Incomplete character sequence. */
 	buf[0] = '\0';
-	assert(mblen(buf, 0) == -1);
-	assert(mblen(NULL, 0) == 0);
+	ATF_REQUIRE(mblen(buf, 0) == -1);
+	ATF_REQUIRE(mblen(NULL, 0) == 0);
 
 	/*
 	 * Japanese (EUC) locale.
 	 */
 
-	assert(strcmp(setlocale(LC_CTYPE, "ja_JP.eucJP"), "ja_JP.eucJP") == 0);
-	assert(MB_CUR_MAX > 1);
+	ATF_REQUIRE(strcmp(setlocale(LC_CTYPE, "ja_JP.eucJP"), "ja_JP.eucJP") == 0);
+	ATF_REQUIRE(MB_CUR_MAX > 1);
 
 	/* No shift states in EUC. */
-	assert(mblen(NULL, 0) == 0);
+	ATF_REQUIRE(mblen(NULL, 0) == 0);
 
 	/* Null wide character. */
 	memset(buf, 0xcc, sizeof(buf));
 	buf[0] = '\0';
-	assert(mblen(buf, 1) == 0);
+	ATF_REQUIRE(mblen(buf, 1) == 0);
 
 	/* Latin letter A. */
 	buf[0] = 'A';
-	assert(mblen(buf, 1) == 1);
+	ATF_REQUIRE(mblen(buf, 1) == 1);
 
 	/* Incomplete character sequence. */
 	buf[0] = '\0';
-	assert(mblen(buf, 0) == -1);
-	assert(mblen(NULL, 0) == 0);
+	ATF_REQUIRE(mblen(buf, 0) == -1);
+	ATF_REQUIRE(mblen(NULL, 0) == 0);
 
 	/* Incomplete character sequence (truncated double-byte). */
 	memset(buf, 0xcc, sizeof(buf));
 	buf[0] = 0xa3;
 	buf[1] = 0x00;
-	assert(mblen(buf, 1) == -1);
-	assert(mblen(NULL, 0) == 0);
+	ATF_REQUIRE(mblen(buf, 1) == -1);
+	ATF_REQUIRE(mblen(NULL, 0) == 0);
 
 	/* Same as above, but complete. */
 	buf[1] = 0xc1;
-	assert(mblen(buf, 2) == 2);
+	ATF_REQUIRE(mblen(buf, 2) == 2);
+}
+
+ATF_TP_ADD_TCS(tp)
+{
 
-	printf("ok 1 - mblen()\n");
+	ATF_TP_ADD_TC(tp, mblen_test);
 
-	return (0);
+	return (atf_no_error());
 }

Copied and modified: head/lib/libc/tests/locale/mbrlen_test.c (from r290531, head/tools/regression/lib/libc/locale/test-mbrlen.c)
==============================================================================
--- head/tools/regression/lib/libc/locale/test-mbrlen.c	Sun Nov  8 01:41:44 2015	(r290531, copy source)
+++ head/lib/libc/tests/locale/mbrlen_test.c	Sun Nov  8 02:06:17 2015	(r290532)
@@ -35,7 +35,6 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#include <assert.h>
 #include <errno.h>
 #include <limits.h>
 #include <locale.h>
@@ -44,86 +43,85 @@ __FBSDID("$FreeBSD$");
 #include <string.h>
 #include <wchar.h>
 
-int
-main(int argc, char *argv[])
+#include <atf-c.h>
+
+ATF_TC_WITHOUT_HEAD(mbrlen_test);
+ATF_TC_BODY(mbrlen_test, tc)
 {
 	mbstate_t s;
 	size_t len;
 	char buf[MB_LEN_MAX + 1];
 
-	/*
-	 * C/POSIX locale.
-	 */
-	
-	printf("1..1\n");
-
-	assert(MB_CUR_MAX == 1);
+	/* C/POSIX locale. */
+	ATF_REQUIRE(MB_CUR_MAX == 1);
 
 	/* Null wide character, internal state. */
 	memset(buf, 0xcc, sizeof(buf));
 	buf[0] = 0;
-	assert(mbrlen(buf, 1, NULL) == 0);
+	ATF_REQUIRE(mbrlen(buf, 1, NULL) == 0);
 
 	/* Null wide character. */
 	memset(&s, 0, sizeof(s));
-	assert(mbrlen(buf, 1, &s) == 0);
+	ATF_REQUIRE(mbrlen(buf, 1, &s) == 0);
 
 	/* Latin letter A, internal state. */
-	assert(mbrlen(NULL, 0, NULL) == 0);
+	ATF_REQUIRE(mbrlen(NULL, 0, NULL) == 0);
 	buf[0] = 'A';
-	assert(mbrlen(buf, 1, NULL) == 1);
+	ATF_REQUIRE(mbrlen(buf, 1, NULL) == 1);
 
 	/* Latin letter A. */
 	memset(&s, 0, sizeof(s));
-	assert(mbrlen(buf, 1, &s) == 1);
+	ATF_REQUIRE(mbrlen(buf, 1, &s) == 1);
 
 	/* Incomplete character sequence. */
 	memset(&s, 0, sizeof(s));
-	assert(mbrlen(buf, 0, &s) == (size_t)-2);
+	ATF_REQUIRE(mbrlen(buf, 0, &s) == (size_t)-2);
 
-	/*
-	 * Japanese (EUC) locale.
-	 */
+	/* Japanese (EUC) locale. */
 
-	assert(strcmp(setlocale(LC_CTYPE, "ja_JP.eucJP"), "ja_JP.eucJP") == 0);
-	assert(MB_CUR_MAX > 1);
+	ATF_REQUIRE(strcmp(setlocale(LC_CTYPE, "ja_JP.eucJP"), "ja_JP.eucJP") == 0);
+	ATF_REQUIRE(MB_CUR_MAX > 1);
 
 	/* Null wide character, internal state. */
-	assert(mbrlen(NULL, 0, NULL) == 0);
+	ATF_REQUIRE(mbrlen(NULL, 0, NULL) == 0);
 	memset(buf, 0xcc, sizeof(buf));
 	buf[0] = 0;
-	assert(mbrlen(buf, 1, NULL) == 0);
+	ATF_REQUIRE(mbrlen(buf, 1, NULL) == 0);
 
 	/* Null wide character. */
 	memset(&s, 0, sizeof(s));
-	assert(mbrlen(buf, 1, &s) == 0);
+	ATF_REQUIRE(mbrlen(buf, 1, &s) == 0);
 
 	/* Latin letter A, internal state. */
-	assert(mbrlen(NULL, 0, NULL) == 0);
+	ATF_REQUIRE(mbrlen(NULL, 0, NULL) == 0);
 	buf[0] = 'A';
-	assert(mbrlen(buf, 1, NULL) == 1);
+	ATF_REQUIRE(mbrlen(buf, 1, NULL) == 1);
 
 	/* Latin letter A. */
 	memset(&s, 0, sizeof(s));
-	assert(mbrlen(buf, 1, &s) == 1);
+	ATF_REQUIRE(mbrlen(buf, 1, &s) == 1);
 
 	/* Incomplete character sequence (zero length). */
 	memset(&s, 0, sizeof(s));
-	assert(mbrlen(buf, 0, &s) == (size_t)-2);
+	ATF_REQUIRE(mbrlen(buf, 0, &s) == (size_t)-2);
 
 	/* Incomplete character sequence (truncated double-byte). */
 	memset(buf, 0xcc, sizeof(buf));
 	buf[0] = 0xa3;
 	buf[1] = 0x00;
 	memset(&s, 0, sizeof(s));
-	assert(mbrlen(buf, 1, &s) == (size_t)-2);
+	ATF_REQUIRE(mbrlen(buf, 1, &s) == (size_t)-2);
 
 	/* Same as above, but complete. */
 	buf[1] = 0xc1;
 	memset(&s, 0, sizeof(s));
-	assert(mbrlen(buf, 2, &s) == 2);
+	ATF_REQUIRE(mbrlen(buf, 2, &s) == 2);
+}
+
+ATF_TP_ADD_TCS(tp)
+{
 
-	printf("ok 1 - mbrlen()\n");
+	ATF_TP_ADD_TC(tp, mbrlen_test);
 
-	return (0);
+	return (atf_no_error());
 }

Copied and modified: head/lib/libc/tests/locale/mbrtoc16_test.c (from r290531, head/tools/regression/lib/libc/locale/test-mbrtoc16.c)
==============================================================================
--- head/tools/regression/lib/libc/locale/test-mbrtoc16.c	Sun Nov  8 01:41:44 2015	(r290531, copy source)
+++ head/lib/libc/tests/locale/mbrtoc16_test.c	Sun Nov  8 02:06:17 2015	(r290532)
@@ -33,7 +33,6 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#include <assert.h>
 #include <errno.h>
 #include <limits.h>
 #include <locale.h>
@@ -41,8 +40,10 @@ __FBSDID("$FreeBSD$");
 #include <string.h>
 #include <uchar.h>
 
-int
-main(int argc, char *argv[])
+#include <atf-c.h>
+
+ATF_TC_WITHOUT_HEAD(mbrtoc16_test);
+ATF_TC_BODY(mbrtoc16_test, tc)
 {
 	mbstate_t s;
 	size_t len;
@@ -55,141 +56,145 @@ main(int argc, char *argv[])
 	printf("1..1\n");
 
 	/* Null wide character, internal state. */
-	assert(mbrtoc16(&c16, "", 1, NULL) == 0);
-	assert(c16 == 0);
+	ATF_REQUIRE(mbrtoc16(&c16, "", 1, NULL) == 0);
+	ATF_REQUIRE(c16 == 0);
 
 	/* Null wide character. */
 	memset(&s, 0, sizeof(s));
-	assert(mbrtoc16(&c16, "", 1, &s) == 0);
-	assert(c16 == 0);
+	ATF_REQUIRE(mbrtoc16(&c16, "", 1, &s) == 0);
+	ATF_REQUIRE(c16 == 0);
 
 	/* Latin letter A, internal state. */
-	assert(mbrtoc16(NULL, 0, 0, NULL) == 0);
-	assert(mbrtoc16(&c16, "A", 1, NULL) == 1);
-	assert(c16 == L'A');
+	ATF_REQUIRE(mbrtoc16(NULL, 0, 0, NULL) == 0);
+	ATF_REQUIRE(mbrtoc16(&c16, "A", 1, NULL) == 1);
+	ATF_REQUIRE(c16 == L'A');
 
 	/* Latin letter A. */
 	memset(&s, 0, sizeof(s));
-	assert(mbrtoc16(&c16, "A", 1, &s) == 1);
-	assert(c16 == L'A');
+	ATF_REQUIRE(mbrtoc16(&c16, "A", 1, &s) == 1);
+	ATF_REQUIRE(c16 == L'A');
 
 	/* Incomplete character sequence. */
 	c16 = L'z';
 	memset(&s, 0, sizeof(s));
-	assert(mbrtoc16(&c16, "", 0, &s) == (size_t)-2);
-	assert(c16 == L'z');
+	ATF_REQUIRE(mbrtoc16(&c16, "", 0, &s) == (size_t)-2);
+	ATF_REQUIRE(c16 == L'z');
 
 	/* Check that mbrtoc16() doesn't access the buffer when n == 0. */
 	c16 = L'z';
 	memset(&s, 0, sizeof(s));
-	assert(mbrtoc16(&c16, "", 0, &s) == (size_t)-2);
-	assert(c16 == L'z');
+	ATF_REQUIRE(mbrtoc16(&c16, "", 0, &s) == (size_t)-2);
+	ATF_REQUIRE(c16 == L'z');
 
 	/* Check that mbrtoc16() doesn't read ahead too aggressively. */
 	memset(&s, 0, sizeof(s));
-	assert(mbrtoc16(&c16, "AB", 2, &s) == 1);
-	assert(c16 == L'A');
-	assert(mbrtoc16(&c16, "C", 1, &s) == 1);
-	assert(c16 == L'C');
+	ATF_REQUIRE(mbrtoc16(&c16, "AB", 2, &s) == 1);
+	ATF_REQUIRE(c16 == L'A');
+	ATF_REQUIRE(mbrtoc16(&c16, "C", 1, &s) == 1);
+	ATF_REQUIRE(c16 == L'C');
 
 	/*
 	 * ISO-8859-1.
 	 */
 
-	assert(strcmp(setlocale(LC_CTYPE, "en_US.ISO8859-1"),
+	ATF_REQUIRE(strcmp(setlocale(LC_CTYPE, "en_US.ISO8859-1"),
 	    "en_US.ISO8859-1") == 0);
 
 	/* Currency sign. */
 	memset(&s, 0, sizeof(s));
-	assert(mbrtoc16(&c16, "\xa4", 1, &s) == 1);
-	assert(c16 == 0xa4);
+	ATF_REQUIRE(mbrtoc16(&c16, "\xa4", 1, &s) == 1);
+	ATF_REQUIRE(c16 == 0xa4);
 
 	/*
 	 * ISO-8859-15.
 	 */
 
-	assert(strcmp(setlocale(LC_CTYPE, "en_US.ISO8859-15"),
+	ATF_REQUIRE(strcmp(setlocale(LC_CTYPE, "en_US.ISO8859-15"),
 	    "en_US.ISO8859-15") == 0);
 
 	/* Euro sign. */
 	memset(&s, 0, sizeof(s));
-	assert(mbrtoc16(&c16, "\xa4", 1, &s) == 1);
-	assert(c16 == 0x20ac);
+	ATF_REQUIRE(mbrtoc16(&c16, "\xa4", 1, &s) == 1);
+	ATF_REQUIRE(c16 == 0x20ac);
 
 	/*
 	 * UTF-8.
 	 */
 
-	assert(strcmp(setlocale(LC_CTYPE, "en_US.UTF-8"), "en_US.UTF-8") == 0);
+	ATF_REQUIRE(strcmp(setlocale(LC_CTYPE, "en_US.UTF-8"), "en_US.UTF-8") == 0);
 
 	/* Null wide character, internal state. */
-	assert(mbrtoc16(NULL, 0, 0, NULL) == 0);
-	assert(mbrtoc16(&c16, "", 1, NULL) == 0);
-	assert(c16 == 0);
+	ATF_REQUIRE(mbrtoc16(NULL, 0, 0, NULL) == 0);
+	ATF_REQUIRE(mbrtoc16(&c16, "", 1, NULL) == 0);
+	ATF_REQUIRE(c16 == 0);
 
 	/* Null wide character. */
 	memset(&s, 0, sizeof(s));
-	assert(mbrtoc16(&c16, "", 1, &s) == 0);
-	assert(c16 == 0);
+	ATF_REQUIRE(mbrtoc16(&c16, "", 1, &s) == 0);
+	ATF_REQUIRE(c16 == 0);
 
 	/* Latin letter A, internal state. */
-	assert(mbrtoc16(NULL, 0, 0, NULL) == 0);
-	assert(mbrtoc16(&c16, "A", 1, NULL) == 1);
-	assert(c16 == L'A');
+	ATF_REQUIRE(mbrtoc16(NULL, 0, 0, NULL) == 0);
+	ATF_REQUIRE(mbrtoc16(&c16, "A", 1, NULL) == 1);
+	ATF_REQUIRE(c16 == L'A');
 
 	/* Latin letter A. */
 	memset(&s, 0, sizeof(s));
-	assert(mbrtoc16(&c16, "A", 1, &s) == 1);
-	assert(c16 == L'A');
+	ATF_REQUIRE(mbrtoc16(&c16, "A", 1, &s) == 1);
+	ATF_REQUIRE(c16 == L'A');
 
 	/* Incomplete character sequence (zero length). */
 	c16 = L'z';
 	memset(&s, 0, sizeof(s));
-	assert(mbrtoc16(&c16, "", 0, &s) == (size_t)-2);
-	assert(c16 == L'z');
+	ATF_REQUIRE(mbrtoc16(&c16, "", 0, &s) == (size_t)-2);
+	ATF_REQUIRE(c16 == L'z');
 
 	/* Incomplete character sequence (truncated double-byte). */
 	memset(&s, 0, sizeof(s));
 	c16 = 0;
-	assert(mbrtoc16(&c16, "\xc3", 1, &s) == (size_t)-2);
+	ATF_REQUIRE(mbrtoc16(&c16, "\xc3", 1, &s) == (size_t)-2);
 
 	/* Same as above, but complete. */
 	memset(&s, 0, sizeof(s));
 	c16 = 0;
-	assert(mbrtoc16(&c16, "\xc3\x84", 2, &s) == 2);
-	assert(c16 == 0xc4);
+	ATF_REQUIRE(mbrtoc16(&c16, "\xc3\x84", 2, &s) == 2);
+	ATF_REQUIRE(c16 == 0xc4);
 
 	/* Test restarting behaviour. */
 	memset(&s, 0, sizeof(s));
 	c16 = 0;
-	assert(mbrtoc16(&c16, "\xc3", 1, &s) == (size_t)-2);
-	assert(c16 == 0);
-	assert(mbrtoc16(&c16, "\xb7", 1, &s) == 1);
-	assert(c16 == 0xf7);
+	ATF_REQUIRE(mbrtoc16(&c16, "\xc3", 1, &s) == (size_t)-2);
+	ATF_REQUIRE(c16 == 0);
+	ATF_REQUIRE(mbrtoc16(&c16, "\xb7", 1, &s) == 1);
+	ATF_REQUIRE(c16 == 0xf7);
 
 	/* Surrogate pair. */
 	memset(&s, 0, sizeof(s));
 	c16 = 0;
-	assert(mbrtoc16(&c16, "\xf0\x9f\x92\xa9", 4, &s) == 4);
-	assert(c16 == 0xd83d);
-	assert(mbrtoc16(&c16, "", 0, &s) == (size_t)-3);
-	assert(c16 == 0xdca9);
+	ATF_REQUIRE(mbrtoc16(&c16, "\xf0\x9f\x92\xa9", 4, &s) == 4);
+	ATF_REQUIRE(c16 == 0xd83d);
+	ATF_REQUIRE(mbrtoc16(&c16, "", 0, &s) == (size_t)-3);
+	ATF_REQUIRE(c16 == 0xdca9);
 
 	/* Letter e with acute, precomposed. */
 	memset(&s, 0, sizeof(s));
 	c16 = 0;
-	assert(mbrtoc16(&c16, "\xc3\xa9", 2, &s) == 2);
-	assert(c16 == 0xe9);
+	ATF_REQUIRE(mbrtoc16(&c16, "\xc3\xa9", 2, &s) == 2);
+	ATF_REQUIRE(c16 == 0xe9);
 
 	/* Letter e with acute, combined. */
 	memset(&s, 0, sizeof(s));
 	c16 = 0;
-	assert(mbrtoc16(&c16, "\x65\xcc\x81", 3, &s) == 1);
-	assert(c16 == 0x65);
-	assert(mbrtoc16(&c16, "\xcc\x81", 2, &s) == 2);
-	assert(c16 == 0x301);
+	ATF_REQUIRE(mbrtoc16(&c16, "\x65\xcc\x81", 3, &s) == 1);
+	ATF_REQUIRE(c16 == 0x65);
+	ATF_REQUIRE(mbrtoc16(&c16, "\xcc\x81", 2, &s) == 2);
+	ATF_REQUIRE(c16 == 0x301);
+}
+
+ATF_TP_ADD_TCS(tp)
+{
 
-	printf("ok 1 - mbrtoc16()\n");
+	ATF_TP_ADD_TC(tp, mbrtoc16_test);
 
-	return (0);
+	return (atf_no_error());
 }

Copied and modified: head/lib/libc/tests/locale/mbrtowc_test.c (from r290531, head/tools/regression/lib/libc/locale/test-mbrtowc.c)
==============================================================================
--- head/tools/regression/lib/libc/locale/test-mbrtowc.c	Sun Nov  8 01:41:44 2015	(r290531, copy source)
+++ head/lib/libc/tests/locale/mbrtowc_test.c	Sun Nov  8 02:06:17 2015	(r290532)
@@ -35,7 +35,6 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#include <assert.h>
 #include <errno.h>
 #include <limits.h>
 #include <locale.h>
@@ -44,8 +43,10 @@ __FBSDID("$FreeBSD$");
 #include <string.h>
 #include <wchar.h>
 
-int
-main(int argc, char *argv[])
+#include <atf-c.h>
+
+ATF_TC_WITHOUT_HEAD(mbrtowc_test);
+ATF_TC_BODY(mbrtowc_test, tc)
 {
 	mbstate_t s;
 	size_t len;
@@ -58,78 +59,78 @@ main(int argc, char *argv[])
 
 	printf("1..1\n");
 
-	assert(MB_CUR_MAX == 1);
+	ATF_REQUIRE(MB_CUR_MAX == 1);
 
 	/* Null wide character, internal state. */
 	memset(buf, 0xcc, sizeof(buf));
 	buf[0] = 0;
-	assert(mbrtowc(&wc, buf, 1, NULL) == 0);
-	assert(wc == 0);
+	ATF_REQUIRE(mbrtowc(&wc, buf, 1, NULL) == 0);
+	ATF_REQUIRE(wc == 0);
 
 	/* Null wide character. */
 	memset(&s, 0, sizeof(s));
-	assert(mbrtowc(&wc, buf, 1, &s) == 0);
-	assert(wc == 0);
+	ATF_REQUIRE(mbrtowc(&wc, buf, 1, &s) == 0);
+	ATF_REQUIRE(wc == 0);
 
 	/* Latin letter A, internal state. */
-	assert(mbrtowc(NULL, 0, 0, NULL) == 0);
+	ATF_REQUIRE(mbrtowc(NULL, 0, 0, NULL) == 0);
 	buf[0] = 'A';
-	assert(mbrtowc(&wc, buf, 1, NULL) == 1);
-	assert(wc == L'A');
+	ATF_REQUIRE(mbrtowc(&wc, buf, 1, NULL) == 1);
+	ATF_REQUIRE(wc == L'A');
 
 	/* Latin letter A. */
 	memset(&s, 0, sizeof(s));
-	assert(mbrtowc(&wc, buf, 1, &s) == 1);
-	assert(wc == L'A');
+	ATF_REQUIRE(mbrtowc(&wc, buf, 1, &s) == 1);
+	ATF_REQUIRE(wc == L'A');
 
 	/* Incomplete character sequence. */
 	wc = L'z';
 	memset(&s, 0, sizeof(s));
-	assert(mbrtowc(&wc, buf, 0, &s) == (size_t)-2);
-	assert(wc == L'z');
+	ATF_REQUIRE(mbrtowc(&wc, buf, 0, &s) == (size_t)-2);
+	ATF_REQUIRE(wc == L'z');
 
 	/* Check that mbrtowc() doesn't access the buffer when n == 0. */
 	wc = L'z';
 	memset(&s, 0, sizeof(s));
 	buf[0] = '\0';
-	assert(mbrtowc(&wc, buf, 0, &s) == (size_t)-2);
-	assert(wc == L'z');
+	ATF_REQUIRE(mbrtowc(&wc, buf, 0, &s) == (size_t)-2);
+	ATF_REQUIRE(wc == L'z');
 
 	/*
 	 * Japanese (EUC) locale.
 	 */
 
-	assert(strcmp(setlocale(LC_CTYPE, "ja_JP.eucJP"), "ja_JP.eucJP") == 0);
-	assert(MB_CUR_MAX > 1);
+	ATF_REQUIRE(strcmp(setlocale(LC_CTYPE, "ja_JP.eucJP"), "ja_JP.eucJP") == 0);
+	ATF_REQUIRE(MB_CUR_MAX > 1);
 
 	/* Null wide character, internal state. */
-	assert(mbrtowc(NULL, 0, 0, NULL) == 0);
+	ATF_REQUIRE(mbrtowc(NULL, 0, 0, NULL) == 0);
 	memset(buf, 0xcc, sizeof(buf));
 	buf[0] = 0;
-	assert(mbrtowc(&wc, buf, 1, NULL) == 0);
-	assert(wc == 0);
+	ATF_REQUIRE(mbrtowc(&wc, buf, 1, NULL) == 0);
+	ATF_REQUIRE(wc == 0);
 
 	/* Null wide character. */
 	memset(&s, 0, sizeof(s));
-	assert(mbrtowc(&wc, buf, 1, &s) == 0);
-	assert(wc == 0);
+	ATF_REQUIRE(mbrtowc(&wc, buf, 1, &s) == 0);
+	ATF_REQUIRE(wc == 0);
 
 	/* Latin letter A, internal state. */
-	assert(mbrtowc(NULL, 0, 0, NULL) == 0);
+	ATF_REQUIRE(mbrtowc(NULL, 0, 0, NULL) == 0);
 	buf[0] = 'A';
-	assert(mbrtowc(&wc, buf, 1, NULL) == 1);
-	assert(wc == L'A');
+	ATF_REQUIRE(mbrtowc(&wc, buf, 1, NULL) == 1);
+	ATF_REQUIRE(wc == L'A');
 
 	/* Latin letter A. */
 	memset(&s, 0, sizeof(s));
-	assert(mbrtowc(&wc, buf, 1, &s) == 1);
-	assert(wc == L'A');
+	ATF_REQUIRE(mbrtowc(&wc, buf, 1, &s) == 1);
+	ATF_REQUIRE(wc == L'A');
 
 	/* Incomplete character sequence (zero length). */
 	wc = L'z';
 	memset(&s, 0, sizeof(s));
-	assert(mbrtowc(&wc, buf, 0, &s) == (size_t)-2);
-	assert(wc == L'z');
+	ATF_REQUIRE(mbrtowc(&wc, buf, 0, &s) == (size_t)-2);
+	ATF_REQUIRE(wc == L'z');
 
 	/* Incomplete character sequence (truncated double-byte). */
 	memset(buf, 0xcc, sizeof(buf));
@@ -137,27 +138,31 @@ main(int argc, char *argv[])
 	buf[1] = 0x00;
 	memset(&s, 0, sizeof(s));
 	wc = 0;
-	assert(mbrtowc(&wc, buf, 1, &s) == (size_t)-2);
+	ATF_REQUIRE(mbrtowc(&wc, buf, 1, &s) == (size_t)-2);
 
 	/* Same as above, but complete. */
 	buf[1] = 0xc1;
 	memset(&s, 0, sizeof(s));
 	wc = 0;
-	assert(mbrtowc(&wc, buf, 2, &s) == 2);
-	assert(wc == 0xa3c1);
+	ATF_REQUIRE(mbrtowc(&wc, buf, 2, &s) == 2);
+	ATF_REQUIRE(wc == 0xa3c1);
 
 	/* Test restarting behaviour. */
 	memset(buf, 0xcc, sizeof(buf));
 	buf[0] = 0xa3;
 	memset(&s, 0, sizeof(s));
 	wc = 0;
-	assert(mbrtowc(&wc, buf, 1, &s) == (size_t)-2);
-	assert(wc == 0);
+	ATF_REQUIRE(mbrtowc(&wc, buf, 1, &s) == (size_t)-2);
+	ATF_REQUIRE(wc == 0);
 	buf[0] = 0xc1;
-	assert(mbrtowc(&wc, buf, 1, &s) == 1);
-	assert(wc == 0xa3c1);
+	ATF_REQUIRE(mbrtowc(&wc, buf, 1, &s) == 1);
+	ATF_REQUIRE(wc == 0xa3c1);
+}
+
+ATF_TP_ADD_TCS(tp)
+{
 
-	printf("ok 1 - mbrtowc()\n");
+	ATF_TP_ADD_TC(tp, mbrtowc_test);
 
-	return (0);
+	return (atf_no_error());
 }

Copied and modified: head/lib/libc/tests/locale/mbsnrtowcs_test.c (from r290531, head/tools/regression/lib/libc/locale/test-mbsnrtowcs.c)
==============================================================================
--- head/tools/regression/lib/libc/locale/test-mbsnrtowcs.c	Sun Nov  8 01:41:44 2015	(r290531, copy source)
+++ head/lib/libc/tests/locale/mbsnrtowcs_test.c	Sun Nov  8 02:06:17 2015	(r290532)
@@ -34,7 +34,6 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#include <assert.h>
 #include <errno.h>
 #include <limits.h>
 #include <locale.h>
@@ -43,19 +42,17 @@ __FBSDID("$FreeBSD$");
 #include <string.h>
 #include <wchar.h>
 
-int
-main(int argc, char *argv[])
+#include <atf-c.h>
+
+ATF_TC_WITHOUT_HEAD(mbsnrtowcs_test);
+ATF_TC_BODY(mbsnrtowcs_test, tc)
 {
 	char srcbuf[128];
 	wchar_t dstbuf[128];
 	char *src;
 	mbstate_t s;
 
-	/*
-	 * C/POSIX locale.

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201511080206.tA826HJR071239>