[ovs-dev] [IPv6 IV: A New Hope 4/6] tests: Add test suite for packets.h.

Justin Pettit jpettit at nicira.com
Tue Feb 1 08:53:51 UTC 2011


This only tests ip_is_cidr(), since that is the only tricky function
currently defined.  This will get more use once IPv6 functions are
added.
---
 tests/.gitignore     |    1 +
 tests/automake.mk    |    6 ++++++
 tests/library.at     |    4 ++++
 tests/test-packets.c |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 59 insertions(+), 0 deletions(-)
 create mode 100644 tests/test-packets.c

diff --git a/tests/.gitignore b/tests/.gitignore
index 71c2499..90f1737 100644
--- a/tests/.gitignore
+++ b/tests/.gitignore
@@ -20,6 +20,7 @@
 /test-lockfile
 /test-multipath
 /test-ovsdb
+/test-packets
 /test-random
 /test-reconnect
 /test-strtok_r
diff --git a/tests/automake.mk b/tests/automake.mk
index f67c0e7..09ec23f 100644
--- a/tests/automake.mk
+++ b/tests/automake.mk
@@ -78,6 +78,7 @@ lcov_wrappers = \
 	tests/lcov/test-lockfile \
 	tests/lcov/test-multipath \
 	tests/lcov/test-ovsdb \
+	tests/lcov/test-packets \
 	tests/lcov/test-random \
 	tests/lcov/test-reconnect \
 	tests/lcov/test-sha1 \
@@ -130,6 +131,7 @@ valgrind_wrappers = \
 	tests/valgrind/test-lockfile \
 	tests/valgrind/test-multipath \
 	tests/valgrind/test-ovsdb \
+	tests/valgrind/test-packets \
 	tests/valgrind/test-random \
 	tests/valgrind/test-reconnect \
 	tests/valgrind/test-sha1 \
@@ -227,6 +229,10 @@ noinst_PROGRAMS += tests/test-multipath
 tests_test_multipath_SOURCES = tests/test-multipath.c
 tests_test_multipath_LDADD = lib/libopenvswitch.a
 
+noinst_PROGRAMS += tests/test-packets
+tests_test_packets_SOURCES = tests/test-packets.c
+tests_test_packets_LDADD = lib/libopenvswitch.a
+
 noinst_PROGRAMS += tests/test-random
 tests_test_random_SOURCES = tests/test-random.c
 tests_test_random_LDADD = lib/libopenvswitch.a
diff --git a/tests/library.at b/tests/library.at
index 418b279..d199373 100644
--- a/tests/library.at
+++ b/tests/library.at
@@ -22,6 +22,10 @@ AT_SETUP([test linked lists])
 AT_CHECK([test-list], [0], [ignore])
 AT_CLEANUP
 
+AT_SETUP([test packet library])
+AT_CHECK([test-packets])
+AT_CLEANUP
+
 AT_SETUP([test SHA-1])
 AT_CHECK([test-sha1], [0], [ignore])
 AT_CLEANUP
diff --git a/tests/test-packets.c b/tests/test-packets.c
new file mode 100644
index 0000000..464a8eb
--- /dev/null
+++ b/tests/test-packets.c
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2011 Nicira Networks.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <config.h>
+#include "packets.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#undef NDEBUG
+#include <assert.h>
+
+
+static void
+test_ipv4_cidr(void)
+{
+    assert(ip_is_cidr(htonl(0x00000000)));
+    assert(ip_is_cidr(htonl(0x80000000)));
+    assert(ip_is_cidr(htonl(0xf0000000)));
+    assert(ip_is_cidr(htonl(0xffffffe0)));
+    assert(ip_is_cidr(htonl(0xffffffff)));
+
+    assert(!ip_is_cidr(htonl(0x00000001)));
+    assert(!ip_is_cidr(htonl(0x40000000)));
+    assert(!ip_is_cidr(htonl(0x0fffffff)));
+    assert(!ip_is_cidr(htonl(0xffffffd0)));
+}
+
+int
+main(void)
+{
+    test_ipv4_cidr();
+
+    return 0;
+}
-- 
1.7.1





More information about the dev mailing list