mirror of
https://github.com/troglobit/finit.git
synced 2026-11-10 16:31:21 +00:00
test: Move test support files to separate dir and keep tests in /test
Signed-off-by: Jacques de Laval <jacques@de-laval.se>
This commit is contained in:
1 parent
4aa17a84ab
commit
7fe1189f7b
15 files changed
+62
-65
No files matched your search
+1
-1
@@ -6,4 +6,4 @@
|
|||||||
|
|
||||||
/test.env
|
/test.env
|
||||||
/checkself.sh
|
/checkself.sh
|
||||||
/testenv-root
|
/tenv-root
|
||||||
+15
-15
@@ -1,16 +1,16 @@
|
|||||||
EXTRA_DIST = lib.sh testenv_exec.sh testenv_start.sh
|
EXTRA_DIST = tenv/lib.sh tenv/exec.sh tenv/start.sh
|
||||||
EXTRA_DIST += testenv-root.mk busybox-x86_64.md5
|
EXTRA_DIST += tenv/root.mk tenv/busybox-x86_64.md5
|
||||||
EXTRA_DIST += chrootsetup.sh
|
EXTRA_DIST += tenv/chrootsetup.sh
|
||||||
EXTRA_DIST += setup-root.sh
|
EXTRA_DIST += setup-root.sh
|
||||||
EXTRA_DIST += common/service.conf common/service.sh
|
EXTRA_DIST += common/service.conf common/service.sh
|
||||||
EXTRA_DIST += checkself.sh
|
EXTRA_DIST += checkself.sh
|
||||||
EXTRA_DIST += add-remove-dynamic-service/test.sh
|
EXTRA_DIST += add-remove-dynamic-service.sh
|
||||||
EXTRA_DIST += add-remove-dynamic-service-sub-config/test.sh
|
EXTRA_DIST += add-remove-dynamic-service-sub-config.sh
|
||||||
EXTRA_DIST += start-stop-service/test.sh
|
EXTRA_DIST += start-stop-service.sh
|
||||||
EXTRA_DIST += start-stop-service-sub-config/test.sh
|
EXTRA_DIST += start-stop-service-sub-config.sh
|
||||||
|
|
||||||
AM_TESTS_ENVIRONMENT = TESTENV_ROOT='$(abs_builddir)/testenv-root/';
|
AM_TESTS_ENVIRONMENT = TENV_ROOT='$(abs_builddir)/tenv-root/';
|
||||||
AM_TESTS_ENVIRONMENT += export TESTENV_ROOT;
|
AM_TESTS_ENVIRONMENT += export TENV_ROOT;
|
||||||
AM_TESTS_ENVIRONMENT += export LD_LIBRARY_PATH;
|
AM_TESTS_ENVIRONMENT += export LD_LIBRARY_PATH;
|
||||||
AM_TESTS_ENVIRONMENT += top_srcdir=$(top_srcdir);
|
AM_TESTS_ENVIRONMENT += top_srcdir=$(top_srcdir);
|
||||||
AM_TESTS_ENVIRONMENT += export top_srcdir;
|
AM_TESTS_ENVIRONMENT += export top_srcdir;
|
||||||
@@ -19,16 +19,16 @@ AM_TESTS_ENVIRONMENT += export top_builddir;
|
|||||||
|
|
||||||
checkself.sh:
|
checkself.sh:
|
||||||
echo '#!/bin/sh' > $@
|
echo '#!/bin/sh' > $@
|
||||||
echo shellcheck $(addprefix '"$$srcdir"'/,$(filter %$(TEST_EXTENSIONS),$(filter-out $@, $(EXTRA_DIST)))) >> $@
|
echo shellcheck $(addprefix '"$$srcdir"'/,$(filter %.sh,$(filter-out $@, $(EXTRA_DIST)))) >> $@
|
||||||
chmod +x $@
|
chmod +x $@
|
||||||
|
|
||||||
TEST_EXTENSIONS = .sh
|
TEST_EXTENSIONS = .sh
|
||||||
TESTS = checkself.sh
|
TESTS = checkself.sh
|
||||||
TESTS += setup-root.sh
|
TESTS += setup-root.sh
|
||||||
TESTS += add-remove-dynamic-service/test.sh
|
TESTS += add-remove-dynamic-service.sh
|
||||||
TESTS += add-remove-dynamic-service-sub-config/test.sh
|
TESTS += add-remove-dynamic-service-sub-config.sh
|
||||||
TESTS += start-stop-service/test.sh
|
TESTS += start-stop-service.sh
|
||||||
TESTS += start-stop-service-sub-config/test.sh
|
TESTS += start-stop-service-sub-config.sh
|
||||||
|
|
||||||
clean-local:
|
clean-local:
|
||||||
-rm -rf $(builddir)/testenv-root/
|
-rm -rf $(builddir)/tenv-root/
|
||||||
+3
-3
@@ -2,10 +2,10 @@
|
|||||||
|
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
TEST_DIR=$(dirname "$0")/..
|
TEST_DIR=$(dirname "$0")
|
||||||
|
|
||||||
# shellcheck source=/dev/null
|
# shellcheck source=/dev/null
|
||||||
. "$TEST_DIR/lib.sh"
|
. "$TEST_DIR/tenv/lib.sh"
|
||||||
|
|
||||||
test_teardown() {
|
test_teardown() {
|
||||||
say "Test done $(date)"
|
say "Test done $(date)"
|
||||||
@@ -17,7 +17,7 @@ test_teardown() {
|
|||||||
|
|
||||||
say "Test start $(date)"
|
say "Test start $(date)"
|
||||||
|
|
||||||
cp "$TEST_DIR"/common/service.sh "$TESTENV_ROOT"/test_assets/
|
cp "$TEST_DIR"/common/service.sh "$TENV_ROOT"/test_assets/
|
||||||
|
|
||||||
say "Add a dynamic service in $FINIT_RCSD/service.conf"
|
say "Add a dynamic service in $FINIT_RCSD/service.conf"
|
||||||
texec sh -c "echo 'service [2345] kill:20 log /test_assets/service.sh' > $FINIT_RCSD/service.conf"
|
texec sh -c "echo 'service [2345] kill:20 log /test_assets/service.sh' > $FINIT_RCSD/service.conf"
|
||||||
@@ -2,10 +2,10 @@
|
|||||||
|
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
TEST_DIR=$(dirname "$0")/..
|
TEST_DIR=$(dirname "$0")
|
||||||
|
|
||||||
# shellcheck source=/dev/null
|
# shellcheck source=/dev/null
|
||||||
. "$TEST_DIR/lib.sh"
|
. "$TEST_DIR/tenv/lib.sh"
|
||||||
|
|
||||||
test_teardown() {
|
test_teardown() {
|
||||||
say "Test done $(date)"
|
say "Test done $(date)"
|
||||||
@@ -17,7 +17,7 @@ test_teardown() {
|
|||||||
|
|
||||||
say "Test start $(date)"
|
say "Test start $(date)"
|
||||||
|
|
||||||
cp "$TEST_DIR"/common/service.sh "$TESTENV_ROOT"/test_assets/
|
cp "$TEST_DIR"/common/service.sh "$TENV_ROOT"/test_assets/
|
||||||
|
|
||||||
say "Add a dynamic service in $FINIT_CONF"
|
say "Add a dynamic service in $FINIT_CONF"
|
||||||
texec sh -c "echo 'service [2345] kill:20 log /test_assets/service.sh' > $FINIT_CONF"
|
texec sh -c "echo 'service [2345] kill:20 log /test_assets/service.sh' > $FINIT_CONF"
|
||||||
@@ -1 +0,0 @@
|
|||||||
ea7e2353af0067a926d3e021e504290e bin/busybox-x86_64
|
|
||||||
+2
-2
@@ -3,6 +3,6 @@
|
|||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
# shellcheck disable=SC2154
|
# shellcheck disable=SC2154
|
||||||
make -C "$top_builddir" DESTDIR="$TESTENV_ROOT" install
|
make -C "$top_builddir" DESTDIR="$TENV_ROOT" install
|
||||||
# shellcheck disable=SC2154
|
# shellcheck disable=SC2154
|
||||||
FINITBIN="$(pwd)/$top_builddir/src/finit" DEST="$TESTENV_ROOT" make -f "$srcdir/testenv-root.mk"
|
FINITBIN="$(pwd)/$top_builddir/src/finit" DEST="$TENV_ROOT" make -f "$srcdir/tenv/root.mk"
|
||||||
@@ -2,10 +2,10 @@
|
|||||||
|
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
TEST_DIR=$(dirname "$0")/..
|
TEST_DIR=$(dirname "$0")
|
||||||
|
|
||||||
# shellcheck source=/dev/null
|
# shellcheck source=/dev/null
|
||||||
. "$TEST_DIR/lib.sh"
|
. "$TEST_DIR/tenv/lib.sh"
|
||||||
|
|
||||||
test_teardown() {
|
test_teardown() {
|
||||||
say "Test done $(date)"
|
say "Test done $(date)"
|
||||||
@@ -17,7 +17,7 @@ test_teardown() {
|
|||||||
|
|
||||||
say "Test start $(date)"
|
say "Test start $(date)"
|
||||||
|
|
||||||
cp "$TEST_DIR"/common/service.sh "$TESTENV_ROOT"/test_assets/
|
cp "$TEST_DIR"/common/service.sh "$TENV_ROOT"/test_assets/
|
||||||
|
|
||||||
say "Add service stanza in $FINIT_RCSD/service.conf"
|
say "Add service stanza in $FINIT_RCSD/service.conf"
|
||||||
texec sh -c "echo 'service [2345] kill:20 log /test_assets/service.sh' > $FINIT_RCSD/service.conf"
|
texec sh -c "echo 'service [2345] kill:20 log /test_assets/service.sh' > $FINIT_RCSD/service.conf"
|
||||||
@@ -2,10 +2,10 @@
|
|||||||
|
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
TEST_DIR=$(dirname "$0")/..
|
TEST_DIR=$(dirname "$0")
|
||||||
|
|
||||||
# shellcheck source=/dev/null
|
# shellcheck source=/dev/null
|
||||||
. "$TEST_DIR/lib.sh"
|
. "$TEST_DIR/tenv/lib.sh"
|
||||||
|
|
||||||
test_teardown() {
|
test_teardown() {
|
||||||
say "Test done $(date)"
|
say "Test done $(date)"
|
||||||
@@ -17,7 +17,7 @@ test_teardown() {
|
|||||||
|
|
||||||
say "Test start $(date)"
|
say "Test start $(date)"
|
||||||
|
|
||||||
cp "$TEST_DIR"/common/service.sh "$TESTENV_ROOT"/test_assets/
|
cp "$TEST_DIR"/common/service.sh "$TENV_ROOT"/test_assets/
|
||||||
|
|
||||||
say "Add service stanza in $FINIT_CONF"
|
say "Add service stanza in $FINIT_CONF"
|
||||||
texec sh -c "echo 'service [2345] kill:20 log /test_assets/service.sh' > $FINIT_CONF"
|
texec sh -c "echo 'service [2345] kill:20 log /test_assets/service.sh' > $FINIT_CONF"
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
ea7e2353af0067a926d3e021e504290e busybox-x86_64
|
||||||
File renamed without changes.
@@ -10,7 +10,9 @@ else
|
|||||||
shift
|
shift
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PID_FILE=$(dirname "$0")/testenv-root/running_test.pid
|
TEST_DIR=$(dirname "$0")/..
|
||||||
|
TENV_ROOT="${TENV_ROOT:-$(pwd)/${TEST_DIR}/tenv-root}"
|
||||||
|
PID_FILE="$TENV_ROOT/running_test.pid"
|
||||||
|
|
||||||
if [ -f "$PID_FILE" ] ; then
|
if [ -f "$PID_FILE" ] ; then
|
||||||
target=$(cat "$PID_FILE")
|
target=$(cat "$PID_FILE")
|
||||||
@@ -20,7 +22,6 @@ else
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PATH="$TESTENV_PATH"
|
source "$TEST_DIR/test.env"
|
||||||
export PATH
|
|
||||||
|
|
||||||
"$(dirname "$0")"/testenv_exec.sh "$target" "$cmd" "$@"
|
"$(dirname "$0")"/exec.sh "$target" "$cmd" "$@"
|
||||||
@@ -10,8 +10,8 @@ fi
|
|||||||
target="$1"
|
target="$1"
|
||||||
shift
|
shift
|
||||||
|
|
||||||
TEST_DIR=$(dirname "$0")
|
TEST_DIR=$(dirname "$0"../)
|
||||||
TESTENV_ROOT="${TESTENV_ROOT:-$(pwd)/${TEST_DIR}/testenv-root}"
|
TENV_ROOT="${TENV_ROOT:-$(pwd)/${TEST_DIR}/tenv-root}"
|
||||||
|
|
||||||
nsenter=$(command -v nsenter)
|
nsenter=$(command -v nsenter)
|
||||||
chroot=$(command -v chroot)
|
chroot=$(command -v chroot)
|
||||||
@@ -33,4 +33,4 @@ export PATH
|
|||||||
--net \
|
--net \
|
||||||
--pid \
|
--pid \
|
||||||
-w -t "$target" \
|
-w -t "$target" \
|
||||||
"$chroot" "$TESTENV_ROOT" "$@"
|
"$chroot" "$TENV_ROOT" "$@"
|
||||||
@@ -6,7 +6,7 @@ assert_num_children() {
|
|||||||
|
|
||||||
texec() {
|
texec() {
|
||||||
# shellcheck disable=SC2154
|
# shellcheck disable=SC2154
|
||||||
"$TEST_DIR/testenv_exec.sh" "$finit_pid" "$@"
|
"$TEST_DIR/tenv/exec.sh" "$finit_pid" "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
pause() {
|
pause() {
|
||||||
@@ -25,7 +25,7 @@ fg_red='\e[1;31m'
|
|||||||
fg_green='\e[1;32m'
|
fg_green='\e[1;32m'
|
||||||
fg_yellow='\e[1;33m'
|
fg_yellow='\e[1;33m'
|
||||||
log() {
|
log() {
|
||||||
printf "< $TEST_NAME > %b%b%b %s\n" "$1" "$2" "$color_reset" "$3"
|
printf "< %s > %b%b%b %s\n" "$0" "$1" "$2" "$color_reset" "$3"
|
||||||
}
|
}
|
||||||
|
|
||||||
assert() {
|
assert() {
|
||||||
@@ -90,38 +90,30 @@ teardown() {
|
|||||||
|
|
||||||
wait
|
wait
|
||||||
|
|
||||||
if [ -d "$TESTENV_ROOT/var/lock" ]; then
|
if [ -d "$TENV_ROOT/var/lock" ]; then
|
||||||
chmod +r "$TESTENV_ROOT/var/lock"
|
chmod +r "$TENV_ROOT/var/lock"
|
||||||
fi
|
fi
|
||||||
rm -f "$TESTENV_ROOT"/running_test.pid
|
rm -f "$TENV_ROOT"/running_test.pid
|
||||||
}
|
}
|
||||||
|
|
||||||
trap teardown EXIT
|
trap teardown EXIT
|
||||||
|
|
||||||
TESTENV_ROOT="${TESTENV_ROOT:-$(pwd)/${TEST_DIR}/testenv-root}"
|
TENV_ROOT="${TENV_ROOT:-$(pwd)/${TEST_DIR}/tenv-root}"
|
||||||
export TESTENV_ROOT
|
export TENV_ROOT
|
||||||
|
|
||||||
# shellcheck source=/dev/null
|
# shellcheck source=/dev/null
|
||||||
. "$TESTENV_ROOT/../test.env"
|
. "$TENV_ROOT/../test.env"
|
||||||
|
|
||||||
TEST_NAME="$(dirname "$0")"
|
|
||||||
TEST_NAME=${TEST_NAME#*/}
|
|
||||||
export TEST_NAME
|
|
||||||
|
|
||||||
# Setup test environment
|
|
||||||
|
|
||||||
# Setup test environment
|
# Setup test environment
|
||||||
if [ -n "${DEBUG:-}" ]; then
|
if [ -n "${DEBUG:-}" ]; then
|
||||||
FINIT_ARGS="${FINIT_ARGS:-} finit.debug=on"
|
FINIT_ARGS="${FINIT_ARGS:-} finit.debug=on"
|
||||||
fi
|
fi
|
||||||
# shellcheck disable=2086
|
# shellcheck disable=2086
|
||||||
"$TEST_DIR/testenv_start.sh" finit ${FINIT_ARGS:-} &
|
"$TEST_DIR/tenv/start.sh" finit ${FINIT_ARGS:-} &
|
||||||
finit_ppid=$!
|
finit_ppid=$!
|
||||||
echo "$finit_ppid" > "$TESTENV_ROOT"/running_test.pid
|
echo "$finit_ppid" > "$TENV_ROOT"/running_test.pid
|
||||||
|
|
||||||
>&2 echo "Hint: Execute 'test/testenv_enter.sh' to enter the test namespace"
|
>&2 echo "Hint: Execute 'TENV_ROOT=$TENV_ROOT $TEST_DIR/tenv/enter.sh' to enter the test namespace"
|
||||||
>&2 echo "finit conf '$FINIT_CONF'"
|
|
||||||
>&2 echo "finit_conf dir '$FINIT_RCSD'"
|
|
||||||
log "$color_reset" 'Setup of test environment done' ''
|
log "$color_reset" 'Setup of test environment done' ''
|
||||||
|
|
||||||
finit_pid=$(retry "pgrep -P $finit_ppid")
|
finit_pid=$(retry "pgrep -P $finit_ppid")
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
.PHONY: clean check
|
.PHONY: clean check
|
||||||
|
|
||||||
DEST ?= ./testenv-root
|
DEST ?= ../tenv-root
|
||||||
srcdir ?= ./
|
srcdir ?= ../
|
||||||
|
|
||||||
ARCH ?= x86_64
|
ARCH ?= x86_64
|
||||||
|
|
||||||
@@ -49,13 +49,17 @@ all: $(dirs) $(binaries) $(libs) $(DEST)/bin/chrootsetup.sh
|
|||||||
$(dirs):
|
$(dirs):
|
||||||
mkdir -p $@
|
mkdir -p $@
|
||||||
|
|
||||||
$(DEST)/bin/$(BBBIN):
|
$(DEST)/bin/$(BBBIN).md5:
|
||||||
|
cp $(srcdir)/tenv/$(notdir $@) $@
|
||||||
|
|
||||||
|
$(DEST)/bin/$(BBBIN): $(DEST)/bin/$(BBBIN).md5
|
||||||
wget -O $@ $(BBURL)
|
wget -O $@ $(BBURL)
|
||||||
chmod +x $@
|
chmod +x $@
|
||||||
# md5sum -c $(BBBIN).md5
|
cd $(dir $@); \
|
||||||
|
md5sum -c $(BBBIN).md5
|
||||||
|
|
||||||
$(DEST)/bin/chrootsetup.sh:
|
$(DEST)/bin/chrootsetup.sh:
|
||||||
cp $(srcdir)/$(notdir $@) $@
|
cp $(srcdir)/tenv/$(notdir $@) $@
|
||||||
|
|
||||||
$(binaries): $(DEST)/bin/$(BBBIN)
|
$(binaries): $(DEST)/bin/$(BBBIN)
|
||||||
cd $(DEST)/bin; \
|
cd $(DEST)/bin; \
|
||||||
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
TEST_DIR=$(dirname "$0")
|
TEST_DIR=$(dirname "$0"../)
|
||||||
TESTENV_ROOT="${TESTENV_ROOT:-$(pwd)/${TEST_DIR}/testenv-root}"
|
TENV_ROOT="${TENV_ROOT:-$(pwd)/${TEST_DIR}/tenv-root}"
|
||||||
|
|
||||||
unshare=$(command -v unshare)
|
unshare=$(command -v unshare)
|
||||||
chroot=$(command -v chroot)
|
chroot=$(command -v chroot)
|
||||||
@@ -24,4 +24,4 @@ exec "$unshare" \
|
|||||||
--mount \
|
--mount \
|
||||||
--mount-proc \
|
--mount-proc \
|
||||||
--uts --ipc --net \
|
--uts --ipc --net \
|
||||||
"$chroot" "$TESTENV_ROOT" /bin/chrootsetup.sh "$@"
|
"$chroot" "$TENV_ROOT" /bin/chrootsetup.sh "$@"
|
||||||
Reference in new issue
Block a user