diff --git a/configure.ac b/configure.ac index beeac4e7..f2eb4988 100644 --- a/configure.ac +++ b/configure.ac @@ -12,6 +12,7 @@ AC_CONFIG_FILES([Makefile doc/Makefile plugins/Makefile src/Makefile + test/test.env test/Makefile]) # Older versions of autoconf (<2.58) do not have AC_CONFIG_MACRO_DIR() @@ -101,10 +102,12 @@ AC_ARG_WITH(heading, AC_ARG_WITH(config, AS_HELP_STRING([--with-config=CONFIG], [Finit bootstrap config file, default /etc/finit.conf]), [conf=$withval], [conf=$sysconfdir/finit.conf]) +AC_SUBST(FINIT_CONF, $conf) AC_ARG_WITH(rcsd, AS_HELP_STRING([--with-rcsd=DIR], [Finit rcS.d/ directory, default /etc/finit.d]), [rcsd=$withval], [rcsd=$sysconfdir/finit.d]) +AC_SUBST(FINIT_RCSD, $rcsd) AC_ARG_WITH(rc-local, AS_HELP_STRING([--with-rc-local=FILE], [SysV init /etc/rc.local file, default /etc/rc.local]), diff --git a/test/.gitignore b/test/.gitignore index 151cdadf..1eb95bc4 100644 --- a/test/.gitignore +++ b/test/.gitignore @@ -3,3 +3,5 @@ *.trs /Makefile /Makefile.in + +/test.env diff --git a/test/Makefile.am b/test/Makefile.am index 23c6de37..91a9bbc0 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1,7 +1,7 @@ EXTRA_DIST = lib.sh testenv_exec.sh testenv_start.sh EXTRA_DIST += test-root/Makefile test-root/busybox-x86_64.md5 EXTRA_DIST += test-root/bin/chrootsetup.sh -EXTRA_DIST += setup-root.sh teardown-root.sh +EXTRA_DIST += setup-root.sh EXTRA_DIST += common/service.conf common/service.sh EXTRA_DIST += checkself.sh EXTRA_DIST += add-remove-dynamic-service/test.sh @@ -12,8 +12,6 @@ EXTRA_DIST += start-stop-service-sub-config/test.sh AM_TESTS_ENVIRONMENT = TESTS_ROOT='$(abs_builddir)/test-root/'; AM_TESTS_ENVIRONMENT += export TESTS_ROOT; AM_TESTS_ENVIRONMENT += export LD_LIBRARY_PATH; -AM_TESTS_ENVIRONMENT += PREFIX=$(prefix); -AM_TESTS_ENVIRONMENT += export PREFIX; AM_TESTS_ENVIRONMENT += top_srcdir=$(top_srcdir); AM_TESTS_ENVIRONMENT += export top_srcdir; AM_TESTS_ENVIRONMENT += top_builddir=$(top_builddir); @@ -25,4 +23,6 @@ TESTS += add-remove-dynamic-service/test.sh TESTS += add-remove-dynamic-service-sub-config/test.sh TESTS += start-stop-service/test.sh TESTS += start-stop-service-sub-config/test.sh -TESTS += teardown-root.sh + +clean-local: + make -C test-root/ clean diff --git a/test/checkself.sh b/test/checkself.sh index b42091e9..8d75d8fb 100755 --- a/test/checkself.sh +++ b/test/checkself.sh @@ -5,4 +5,4 @@ set -eu testdir="${srcdir:-$(dirname "$0")}" # shellcheck disable=SC2046 -shellcheck $(find "$testdir" -name '*.sh') +shellcheck $(find "$testdir" -path "$testdir/test-root" -prune -false -o -name '*.sh') diff --git a/test/setup-root.sh b/test/setup-root.sh index e7c99427..ddc18df4 100755 --- a/test/setup-root.sh +++ b/test/setup-root.sh @@ -12,9 +12,4 @@ fi # shellcheck disable=SC2154 make -C "$top_builddir" DESTDIR="$(pwd)/test-root/" install -FINITBIN="$(pwd)/$top_builddir/src/finit" make -C test-root/ # DESTDIR="$(pwd)/test-root/" -config_h="$top_builddir/config.h" -echo "export TESTENV_PATH=/bin:/sbin:$PREFIX/sbin:$PREFIX/bin" > test.env - -echo "export FINIT_CONF=$(grep FINIT_CONF "$config_h" | cut -d' ' -f3 | cut -d'"' -f2)" >> test.env -echo "export FINIT_RCSD=$(grep FINIT_RCSD "$config_h" | cut -d' ' -f3 | cut -d'"' -f2)" >> test.env +FINITBIN="$(pwd)/$top_builddir/src/finit" make -C test-root/ diff --git a/test/teardown-root.sh b/test/teardown-root.sh deleted file mode 100755 index 664c481c..00000000 --- a/test/teardown-root.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -set -eu - -make -C test-root/ clean -rm -f test.env diff --git a/test/test.env.in b/test/test.env.in new file mode 100644 index 00000000..356e06df --- /dev/null +++ b/test/test.env.in @@ -0,0 +1,6 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ + +export TESTENV_PATH=/bin:/sbin:"@bindir@":"@sbindir@" +export FINIT_CONF="@FINIT_CONF@" +export FINIT_RCSD="@FINIT_RCSD@"