aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Drewery <bdrewery@FreeBSD.org>2020-08-13 22:42:24 +0000
committerBryan Drewery <bdrewery@FreeBSD.org>2020-08-13 22:42:24 +0000
commitb2e98945d72cf3d9edabd0d2209c2951d6ccceca (patch)
tree303e73e0114e9127d981ca725d791e78c53a89f5
parent3869d414658817a8ebc926647f7d809efa48491f (diff)
Add test to for FreeBSD-SA-19:20.bsnmp
Submitted by: Darrick Lew <darrick.freebsd at gmail.com> Reviewed by: cem Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D26037
Notes
Notes: svn path=/head/; revision=364221
-rw-r--r--lib/libbsnmp/Makefile1
-rw-r--r--lib/libbsnmp/tests/Makefile11
-rw-r--r--lib/libbsnmp/tests/bsnmpd_test.c53
3 files changed, 65 insertions, 0 deletions
diff --git a/lib/libbsnmp/Makefile b/lib/libbsnmp/Makefile
index 22821c7bcb5a..453cba29ddf5 100644
--- a/lib/libbsnmp/Makefile
+++ b/lib/libbsnmp/Makefile
@@ -1,5 +1,6 @@
# $FreeBSD$
SUBDIR= libbsnmp
+SUBDIR.${MK_TESTS}+= tests
.include <bsd.subdir.mk>
diff --git a/lib/libbsnmp/tests/Makefile b/lib/libbsnmp/tests/Makefile
new file mode 100644
index 000000000000..74fbec52ec13
--- /dev/null
+++ b/lib/libbsnmp/tests/Makefile
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+ATF_TESTS_C+= bsnmpd_test
+
+SRCS.bsmpd_test= bsnmpd_test.c
+
+LIBADD+= bsnmp
+
+.include <bsd.test.mk>
diff --git a/lib/libbsnmp/tests/bsnmpd_test.c b/lib/libbsnmp/tests/bsnmpd_test.c
new file mode 100644
index 000000000000..c6e4bfd385b5
--- /dev/null
+++ b/lib/libbsnmp/tests/bsnmpd_test.c
@@ -0,0 +1,53 @@
+/*-
+ * Copyright (c) 2020 Dell EMC
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#include <bsnmp/asn1.h>
+
+#include <atf-c.h>
+
+ATF_TC_WITHOUT_HEAD(sa_19_20_bsnmp_test);
+ATF_TC_BODY(sa_19_20_bsnmp_test, tc)
+{
+ struct asn_buf b = {};
+ char test_buf[] = { 0x25, 0x7f };
+ enum asn_err err;
+ asn_len_t len;
+ u_char type;
+
+ b.asn_cptr = test_buf;
+ b.asn_len = sizeof(test_buf);
+
+ err = asn_get_header(&b, &type, &len);
+ ATF_CHECK_EQ(ASN_ERR_EOBUF, err);
+}
+
+ATF_TP_ADD_TCS(tp)
+{
+ ATF_TP_ADD_TC(tp, sa_19_20_bsnmp_test);
+ return (atf_no_error());
+}