[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