glibc/wcsmbs/tst-wcstof.c
Wainer dos Santos Moschetta b2b1ea8b77 Update wcsmbs tests to use the support test driver
Replaced test-skeleton.c with support/test-driver.c and
adjusted the tests accordinly.

Checked on x86_64-linux-gnu.

	* wcsmbs/tst-btowc.c: Import support/test-driver.c and remove
	the TEST_FUNCTION macro definition.
	* wcsmbs/tst-mbrtowc2.c: Likewise.
	* wcsmbs/tst-mbsrtowcs.c: Likewise.
	* wcsmbs/tst-wchar-h.c: Likewise.
	* wcsmbs/tst-wcpncpy.c: Likewise.
	* wcsmbs/tst-wcrtomb.c: Likewise.
	* wcsmbs/tst-wcsnlen.c: Likewise.
	* wcsmbs/tst-wcstof.c: Likewise.
2017-04-04 18:05:20 -03:00

34 lines
760 B
C

#define _GNU_SOURCE 1
#include <wchar.h>
#include <stdio.h>
#include <string.h>
#include <wctype.h>
#include <libc-diag.h>
static int
do_test (void)
{
int result = 0;
char buf[100];
wchar_t tmp[3];
tmp[0] = '8';
tmp[1] = '1';
tmp[2] = 0;
/* GCC does not know the result of wcstof so cannot see that the
snprintf output is not truncated. */
DIAG_PUSH_NEEDS_COMMENT;
#if __GNUC_PREREQ (7, 0)
DIAG_IGNORE_NEEDS_COMMENT (7.0, "-Wformat-truncation");
#endif
snprintf (buf, 100, "%S = %f", tmp, wcstof (tmp, NULL));
DIAG_POP_NEEDS_COMMENT;
printf ("\"%s\" -> %s\n", buf,
strcmp (buf, "81 = 81.000000") == 0 ? "okay" : "buggy");
result |= strcmp (buf, "81 = 81.000000") != 0;
return result;
}
#include <support/test-driver.c>