[ovs-dev] [PATCH] tests: Check that parent process ID changes

James Page james.page at ubuntu.com
Thu Jun 20 21:31:52 UTC 2013


On Ubuntu Saucy based desktops, upstart runs with user sessions
enabled which means that the init process under which a daemon
might run is not always pid = 1.

Instead of checking for pid = 1, check to ensure that the parent
pid of the monitor is not the pid of the shell that started it.

Signed-off-by: James Page <james.page at ubuntu.com>
---
 tests/daemon-py.at | 4 ++--
 tests/daemon.at    | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/tests/daemon-py.at b/tests/daemon-py.at
index 39ab3cc..9bc7810 100644
--- a/tests/daemon-py.at
+++ b/tests/daemon-py.at
@@ -142,7 +142,7 @@ CHECK([kill -0 `cat daemon`])
 CHECK([ps -o ppid= -p `cat daemon` > monitor])
 CHECK([kill -0 `cat monitor`])
 CHECK([ps -o ppid= -p `cat monitor` > init])
-CHECK([test `cat init` = 1])
+CHECK([test `cat init` != $$])
 # Kill the daemon process, making it look like a segfault,
 # and wait for a new daemon process to get spawned.
 CHECK([cp daemon olddaemon])
@@ -159,7 +159,7 @@ CHECK([ps -o ppid= -p `cat daemon` > newmonitor])
 CHECK([diff monitor newmonitor])
 CHECK([kill -0 `cat newmonitor`])
 CHECK([ps -o ppid= -p `cat newmonitor` > init])
-CHECK([test `cat init` = 1])
+CHECK([test `cat init` != $$])
 # Kill the daemon process with SIGTERM, and wait for the daemon
 # and the monitor processes to go away and the pidfile to get deleted.
 CHECK([kill `cat daemon`], [0], [], [ignore])
diff --git a/tests/daemon.at b/tests/daemon.at
index a80cd3e..7c30e10 100644
--- a/tests/daemon.at
+++ b/tests/daemon.at
@@ -104,7 +104,7 @@ CHECK([kill -0 `cat daemon`])
 CHECK([ps -o ppid= -p `cat daemon` > monitor])
 CHECK([kill -0 `cat monitor`])
 CHECK([ps -o ppid= -p `cat monitor` > init])
-CHECK([test `cat init` = 1])
+CHECK([test `cat init` != $$])
 # Kill the daemon process, making it look like a segfault,
 # and wait for a new daemon process to get spawned.
 CHECK([cp daemon olddaemon])
@@ -121,7 +121,7 @@ CHECK([ps -o ppid= -p `cat daemon` > newmonitor])
 CHECK([diff monitor newmonitor])
 CHECK([kill -0 `cat newmonitor`])
 CHECK([ps -o ppid= -p `cat newmonitor` > init])
-CHECK([test `cat init` = 1])
+CHECK([test `cat init` != $$])
 # Kill the daemon process with SIGTERM, and wait for the daemon
 # and the monitor processes to go away and the pidfile to get deleted.
 CHECK([kill `cat daemon`], [0], [], [ignore])
-- 
1.8.3.1




More information about the dev mailing list