Module Name:    src
Committed By:   christos
Date:           Fri Sep 30 18:27:18 UTC 2011

Modified Files:
        src/tests/lib/libc/gen: t_fpsetround.c

Log Message:
print stderr, when things go wrong.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/tests/lib/libc/gen/t_fpsetround.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/tests/lib/libc/gen/t_fpsetround.c
diff -u src/tests/lib/libc/gen/t_fpsetround.c:1.2 src/tests/lib/libc/gen/t_fpsetround.c:1.3
--- src/tests/lib/libc/gen/t_fpsetround.c:1.2	Fri Sep 30 13:44:58 2011
+++ src/tests/lib/libc/gen/t_fpsetround.c	Fri Sep 30 14:27:18 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: t_fpsetround.c,v 1.2 2011/09/30 17:44:58 christos Exp $ */
+/* $NetBSD: t_fpsetround.c,v 1.3 2011/09/30 18:27:18 christos Exp $ */
 
 /*-
  * Copyright (c) 2011 The NetBSD Foundation, Inc.
@@ -36,24 +36,18 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: t_fpsetround.c,v 1.2 2011/09/30 17:44:58 christos Exp $");
+__RCSID("$NetBSD: t_fpsetround.c,v 1.3 2011/09/30 18:27:18 christos Exp $");
 
 #include <float.h>
 #include <math.h>
 #include <stdlib.h>
 #include <string.h>
+#include <stdio.h>
 
 #if !defined(__mc68000__) && !defined(__vax__)
 #include <ieeefp.h>
 #endif
 
-#ifdef DEBUG
-#include <stdio.h>
-#define DPRINTF(a)	printf a
-#else
-#define DPRINTF(a)
-#endif
-
 #include <atf-c.h>
 
 ATF_TC(fpsetround_basic);
@@ -66,6 +60,18 @@ ATF_TC_HEAD(fpsetround_basic, tc)
 
 static const struct {
 	const char *n;
+	int rm;
+	int rf;
+} rnd[] = {
+	{ "RN", FP_RN, 1 },
+	{ "RP", FP_RP, 2 },
+	{ "RM", FP_RM, 3 },
+	{ "RZ", FP_RZ, 0 },
+
+};
+
+static const struct {
+	const char *n;
 	int v[4];
 } tst[] = {	/*  RN  RP  RM  RZ */
 	{  "1.1", {  1,  1,  2,  1 } },
@@ -79,23 +85,23 @@ static const struct {
 static void
 test(int r)
 {
+	int did = 0;
 	for (size_t i = 0; i < __arraycount(tst); i++) {
 		double d = strtod(tst[i].n, NULL);
-		ATF_CHECK_EQ((int)rint(d), tst[i].v[r]);
-		DPRINTF(("%s %d %d\n", tst[i].n, (int)rint(d), tst[i].v[r]));
+		int g = (int)rint(d);
+		int e = tst[i].v[r];
+		ATF_CHECK_EQ(g, e);
+		if (g != e) {
+			if (!did) {
+				fprintf(stderr, "Mode Value Result Expected\n");
+				did = 1;
+			}
+			fprintf(stderr, "%4.4s %-5.5s %6d %8d\n", rnd[r].n,
+			    tst[i].n, (int)rint(d), tst[i].v[r]);
+		}
 	}
 }
 
-static const struct {
-	int rm;
-	int rf;
-} rnd[] = {
-	{ FP_RN, 1 },
-	{ FP_RP, 2 },
-	{ FP_RM, 3 },
-	{ FP_RZ, 0 },
-
-};
 
 ATF_TC_BODY(fpsetround_basic, tc)
 {
@@ -114,10 +120,15 @@ ATF_TC_BODY(fpsetround_basic, tc)
 		int n = rnd[j].rm;
 
 		ATF_CHECK_EQ(r = fpsetround(n), o);
-		DPRINTF(("s o=%x r=%x\n", o, r));
+		if (o != r)
+			fprintf(stderr, "set expected=%x got=%x\n", o, r);
 		ATF_CHECK_EQ(r = fpgetround(), n);
-		DPRINTF(("g n=%x r=%x\n", n, r));
-		ATF_CHECK_EQ(FLT_ROUNDS, rnd[j].rf);
+		if (n != r)
+			fprintf(stderr, "get expected=%x got=%x\n", n, r);
+		ATF_CHECK_EQ(r= FLT_ROUNDS, rnd[j].rf);
+		if (r != rnd[j].rf)
+			fprintf(stderr, "rounds expected=%x got=%x\n",
+			    rnd[j].rf, r);
 		test(rnd[j].rf);
 	}
 #endif /* defined(__mc68000__) || defined(__vax__) */

Reply via email to