diff --git a/test/Makefile.am b/test/Makefile.am index 366e8c7c..97ac7333 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -32,6 +32,7 @@ EXTRA_DIST += initctl-status-subset.sh EXTRA_DIST += notify.sh EXTRA_DIST += pidfile.sh EXTRA_DIST += pre-post-serv.sh +EXTRA_DIST += rclocal.sh EXTRA_DIST += ready-serv.sh EXTRA_DIST += restart-self.sh EXTRA_DIST += runlevel.sh @@ -70,6 +71,7 @@ TESTS += initctl-status-subset.sh TESTS += notify.sh TESTS += pidfile.sh TESTS += pre-post-serv.sh +TESTS += rclocal.sh TESTS += ready-serv.sh TESTS += restart-self.sh TESTS += runlevel.sh diff --git a/test/lib/setup.sh b/test/lib/setup.sh index 2fb11242..6b1f6822 100755 --- a/test/lib/setup.sh +++ b/test/lib/setup.sh @@ -291,6 +291,11 @@ if [ -n "$BOOTSTRAP" ]; then say "Setting up bootstrap tasks ..." echo "$BOOTSTRAP" > "$SYSROOT$FINIT_CONF" fi +if [ -n "$RCLOCAL" ]; then + say "Setting up /etc/rc.local ..." + echo "$RCLOCAL" > "$SYSROOT/etc/rc.local" + chmod +x "$SYSROOT/etc/rc.local" +fi set -u # shellcheck disable=2086 diff --git a/test/rclocal.sh b/test/rclocal.sh new file mode 100755 index 00000000..79993459 --- /dev/null +++ b/test/rclocal.sh @@ -0,0 +1,27 @@ +#!/bin/sh +# Regression test for basic /etc/rc.local functionality +set -eu + +TEST_DIR=$(dirname "$0") +#DEBUG=1 +# shellcheck disable=SC2034 +RCLOCAL="echo 'KILROY WAS HERE' > /tmp/rclocal" + +# shellcheck source=/dev/null +. "$TEST_DIR/lib/setup.sh" + +test_setup() +{ + say "Test start $(date)" +} + +test_teardown() +{ + say "Test done $(date)" + run "rm -f $SYSROOT/etc/rc.local" +} + +sleep 1 +assert_file_contains /tmp/rclocal "KILROY WAS HERE" + +exit 0