summaryrefslogtreecommitdiffhomepage
path: root/scripts/iptables_tests.sh
diff options
context:
space:
mode:
authorKevin Krakauer <krakauer@google.com>2019-12-12 14:40:36 -0800
committergVisor bot <gvisor-bot@google.com>2019-12-12 14:42:11 -0800
commitbe2754a4b99cc92f13f479f74a5da8b0e6cb5839 (patch)
tree17a1cbacb7b477950998555ab896782439436d7c /scripts/iptables_tests.sh
parent93d429d5b1e3801fb4c29568bcd40d6854c9fe94 (diff)
Add iptables testing framework.
It would be preferrable to test iptables via syscall tests, but there are some problems with that approach: * We're limited to loopback-only, as syscall tests involve only a single container. Other link interfaces (e.g. fdbased) should be tested. * We'd have to shell out to call iptables anyways, as the iptables syscall interface itself is too large and complex to work with alone. * Running the Linux/native version of the syscall test will require root, which is a pain to configure, is inherently unsafe, and could leave host iptables misconfigured. Using the go_test target allows there to be no new test runner. PiperOrigin-RevId: 285274275
Diffstat (limited to 'scripts/iptables_tests.sh')
-rwxr-xr-xscripts/iptables_tests.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/scripts/iptables_tests.sh b/scripts/iptables_tests.sh
new file mode 100755
index 000000000..c47cbd675
--- /dev/null
+++ b/scripts/iptables_tests.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+# Copyright 2018 The gVisor Authors.
+#
+# 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.
+
+source $(dirname $0)/common.sh
+
+install_runsc_for_test iptables
+
+# Build the docker image for the test.
+run //test/iptables/runner --norun
+
+# TODO(gvisor.dev/issue/170): Also test this on runsc once iptables are better
+# supported
+test //test/iptables:iptables_test "--test_arg=--runtime=runc" \
+ "--test_arg=--image=bazel/test/iptables/runner:runner"