Restore #include "progname.h"
[gnulib.git] / tests / test-printf-posix.h
index cd79a93..1b2da47 100644 (file)
@@ -62,11 +62,119 @@ test_function (int (*my_printf) (const char *, ...))
   my_printf ("%a %d\n", NaN (), 33, 44, 55);
 
   /* FLAG_ZERO with infinite number.  */
+  /* "0000000inf 33" is not a valid result; see
+     <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
   my_printf ("%010a %d\n", 1.0 / 0.0, 33, 44, 55);
 
   /* FLAG_ZERO with NaN.  */
+  /* "0000000nan 33" is not a valid result; see
+     <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
   my_printf ("%010a %d\n", NaN (), 33, 44, 55);
 
+  /* Test the support of the %f format directive.  */
+
+  /* A positive number.  */
+  my_printf ("%f %d\n", 12.75, 33, 44, 55);
+
+  /* A larger positive number.  */
+  my_printf ("%f %d\n", 1234567.0, 33, 44, 55);
+
+  /* A negative number.  */
+  my_printf ("%f %d\n", -0.03125, 33, 44, 55);
+
+  /* Positive zero.  */
+  my_printf ("%f %d\n", 0.0, 33, 44, 55);
+
+  /* Negative zero.  */
+  my_printf ("%f %d\n", -0.0, 33, 44, 55);
+
+  /* NaN.  */
+  my_printf ("%f %d\n", NaN (), 33, 44, 55);
+
+  /* FLAG_ZERO.  */
+  my_printf ("%015f %d\n", 1234.0, 33, 44, 55);
+
+  /* Precision.  */
+  my_printf ("%.f %d\n", 1234.0, 33, 44, 55);
+
+  /* A positive number.  */
+  my_printf ("%Lf %d\n", 12.75L, 33, 44, 55);
+
+  /* A larger positive number.  */
+  my_printf ("%Lf %d\n", 1234567.0L, 33, 44, 55);
+
+  /* A negative number.  */
+  my_printf ("%Lf %d\n", -0.03125L, 33, 44, 55);
+
+  /* Positive zero.  */
+  my_printf ("%Lf %d\n", 0.0L, 33, 44, 55);
+
+  /* Negative zero.  */
+  my_printf ("%Lf %d\n", -0.0L, 33, 44, 55);
+
+  { /* NaN.  */
+    static long double zero = 0.0L;
+    my_printf ("%Lf %d\n", zero / zero, 33, 44, 55);
+  }
+
+  /* FLAG_ZERO.  */
+  my_printf ("%015Lf %d\n", 1234.0L, 33, 44, 55);
+
+  /* Precision.  */
+  my_printf ("%.Lf %d\n", 1234.0L, 33, 44, 55);
+
+  /* Test the support of the %F format directive.  */
+
+  /* A positive number.  */
+  my_printf ("%F %d\n", 12.75, 33, 44, 55);
+
+  /* A larger positive number.  */
+  my_printf ("%F %d\n", 1234567.0, 33, 44, 55);
+
+  /* A negative number.  */
+  my_printf ("%F %d\n", -0.03125, 33, 44, 55);
+
+  /* Positive zero.  */
+  my_printf ("%F %d\n", 0.0, 33, 44, 55);
+
+  /* Negative zero.  */
+  my_printf ("%F %d\n", -0.0, 33, 44, 55);
+
+  /* NaN.  */
+  my_printf ("%F %d\n", NaN (), 33, 44, 55);
+
+  /* FLAG_ZERO.  */
+  my_printf ("%015F %d\n", 1234.0, 33, 44, 55);
+
+  /* Precision.  */
+  my_printf ("%.F %d\n", 1234.0, 33, 44, 55);
+
+  /* A positive number.  */
+  my_printf ("%LF %d\n", 12.75L, 33, 44, 55);
+
+  /* A larger positive number.  */
+  my_printf ("%LF %d\n", 1234567.0L, 33, 44, 55);
+
+  /* A negative number.  */
+  my_printf ("%LF %d\n", -0.03125L, 33, 44, 55);
+
+  /* Positive zero.  */
+  my_printf ("%LF %d\n", 0.0L, 33, 44, 55);
+
+  /* Negative zero.  */
+  my_printf ("%LF %d\n", -0.0L, 33, 44, 55);
+
+  { /* NaN.  */
+    static long double zero = 0.0L;
+    my_printf ("%LF %d\n", zero / zero, 33, 44, 55);
+  }
+
+  /* FLAG_ZERO.  */
+  my_printf ("%015LF %d\n", 1234.0L, 33, 44, 55);
+
+  /* Precision.  */
+  my_printf ("%.LF %d\n", 1234.0L, 33, 44, 55);
+
   /* Test the support of the POSIX/XSI format strings with positions.  */
 
   my_printf ("%2$d %1$d\n", 33, 55);