mirror of
https://github.com/troglobit/finit.git
synced 2026-10-18 10:59:34 +00:00
Add a new test that verifies that Finit will: - Start a service that's been added to the config - Stop the service once it's removed from the config The second step is currently failing. Signed-off-by: Jacques de Laval <jacques@de-laval.se>
53 lines
666 B
Bash
Executable File
53 lines
666 B
Bash
Executable File
#!/bin/sh
|
|
|
|
set -eu
|
|
|
|
texec() {
|
|
./testenv_exec.sh $(pgrep -P $finit_ppid) "$@"
|
|
}
|
|
|
|
fg_red='31'
|
|
fg_green='32'
|
|
fg_yellow='33'
|
|
log() {
|
|
printf "< TEST > \e[1;%dm%s\e[0m %s\n" "$1" "$2" "$3"
|
|
}
|
|
|
|
assert() {
|
|
msg=$1
|
|
shift
|
|
if [ ! "$@" ]; then
|
|
log "$fg_red" ✘ "$msg"
|
|
exit 1
|
|
fi
|
|
log "$fg_green" ✔ "$msg"
|
|
}
|
|
|
|
say() {
|
|
log "$fg_yellow" ● "$@"
|
|
}
|
|
|
|
teardown() {
|
|
texec kill 1
|
|
|
|
wait
|
|
}
|
|
|
|
trap teardown EXIT
|
|
|
|
# Setup
|
|
./testenv_start.sh finit &
|
|
finit_ppid=$!
|
|
for i in $(seq 1 50); do
|
|
sleep 0.1
|
|
finit_pid=$(pgrep -P "$finit_ppid") || continue
|
|
break
|
|
done
|
|
|
|
texec cat /dev/tty0 &
|
|
sleep 1
|
|
|
|
TEST_DIR=$(dirname $1)
|
|
|
|
source "$1"
|