From: Justin Pettit Date: Sat, 15 Jan 2011 19:12:12 +0000 (-0800) Subject: tests: Add test suite for packets.h. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f696f12fbe84f49d650f48c45ce1a24b94547ad2;p=openvswitch tests: Add test suite for packets.h. 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. --- diff --git a/tests/.gitignore b/tests/.gitignore index 71c24998..90f17378 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 f67c0e78..09ec23f2 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 418b2797..d199373c 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 00000000..464a8eb7 --- /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 +#include "packets.h" +#include +#include +#include + +#undef NDEBUG +#include + + +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; +}