[PATCH v0 6/6] test-nat: Add main table tests

Daniel Wagner wagi at monom.org
Mon Feb 13 06:51:42 PST 2012


From: Daniel Wagner <daniel.wagner at bmw-carit.de>

This test makes use of the iptables check command.
---
 unit/test-nat.c |   36 ++++++++++++++++++++++++++++++++++--
 1 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/unit/test-nat.c b/unit/test-nat.c
index 98a7b7a..578ff3e 100644
--- a/unit/test-nat.c
+++ b/unit/test-nat.c
@@ -62,6 +62,37 @@ void connman_notifier_unregister(struct connman_notifier *notifier)
 	nat_notifier = NULL;
 }
 
+
+static void test_iptables_basic0(void)
+{
+	int err;
+
+	err = __connman_iptables_command("-C INPUT -i session-bridge -j ACCEPT");
+	g_assert(err != 0);
+	err = __connman_iptables_commit("filter");
+	g_assert(err == 0);
+
+	err = __connman_iptables_command("-I INPUT -i session-bridge -j ACCEPT");
+	g_assert(err == 0);
+	err = __connman_iptables_commit("filter");
+	g_assert(err == 0);
+
+	err = __connman_iptables_command("-C INPUT -i session-bridge -j ACCEPT");
+	g_assert(err == 0);
+	err = __connman_iptables_commit("filter");
+	g_assert(err == 0);
+
+	err = __connman_iptables_command("-D INPUT -i session-bridge -j ACCEPT");
+	g_assert(err == 0);
+	err = __connman_iptables_commit("filter");
+	g_assert(err == 0);
+
+	err = __connman_iptables_command("-C INPUT -i session-bridge -j ACCEPT");
+	g_assert(err != 0);
+	err = __connman_iptables_commit("filter");
+	g_assert(err == 0);
+}
+
 static void test_nat_basic0(void)
 {
 	int err;
@@ -120,8 +151,9 @@ int main(int argc, char *argv[])
 	__connman_iptables_init();
 	__connman_nat_init();
 
-	g_test_add_func("/basic0", test_nat_basic0);
-	g_test_add_func("/basic1", test_nat_basic1);
+	g_test_add_func("/iptables/basic0", test_iptables_basic0);
+	g_test_add_func("/nat/basic0", test_nat_basic0);
+	g_test_add_func("/nat/basic1", test_nat_basic1);
 
 	err = g_test_run();
 
-- 
1.7.9.48.g85da4d




More information about the connman mailing list