Author: ngie
Date: Tue Feb 14 04:46:19 2017
New Revision: 313720
URL: https://svnweb.freebsd.org/changeset/base/313720

Log:
  MFC r313376:
  
  Fix :hexadecimal_floating_point on i386
  
  Don't exclude i386 from LDBL_MANT_DIG == 64; it works properly in
  that case.
  
  While here, replace strcmp + atf_tc_fail with ATF_CHECK_MSG for 2
  reasons:
  - Gather as many results as possible instead of failing early and
    not testing the rest of the cases.
  - Simplify logic when checking test inputs vs outputs and printing
    test result.
  
  Tested on:    amd64, i386

Modified:
  stable/10/lib/libc/tests/stdio/printfloat_test.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/lib/libc/tests/stdio/printfloat_test.c
==============================================================================
--- stable/10/lib/libc/tests/stdio/printfloat_test.c    Tue Feb 14 04:43:03 
2017        (r313719)
+++ stable/10/lib/libc/tests/stdio/printfloat_test.c    Tue Feb 14 04:46:19 
2017        (r313720)
@@ -70,22 +70,19 @@ _testfmt(const char *result, const char 
        va_copy(ap2, ap);
        smash_stack();
        vsnprintf(s, sizeof(s), fmt, ap);
-       if (strcmp(result, s) != 0) {
-               atf_tc_fail(
-                   "printf(\"%s\", %s) ==> [%s], expected [%s]",
-                   fmt, argstr, s, result);
-       }
+       ATF_CHECK_MSG(strcmp(result, s) == 0,
+           "printf(\"%s\", %s) ==> [%s], expected [%s]",
+           fmt, argstr, s, result);
 
        smash_stack();
        mbstowcs(ws, s, BUF - 1);
        mbstowcs(wfmt, fmt, BUF - 1);
        mbstowcs(wresult, result, BUF - 1);
        vswprintf(ws, sizeof(ws) / sizeof(ws[0]), wfmt, ap2);
-       if (wcscmp(wresult, ws) != 0) {
-               atf_tc_fail(
-                   "wprintf(\"%ls\", %s) ==> [%ls], expected [%ls]",
-                   wfmt, argstr, ws, wresult);
-       }
+       ATF_CHECK_MSG(wcscmp(wresult, ws) == 0,
+           "wprintf(\"%ls\", %s) ==> [%ls], expected [%ls]",
+           wfmt, argstr, ws, wresult);
+
        va_end(ap);
        va_end(ap2);
 }
@@ -318,7 +315,7 @@ ATF_TC_BODY(hexadecimal_floating_point, 
        testfmt("0x1p-1074", "%a", 0x1p-1074);
        testfmt("0x1.2345p-1024", "%a", 0x1.2345p-1024);
 
-#if (LDBL_MANT_DIG == 64) && !defined(__i386__)
+#if (LDBL_MANT_DIG == 64)
        testfmt("0x1.921fb54442d18468p+1", "%La", 0x3.243f6a8885a308dp0L);
        testfmt("0x1p-16445", "%La", 0x1p-16445L);
        testfmt("0x1.30ecap-16381", "%La", 0x9.8765p-16384L);
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to