aboutgitcodebugslistschat
path: root/test/shutdown
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2022-08-18 16:13:55 +1000
committerStefano Brivio <sbrivio@redhat.com>2022-08-20 19:07:12 +0200
commit9224af149483e448546db7a63b66992c6003ab3e (patch)
tree4af78615ca9c52d20d06ced6a7b4d427fff73a4e /test/shutdown
parent5beef085978e7ab8edc0f8a2b2a4d91a44ba2a3c (diff)
downloadpasst-9224af149483e448546db7a63b66992c6003ab3e.tar
passt-9224af149483e448546db7a63b66992c6003ab3e.tar.gz
passt-9224af149483e448546db7a63b66992c6003ab3e.tar.bz2
passt-9224af149483e448546db7a63b66992c6003ab3e.tar.lz
passt-9224af149483e448546db7a63b66992c6003ab3e.tar.xz
passt-9224af149483e448546db7a63b66992c6003ab3e.tar.zst
passt-9224af149483e448546db7a63b66992c6003ab3e.zip
test: Rename slightly misleading "valgrind" tests
The "valgrind" test cases are designed to pick up errors reported when passt is running under valgrind. But what it actually does is just kill the passt process, then see if it had a non-zero exit code. That means it will equally well pick up any other problems which caused passt to exit with an error status: either something detected within passt or as a result of passt being killed by an unexpected signal. The fact that the "valgrind" test is actually responsible for shutting down the passt process is non-obvious and can lead to problems when selectively running tests during debugging. Rename the "valgrind" tests to "shutdown" tests and run it regardless of whether we're using valgrind or not. This allows us to remove an ugly speacial case in the passt_in_ns teardown code. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'test/shutdown')
-rw-r--r--test/shutdown/passt22
-rw-r--r--test/shutdown/passt_in_ns22
2 files changed, 44 insertions, 0 deletions
diff --git a/test/shutdown/passt b/test/shutdown/passt
new file mode 100644
index 0000000..00ced61
--- /dev/null
+++ b/test/shutdown/passt
@@ -0,0 +1,22 @@
+# SPDX-License-Identifier: AGPL-3.0-or-later
+#
+# PASST - Plug A Simple Socket Transport
+# for qemu/UNIX domain socket mode
+#
+# PASTA - Pack A Subtle Tap Abstraction
+# for network namespace/tap device mode
+#
+# test/shutdown/passt - Shut down passt and check exit code (will detect
+# valgrind errors amongst others)
+#
+# Copyright (c) 2022 Red Hat GmbH
+# Author: Stefano Brivio <sbrivio@redhat.com>
+
+test shutdown: exit code
+
+hout PASST_PID cat passt.pid
+host kill __PASST_PID__
+sleep 1
+
+pout EXIT echo $?
+check [ "__EXIT__" = "0" ]
diff --git a/test/shutdown/passt_in_ns b/test/shutdown/passt_in_ns
new file mode 100644
index 0000000..a427bf4
--- /dev/null
+++ b/test/shutdown/passt_in_ns
@@ -0,0 +1,22 @@
+# SPDX-License-Identifier: AGPL-3.0-or-later
+#
+# PASST - Plug A Simple Socket Transport
+# for qemu/UNIX domain socket mode
+#
+# PASTA - Pack A Subtle Tap Abstraction
+# for network namespace/tap device mode
+#
+# test/shutdown/passt_in_ns - Shut down passt and check exit code (will detect
+# valgrind errors amongst others)
+#
+# Copyright (c) 2022 Red Hat GmbH
+# Author: Stefano Brivio <sbrivio@redhat.com>
+
+test shutdown: exit code
+
+nsout PASST_PID cat passt.pid
+ns kill __PASST_PID__
+sleep 1
+
+pout EXIT echo $?
+check [ "__EXIT__" = "0" ]