55 lines
1.0 KiB
Bash
55 lines
1.0 KiB
Bash
set -e -x
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
findproc() {
|
|
set +x
|
|
find "/proc" -mindepth 2 -maxdepth 2 -name "exe" -lname "$PWD/$1" 2>"/dev/null" |
|
|
cut -d"/" -f"3"
|
|
set -x
|
|
}
|
|
|
|
for NAME in "legacy" "single"
|
|
do
|
|
cd "example/$NAME"
|
|
go build
|
|
./$NAME &
|
|
PID="$!"
|
|
[ "$PID" -a -d "/proc/$PID" ]
|
|
for _ in _ _
|
|
do
|
|
OLDPID="$PID"
|
|
sleep 1
|
|
kill -USR2 "$PID"
|
|
sleep 2
|
|
PID="$(findproc "$NAME")"
|
|
[ ! -d "/proc/$OLDPID" -a "$PID" -a -d "/proc/$PID" ]
|
|
done
|
|
[ "$(nc "127.0.0.1" "48879")" = "Hello, world!" ]
|
|
kill -TERM "$PID"
|
|
sleep 2
|
|
[ ! -d "/proc/$PID" ]
|
|
[ -z "$(findproc "$NAME")" ]
|
|
cd "$OLDPWD"
|
|
done
|
|
|
|
cd "example/double"
|
|
go build
|
|
./double &
|
|
PID="$!"
|
|
[ "$PID" -a -d "/proc/$PID" ]
|
|
for _ in _ _
|
|
do
|
|
sleep 1
|
|
kill -USR2 "$PID"
|
|
sleep 3
|
|
NEWPID="$(findproc "double")"
|
|
[ "$NEWPID" = "$PID" -a -d "/proc/$PID" ]
|
|
done
|
|
[ "$(nc "127.0.0.1" "48879")" = "Hello, world!" ]
|
|
kill -TERM "$PID"
|
|
sleep 3
|
|
[ ! -d "/proc/$PID" ]
|
|
[ -z "$(findproc "double")" ]
|
|
cd "$OLDPWD"
|