summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <smcv@debian.org>2016-07-20 13:31:50 +0100
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2016-08-12 18:21:36 +0100
commit6ce19c8625360b36b2058dd3a8cb15bda19cecda (patch)
tree6a430566d28c69ea42d941a0a88ecbb2e1775fb3
parent1679f58a140399ca9e2ebfdf0431d5e843d6f70e (diff)
downloaddbus-6ce19c8625360b36b2058dd3a8cb15bda19cecda.tar.gz
test-dbus-daemon-fork: exercise closed stdin, stdout, stderr
Signed-off-by: Simon McVittie <smcv@debian.org>
-rwxr-xr-xtest/test-dbus-daemon-fork.sh40
1 files changed, 39 insertions, 1 deletions
diff --git a/test/test-dbus-daemon-fork.sh b/test/test-dbus-daemon-fork.sh
index c0a3d5f6..d6164451 100755
--- a/test/test-dbus-daemon-fork.sh
+++ b/test/test-dbus-daemon-fork.sh
@@ -45,7 +45,7 @@ if ! workdir="$(mktemp -d)"; then
exit 0
fi
-echo "1..1"
+echo "1..3"
unset DBUS_SESSION_BUS_ADDRESS
unset DBUS_SESSION_BUS_PID
@@ -66,4 +66,42 @@ kill "$DBUS_SESSION_BUS_PID"
echo "ok 1 - normal dbus-daemon"
+unset DBUS_SESSION_BUS_ADDRESS
+unset DBUS_SESSION_BUS_PID
+rm -f "$workdir"/address "$workdir"/pid
+
+${DBUS_TEST_DAEMON} --fork --print-address=8 --print-pid=9 "$config" \
+ 8>"$workdir/address" 9>"$workdir/pid" <&-
+
+export DBUS_SESSION_BUS_ADDRESS="$(cat "$workdir"/address)"
+test -n "$DBUS_SESSION_BUS_ADDRESS"
+DBUS_SESSION_BUS_PID="$(cat "$workdir"/pid)"
+kill -0 "$DBUS_SESSION_BUS_PID"
+
+${DBUS_TEST_DBUS_SEND} --session --dest=org.freedesktop.DBus \
+ --type=method_call --print-reply / org.freedesktop.DBus.ListNames >&2
+
+kill "$DBUS_SESSION_BUS_PID"
+
+echo "ok 2 - dbus-daemon with stdin closed"
+
+unset DBUS_SESSION_BUS_ADDRESS
+unset DBUS_SESSION_BUS_PID
+rm -f "$workdir"/address "$workdir"/pid
+
+${DBUS_TEST_DAEMON} --fork --print-address=8 --print-pid=9 "$config" \
+ 8>"$workdir/address" 9>"$workdir/pid" <&- >&- 2>&-
+
+export DBUS_SESSION_BUS_ADDRESS="$(cat "$workdir"/address)"
+test -n "$DBUS_SESSION_BUS_ADDRESS"
+DBUS_SESSION_BUS_PID="$(cat "$workdir"/pid)"
+kill -0 "$DBUS_SESSION_BUS_PID"
+
+${DBUS_TEST_DBUS_SEND} --session --dest=org.freedesktop.DBus \
+ --type=method_call --print-reply / org.freedesktop.DBus.ListNames >&2
+
+kill "$DBUS_SESSION_BUS_PID"
+
+echo "ok 3 - dbus-daemon with stdin, stdout, stderr closed"
+
rm -r "$workdir"