1#!/bin/sh
2rm -rf "${ctmp}"
3
4runsv
5echo $?
6
7mkdir "${ctmp}"
8echo '#!/bin/sh' >"${ctmp}"/run
9echo 'echo starting' >>"${ctmp}"/run
10echo 'exec sleep 14' >>"${ctmp}"/run
11chmod 700 "${ctmp}"/run
12runsv "${ctmp}" &
13sleep 1
14test -r "${ctmp}"/supervise/stat || sleep 2
15cat "${ctmp}"/supervise/stat
16mkdir -p "${ctmp}"/control
17echo '#!/bin/sh' >"${ctmp}"/control/t
18echo 'echo term' >>"${ctmp}"/control/t
19echo 'exit 1' >>"${ctmp}"/control/t
20chmod 700 "${ctmp}"/control/t
21echo t >"${ctmp}"/supervise/control
22sleep 2
23echo x >"${ctmp}"/supervise/control
24wait
25echo $?
26
27mkdir "${ctmp}"/log
28echo '#!/bin/sh' >"${ctmp}"/log/run
29echo 'exec cat >foo' >>"${ctmp}"/log/run
30chmod 700 "${ctmp}"/log/run
31runsv "${ctmp}" &
32sleep 1
33test -r "${ctmp}"/log/supervise/stat || sleep 2
34mkdir -p "${ctmp}"/control
35echo '#!/bin/sh' >"${ctmp}"/control/i
36echo 'echo no interrupt' >>"${ctmp}"/control/i
37echo 'exit 0' >>"${ctmp}"/control/i
38chmod 700 "${ctmp}"/control/i
39echo i >"${ctmp}"/supervise/control
40sleep 1
41echo x >"${ctmp}"/supervise/control
42wait
43echo $?
44cat "${ctmp}"/log/foo
45
46rm -rf "${ctmp}"/supervise
47rm -rf "${ctmp}"/log/supervise
48rm -f "${ctmp}"/log/foo
49ln -s foo "${ctmp}"/supervise
50ln -s bar "${ctmp}"/log/supervise
51runsv "${ctmp}" &
52sleep 1
53test -r "${ctmp}"/supervise/stat || sleep 2
54test -r "${ctmp}"/log/supervise/stat || sleep 2
55echo x >"${ctmp}"/foo/control
56wait
57echo $?
58cat "${ctmp}"/log/foo
59rm -rf "${ctmp}"
60