Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/tests/lib/libutil Add a new test case for snprintb_m(3) to c...
details: https://anonhg.NetBSD.org/src/rev/85e88b6d1a54
branches: trunk
changeset: 789134:85e88b6d1a54
user: pgoyette <pgoyette%NetBSD.org@localhost>
date: Thu Aug 08 04:52:10 2013 +0000
description:
Add a new test case for snprintb_m(3) to catch previous boundary bug.
diffstat:
tests/lib/libutil/t_snprintb.c | 47 +++++++++++++++++++++++++++++++++++++++--
1 files changed, 44 insertions(+), 3 deletions(-)
diffs (78 lines):
diff -r 16ba9b33f5f6 -r 85e88b6d1a54 tests/lib/libutil/t_snprintb.c
--- a/tests/lib/libutil/t_snprintb.c Thu Aug 08 04:32:43 2013 +0000
+++ b/tests/lib/libutil/t_snprintb.c Thu Aug 08 04:52:10 2013 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: t_snprintb.c,v 1.1 2010/07/16 13:56:32 jmmv Exp $ */
+/* $NetBSD: t_snprintb.c,v 1.2 2013/08/08 04:52:10 pgoyette Exp $ */
/*
* Copyright (c) 2002, 2004, 2008, 2010 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
#include <sys/cdefs.h>
__COPYRIGHT("@(#) Copyright (c) 2008, 2010\
The NetBSD Foundation, inc. All rights reserved.");
-__RCSID("$NetBSD: t_snprintb.c,v 1.1 2010/07/16 13:56:32 jmmv Exp $");
+__RCSID("$NetBSD: t_snprintb.c,v 1.2 2013/08/08 04:52:10 pgoyette Exp $");
#include <string.h>
#include <util.h>
@@ -59,17 +59,58 @@
ATF_TC_BODY(snprintb, tc)
{
h_snprintb("\10\2BITTWO\1BITONE", 3, "03<BITTWO,BITONE>");
-
+
h_snprintb("\177\20b\05NOTBOOT\0b\06FPP\0b\013SDVMA\0b\015VIDEO\0"
"b\020LORES\0b\021FPA\0b\022DIAG\0b\016CACHE\0"
"b\017IOCACHE\0b\022LOOPBACK\0b\04DBGCACHE\0",
0xe860, "0xe860<NOTBOOT,FPP,SDVMA,VIDEO,CACHE,IOCACHE>");
}
+static void
+h_snprintb_m(const char *fmt, uint64_t val, int line_max, const char *res,
+ int res_len)
+{
+ char buf[1024];
+ int len;
+
+ len = snprintb_m(buf, sizeof(buf), fmt, val, line_max);
+
+ ATF_REQUIRE_EQG(len, res_len);
+ ATF_REQUIRE_EQ(0, memcmp(res, buf, res_len + 1));
+}
+
+ATF_TC(snprintb_m);
+ATF_TC_HEAD(snprintb_m, tc)
+{
+ atf_tc_set_md_var(tc, "descr", "Checks snprintb_m(3)");
+}
+ATF_TC_BODY(snprintb_m, tc)
+{
+ h_snprintb_m("\177\020b\0LSB\0b\1_BITONE\0f\4\4NIBBLE2\0"
+ "f\x10\4BURST\0=\4FOUR\0=\xfSIXTEEN\0"
+ "b\x1fMSB\0\0",
+ 0x800f0701,
+ 33,
+ "0x800f0701<LSB,NIBBLE2=0x0>\0"
+ "0x800f0701<BURST=0xf=SIXTEEN,MSB>\0\0",
+ 62);
+
+ h_snprintb_m("\177\020b\0LSB\0b\1_BITONE\0f\4\4NIBBLE2\0"
+ "f\x10\4BURST\0=\4FOUR\0=\xfSIXTEEN\0"
+ "b\x1fMSB\0\0",
+ 0x800f0701,
+ 32,
+ "0x800f0701<LSB,NIBBLE2=0x0>\0"
+ "0x800f0701<BURST=0xf=SIXTEEN>\0"
+ "0x800f0701<MSB>\0\0",
+ 74);
+}
+
ATF_TP_ADD_TCS(tp)
{
ATF_TP_ADD_TC(tp, snprintb);
+ ATF_TP_ADD_TC(tp, snprintb_m);
return atf_no_error();
}
Home |
Main Index |
Thread Index |
Old Index