From 4c2a31a1fcfb2ddeb305930cbb1a2b71c60ff310 Mon Sep 17 00:00:00 2001 From: Arturo Borrero Gonzalez Date: Fri, 22 Jan 2021 19:06:28 +0100 Subject: 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 --- tests/conntrackd/env.yaml | 2 ++ tests/conntrackd/scenarios.yaml | 19 +++++++++++++++++++ tests/conntrackd/tests.yaml | 41 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 tests/conntrackd/env.yaml create mode 100644 tests/conntrackd/scenarios.yaml create mode 100644 tests/conntrackd/tests.yaml (limited to 'tests') 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 -- cgit v1.2.3