]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
add some %f format tests
authorMark Andrews <marka@isc.org>
Wed, 16 May 2018 04:21:38 +0000 (14:21 +1000)
committerMark Andrews <marka@isc.org>
Fri, 18 May 2018 02:46:52 +0000 (12:46 +1000)
(cherry picked from commit f5233ba5dedcfa49f7eebefb94940c0e35139b28)

lib/isc/tests/print_test.c

index 476617733515e341779907205d02114e9d754923..b6193be3d5f91b679da1b961c95c2069a95cccc6 100644 (file)
@@ -55,6 +55,7 @@ ATF_TC_BODY(snprintf, tc) {
        isc_uint64_t ll = 8589934592ULL;
        isc_uint64_t nn = 20000000000000ULL;
        isc_uint64_t zz = 10000000000000000000ULL;
+       float pi = 3.141;
        int n;
        size_t size;
 
@@ -123,6 +124,25 @@ ATF_TC_BODY(snprintf, tc) {
        n = isc_print_snprintf(buf, sizeof(buf), "0x%"ISC_PRINT_QUADFORMAT"x", zz);
        ATF_CHECK_EQ(n, 18);
        ATF_CHECK_STREQ(buf, "0xf5f5f5f5f5f5f5f5");
+
+       n = isc_print_snprintf(buf, sizeof(buf), "%.2f", pi);
+       ATF_CHECK_EQ(n, 4);
+       ATF_CHECK_STREQ(buf, "3.14");
+
+       /* Similar to the above, but additional characters follows */
+       n = isc_print_snprintf(buf, sizeof(buf), "%.2f1592", pi);
+       ATF_CHECK_EQ(n, 8);
+       ATF_CHECK_STREQ(buf, "3.141592");
+
+       /* Similar to the above, but with leading spaces */
+       n = isc_print_snprintf(buf, sizeof(buf), "% 8.2f1592", pi);
+       ATF_CHECK_EQ(n, 12);
+       ATF_CHECK_STREQ(buf, "    3.141592");
+
+       /* Similar to the above, but with trail spaces after the 4 */
+       n = isc_print_snprintf(buf, sizeof(buf), "%-8.2f1592", pi);
+       ATF_CHECK_EQ(n, 12);
+       ATF_CHECK_STREQ(buf, "3.14    1592");
 }
 
 ATF_TC(fprintf);