test: expand dbus-launch-eval test to cover stdin being closed
authorSimon McVittie <smcv@debian.org>
Wed, 20 Jul 2016 11:07:03 +0000 (12:07 +0100)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Fri, 12 Aug 2016 17:21:36 +0000 (18:21 +0100)
Signed-off-by: Simon McVittie <smcv@debian.org>
test/test-dbus-launch-eval.sh

index 7b464bf..289c548 100755 (executable)
@@ -42,7 +42,7 @@ else
     config="--sh-syntax"
 fi
 
-echo "1..1"
+echo "1..3"
 
 unset DBUS_SESSION_BUS_ADDRESS
 unset DBUS_SESSION_BUS_PID
@@ -62,3 +62,42 @@ ${DBUS_TEST_DBUS_SEND} --session --dest=org.freedesktop.DBus \
 kill "$DBUS_SESSION_BUS_PID"
 
 echo "ok 1 - normal dbus-launch"
+
+unset DBUS_SESSION_BUS_ADDRESS
+unset DBUS_SESSION_BUS_PID
+
+eval "$(${DBUS_TEST_DBUS_LAUNCH} --sh-syntax "$config" <&-)"
+
+test -n "$DBUS_SESSION_BUS_ADDRESS"
+env | grep '^DBUS_SESSION_BUS_ADDRESS='
+
+test -n "$DBUS_SESSION_BUS_PID"
+test "x$(env | grep '^DBUS_SESSION_BUS_PID=')" = "x"
+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-launch with stdin closed"
+
+unset DBUS_SESSION_BUS_ADDRESS
+unset DBUS_SESSION_BUS_PID
+
+# we can't close stdout because that breaks --sh-syntax
+eval "$(${DBUS_TEST_DBUS_LAUNCH} --sh-syntax "$config" <&- 2>&-)"
+
+test -n "$DBUS_SESSION_BUS_ADDRESS"
+env | grep '^DBUS_SESSION_BUS_ADDRESS='
+
+test -n "$DBUS_SESSION_BUS_PID"
+test "x$(env | grep '^DBUS_SESSION_BUS_PID=')" = "x"
+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-launch with stdin and stderr closed"