summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArturo Borrero Gonzalez <arturo@netfilter.org>2021-01-22 19:06:28 +0100
committerArturo Borrero Gonzalez <arturo@netfilter.org>2021-02-01 11:34:17 +0100
commit4c2a31a1fcfb2ddeb305930cbb1a2b71c60ff310 (patch)
treea518a19517a94a05b42c419dce0c3207a3c2a297
parent2582f19b47641f7e471728710e6c1e34c2369faa (diff)
tests: introduce some basic testcases for the new conntrack-tools testing framework
Introduce some initial basic testcases for configuration parsing and standard daemon startup and shutdown routines. This should give an example of how the framework works. Here is an example of running this: === 8< === $ cd tests/conntrackd ; sudo ./conntrackd-tests.py [conntrackd-tests.py] INFO: --- running test: stats_general [conntrackd-tests.py] INFO: --- passed test: stats_general [conntrackd-tests.py] INFO: --- running test: stats_network [conntrackd-tests.py] INFO: --- passed test: stats_network [conntrackd-tests.py] INFO: --- running test: stats_runtime [conntrackd-tests.py] INFO: --- passed test: stats_runtime [conntrackd-tests.py] INFO: --- running test: stats_process [conntrackd-tests.py] INFO: --- passed test: stats_process [conntrackd-tests.py] INFO: --- running test: stats_queue [conntrackd-tests.py] INFO: --- passed test: stats_queue [conntrackd-tests.py] INFO: --- running test: stats_ct [conntrackd-tests.py] INFO: --- passed test: stats_ct [conntrackd-tests.py] INFO: --- running test: stats_expect [conntrackd-tests.py] INFO: --- passed test: stats_expect [conntrackd-tests.py] INFO: --- [conntrackd-tests.py] INFO: --- finished [conntrackd-tests.py] INFO: --- passed tests: 7 [conntrackd-tests.py] INFO: --- failed tests: 0 [conntrackd-tests.py] INFO: --- scenario failure: 0 [conntrackd-tests.py] INFO: --- total tests: 7 === 8< === Signed-off-by: Arturo Borrero Gonzalez <arturo@netfilter.org>
-rw-r--r--tests/conntrackd/env.yaml2
-rw-r--r--tests/conntrackd/scenarios.yaml19
-rw-r--r--tests/conntrackd/tests.yaml41
3 files changed, 62 insertions, 0 deletions
diff --git a/tests/conntrackd/env.yaml b/tests/conntrackd/env.yaml
new file mode 100644
index 0000000..daf8ea1
--- /dev/null
+++ b/tests/conntrackd/env.yaml
@@ -0,0 +1,2 @@
+- CONNTRACKD: ../../src/conntrackd
+- CONNTRACK: ../../src/conntrack
diff --git a/tests/conntrackd/scenarios.yaml b/tests/conntrackd/scenarios.yaml
new file mode 100644
index 0000000..a47e1a1
--- /dev/null
+++ b/tests/conntrackd/scenarios.yaml
@@ -0,0 +1,19 @@
+- name: simple_stats
+ start:
+ - rm -f /var/lock/conntrack.lock
+ - |
+ cat << EOF > /tmp/conntrackd_test_simple_stats
+ General {
+ HashSize 8192
+ LockFile /var/lock/conntrack.lock
+ UNIX { Path /var/run/conntrackd.ctl }
+ }
+ Stats {
+ LogFile on
+ }
+ EOF
+ - $CONNTRACKD -C /tmp/conntrackd_test_simple_stats -d
+ stop:
+ - $CONNTRACKD -C /tmp/conntrackd_test_simple_stats -k
+ - rm -f /var/lock/conntrack.lock
+ - rm -f /tmp/conntrackd_test_simple_stats
diff --git a/tests/conntrackd/tests.yaml b/tests/conntrackd/tests.yaml
new file mode 100644
index 0000000..8324dbe
--- /dev/null
+++ b/tests/conntrackd/tests.yaml
@@ -0,0 +1,41 @@
+- name: stats_general
+ scenario: simple_stats
+ # check that we can obtain stats via unix socket: general
+ test:
+ - $CONNTRACKD -C /tmp/conntrackd_test_simple_stats -s | grep -q "cache stats"
+
+- name: stats_network
+ scenario: simple_stats
+ # check that we can obtain stats via unix socket: network (no output)
+ test:
+ - $CONNTRACKD -C /tmp/conntrackd_test_simple_stats -s network
+
+- name: stats_runtime
+ scenario: simple_stats
+ # check that we can obtain stats via unix socket: runtime
+ test:
+ - $CONNTRACKD -C /tmp/conntrackd_test_simple_stats -s runtime | grep -q uptime
+
+- name: stats_process
+ scenario: simple_stats
+ # check that we can obtain stats via unix socket: process (no output)
+ test:
+ - $CONNTRACKD -C /tmp/conntrackd_test_simple_stats -s process
+
+- name: stats_queue
+ scenario: simple_stats
+ # check that we can obtain stats via unix socket: queue (no output)
+ test:
+ - $CONNTRACKD -C /tmp/conntrackd_test_simple_stats -s queue
+
+- name: stats_ct
+ scenario: simple_stats
+ # check that we can obtain stats via unix socket: ct
+ test:
+ - $CONNTRACKD -C /tmp/conntrackd_test_simple_stats -s ct | grep -q traffic
+
+- name: stats_expect
+ scenario: simple_stats
+ # check that we can obtain stats via unix socket: expect (no output)
+ test:
+ - $CONNTRACKD -C /tmp/conntrackd_test_simple_stats -s expect