[Git][NTPsec/ntpsec][master] ieee754io: new tests: 1, -1, pos infinity

Gary E. Miller gitlab at mg.gitlab.com
Tue Apr 4 18:54:18 UTC 2017


Gary E. Miller pushed to branch master at NTPsec / ntpsec


Commits:
cd01b5fa by Gary E. Miller at 2017-04-04T11:53:23-07:00
ieee754io: new tests: 1, -1, pos infinity

pos infinity found a bug in the libparse.

- - - - -


1 changed file:

- tests/libparse/ieee754io.c


Changes:

=====================================
tests/libparse/ieee754io.c
=====================================
--- a/tests/libparse/ieee754io.c
+++ b/tests/libparse/ieee754io.c
@@ -14,24 +14,68 @@ TEST_SETUP(ieee754io) {}
 TEST_TEAR_DOWN(ieee754io) {}
 
 static offsets_t native_off = { 0, 1, 2, 3, 4, 5, 6, 7 };
+/* byte order for meinberg doubles */
+// static offsets_t mbg_double = { 1, 0, 3, 2, 5, 4, 7, 6 };
 
-TEST(ieee754io, test_one) {
+
+/*
+        unsigned char *p = (void *)&fp;
+        printf("fp: %d %d %d %d %d %d %d %d\n",
+	     p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7]);
+*/
+
+TEST(ieee754io, test_zero64) {
         int ret;
         unsigned char one[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
 	unsigned char *bp = &one[0];
         l_fp fp;
 
-        printf("hello\n");
-	ret = fetch_ieee754( &bp, IEEE_DOUBLE, &fp,
-            native_off);
-
-        printf("hello\n");
-        printf("%ld\n", (long)fp);
+	ret = fetch_ieee754( &bp, IEEE_DOUBLE, &fp, native_off);
 
 	TEST_ASSERT( IEEE_OK == ret);
 	TEST_ASSERT_EQUAL_INT64( 0, (long)fp );
 }
 
+TEST(ieee754io, test_one64) {
+        int ret;
+        unsigned char one[8] = { 0x3f, 0xf0, 0, 0, 0, 0, 0, 0 };
+	unsigned char *bp = &one[0];
+        l_fp fp;
+
+	ret = fetch_ieee754( &bp, IEEE_DOUBLE, &fp, native_off);
+
+	TEST_ASSERT( IEEE_OK == ret);
+	TEST_ASSERT_EQUAL_INT64( 1L << 32, (long)fp );
+}
+
+TEST(ieee754io, test_negone64) {
+        int ret;
+        unsigned char negone[8] = { 0xbf, 0xf0, 0, 0, 0, 0, 0, 0 };
+	unsigned char *bp = &negone[0];
+        l_fp fp;
+
+	ret = fetch_ieee754( &bp, IEEE_DOUBLE, &fp, native_off);
+
+	TEST_ASSERT( IEEE_OK == ret);
+	TEST_ASSERT_EQUAL_INT64( -(1L << 32), (long)fp );
+}
+
+TEST(ieee754io, test_nan64) {
+        int ret;
+        unsigned char negone[8] = { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 };
+	unsigned char *bp = &negone[0];
+        l_fp fp;
+
+	ret = fetch_ieee754( &bp, IEEE_DOUBLE, &fp, native_off);
+
+        printf("%d\n", ret);
+	TEST_ASSERT( IEEE_POSINFINITY == ret);
+	// TEST_ASSERT_EQUAL_INT64( 0x7FFFFFFFFFFFFFFFLL, (long)fp );
+}
+
 TEST_GROUP_RUNNER(ieee754io) {
-	RUN_TEST_CASE(ieee754io, test_one);
+	RUN_TEST_CASE(ieee754io, test_zero64);
+	RUN_TEST_CASE(ieee754io, test_one64);
+	RUN_TEST_CASE(ieee754io, test_negone64);
+	RUN_TEST_CASE(ieee754io, test_nan64);
 }



View it on GitLab: https://gitlab.com/NTPsec/ntpsec/commit/cd01b5fadd4c92a041fc79698141c94da6e072ff
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ntpsec.org/pipermail/vc/attachments/20170404/df64d44b/attachment.html>


More information about the vc mailing list