mirror of
https://github.com/troglobit/finit.git
synced 2026-10-08 16:34:45 +07:00
test/devmon.sh: new test
Issue #185 Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
@@ -23,6 +23,7 @@ EXTRA_DIST += add-remove-dynamic-service-sub-config.sh
|
||||
EXTRA_DIST += cond-start-task.sh
|
||||
EXTRA_DIST += crashing.sh
|
||||
EXTRA_DIST += depserv.sh
|
||||
EXTRA_DIST += devmon.sh
|
||||
EXTRA_DIST += failing-sysv.sh
|
||||
EXTRA_DIST += global-envs.sh
|
||||
EXTRA_DIST += initctl-status-subset.sh
|
||||
@@ -57,6 +58,7 @@ TESTS += add-remove-dynamic-service-sub-config.sh
|
||||
TESTS += cond-start-task.sh
|
||||
TESTS += crashing.sh
|
||||
TESTS += depserv.sh
|
||||
TESTS += devmon.sh
|
||||
TESTS += failing-sysv.sh
|
||||
TESTS += global-envs.sh
|
||||
TESTS += initctl-status-subset.sh
|
||||
|
||||
Executable
+67
@@ -0,0 +1,67 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Verify device monitor (built-in plugin)
|
||||
#
|
||||
|
||||
set -eu
|
||||
|
||||
TEST_DIR=$(dirname "$0")
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
. "$TEST_DIR/tenv/lib.sh"
|
||||
|
||||
test_setup()
|
||||
{
|
||||
say "Test start $(date)"
|
||||
}
|
||||
|
||||
test_teardown()
|
||||
{
|
||||
say "Test done $(date)"
|
||||
say "Running test teardown."
|
||||
|
||||
texec rm -f "$FINIT_CONF" "/tmp/post"
|
||||
}
|
||||
|
||||
# Cannot run mknod as non-root even in a chroot
|
||||
# touch is close enough for our needs
|
||||
mkdev()
|
||||
{
|
||||
dir=$(dirname "$1")
|
||||
run "mkdir -p $dir"
|
||||
run "touch $1"
|
||||
}
|
||||
|
||||
rmdev()
|
||||
{
|
||||
run "rm $1"
|
||||
}
|
||||
|
||||
test_one()
|
||||
{
|
||||
cond="$1"
|
||||
node="/$cond"
|
||||
|
||||
say "Checking cond $cond and device $node ..."
|
||||
run "echo service log:null \<$cond\> serv -np >> $FINIT_CONF"
|
||||
run "cat $FINIT_CONF"
|
||||
run "initctl reload"
|
||||
|
||||
assert_status "serv" "waiting"
|
||||
|
||||
mkdev "$node"
|
||||
assert_status "serv" "running"
|
||||
|
||||
rmdev "$node"
|
||||
assert_status "serv" "waiting"
|
||||
|
||||
say "Cleaning up ..."
|
||||
run "rm $FINIT_CONF"
|
||||
run "initctl reload"
|
||||
}
|
||||
|
||||
sep
|
||||
test_one "dev/fbsplash"
|
||||
sep
|
||||
test_one "dev/subdir/42"
|
||||
sep
|
||||
@@ -121,6 +121,11 @@ log()
|
||||
printf "\e[2m[%s]\e[0m %b%b%b %s\n" "$test" "$1" "$2" "$color_reset" "$3"
|
||||
}
|
||||
|
||||
sep()
|
||||
{
|
||||
printf "\e[2m――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――\e[0m\n"
|
||||
}
|
||||
|
||||
say()
|
||||
{
|
||||
log "$fg_yellow" • "$@"
|
||||
|
||||
Reference in New Issue
Block a user