QA output created by 036
=== success cases ===
--- echo ---
__pmProcessExec: argc=2 toss=0 "/bin/echo" "blah;trickme"
blah;trickme
__pmProcessExec: pid=PID wait_pid=PID exit=0
__pmProcessExec -> 0
--- /bin/sh -c ---
__pmProcessExec: argc=3 toss=0 "/bin/sh" "-c" "echo 'f o o'; kill -TERM $$; sleep 1; echo b\ a\ r"
f o o
__pmProcessExec: pid=PID wait_pid=PID signal=15
__pmProcessExec -> 1015 signal=15
--- pipe in ---
__pmProcessPipe: argc=3 type="r" toss=0 "echo" "hullo" "world"
__pmProcessPipe(..., "r", ...) -> 0
--- start pipe output ---
hullo world
--- end ---
__pmProcessPipeClose: pid=PID wait_pid=PID exit=0
__pmProcessPipeClose() -> 0
--- pipe out ---
__pmProcessPipe: argc=2 type="w" toss=0 "od" "-c"
__pmProcessPipe(..., "w", ...) -> 0
--- start pipe input ---
hello other world
--- end ---
0000000 h e l l o o t h e r w o r l
0000020 d \n
0000022
__pmProcessPipeClose: pid=PID wait_pid=PID exit=0
__pmProcessPipeClose() -> 0
---  exec and executable not on $PATH ---
__pmProcessExec: argc=5 toss=0 "TMP.sh" "blah;trickme|foo" "cat" "and" "dog"
my arg echoer ...
[0] TMP.sh
[1] blah;trickme|foo
[2] cat
[3] and
[4] dog
__pmProcessExec: pid=PID wait_pid=PID exit=0
__pmProcessExec -> 0
---  popen and executable not on $PATH ---
__pmProcessPipe: argc=5 type="r" toss=0 "TMP.sh" "blah;trickme|foo" "cat" "and" "dog"
__pmProcessPipe(..., "r", ...) -> 0
--- start pipe output ---
my arg echoer ...
[0] TMP.sh
[1] blah;trickme|foo
[2] cat
[3] and
[4] dog
--- end ---
__pmProcessPipeClose: pid=PID wait_pid=PID exit=0
__pmProcessPipeClose() -> 0

=== error and failure cases ===
__pmProcessExec: argc=4 toss=0 "/a/b/c" "-f" "oo" "bar"
__pmProcessExec: pid=PID wait_pid=PID exit=127
__pmProcessExec -> 127 exit=127
