mirror of
https://github.com/troglobit/finit.git
synced 2026-09-30 13:02:37 +07: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
-1
@@ -6,4 +6,4 @@
|
||||
|
||||
/test.env
|
||||
/checkself.sh
|
||||
/testenv-root
|
||||
/tenv-root
|
||||
|
||||
+15
-15
@@ -1,16 +1,16 @@
|
||||
EXTRA_DIST = lib.sh testenv_exec.sh testenv_start.sh
|
||||
EXTRA_DIST += testenv-root.mk busybox-x86_64.md5
|
||||
EXTRA_DIST += chrootsetup.sh
|
||||
EXTRA_DIST = tenv/lib.sh tenv/exec.sh tenv/start.sh
|
||||
EXTRA_DIST += tenv/root.mk tenv/busybox-x86_64.md5
|
||||
EXTRA_DIST += tenv/chrootsetup.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
|
||||
EXTRA_DIST += add-remove-dynamic-service-sub-config/test.sh
|
||||
EXTRA_DIST += start-stop-service/test.sh
|
||||
EXTRA_DIST += start-stop-service-sub-config/test.sh
|
||||
EXTRA_DIST += add-remove-dynamic-service.sh
|
||||
EXTRA_DIST += add-remove-dynamic-service-sub-config.sh
|
||||
EXTRA_DIST += start-stop-service.sh
|
||||
EXTRA_DIST += start-stop-service-sub-config.sh
|
||||
|
||||
AM_TESTS_ENVIRONMENT = TESTENV_ROOT='$(abs_builddir)/testenv-root/';
|
||||
AM_TESTS_ENVIRONMENT += export TESTENV_ROOT;
|
||||
AM_TESTS_ENVIRONMENT = TENV_ROOT='$(abs_builddir)/tenv-root/';
|
||||
AM_TESTS_ENVIRONMENT += export TENV_ROOT;
|
||||
AM_TESTS_ENVIRONMENT += export LD_LIBRARY_PATH;
|
||||
AM_TESTS_ENVIRONMENT += top_srcdir=$(top_srcdir);
|
||||
AM_TESTS_ENVIRONMENT += export top_srcdir;
|
||||
@@ -19,16 +19,16 @@ AM_TESTS_ENVIRONMENT += export top_builddir;
|
||||
|
||||
checkself.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 $@
|
||||
|
||||
TEST_EXTENSIONS = .sh
|
||||
TESTS = checkself.sh
|
||||
TESTS += setup-root.sh
|
||||
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 += add-remove-dynamic-service.sh
|
||||
TESTS += add-remove-dynamic-service-sub-config.sh
|
||||
TESTS += start-stop-service.sh
|
||||
TESTS += start-stop-service-sub-config.sh
|
||||
|
||||
clean-local:
|
||||
-rm -rf $(builddir)/testenv-root/
|
||||
-rm -rf $(builddir)/tenv-root/
|
||||
|
||||
+3
-3
@@ -2,10 +2,10 @@
|
||||
|
||||
set -eu
|
||||
|
||||
TEST_DIR=$(dirname "$0")/..
|
||||
TEST_DIR=$(dirname "$0")
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
. "$TEST_DIR/lib.sh"
|
||||
. "$TEST_DIR/tenv/lib.sh"
|
||||
|
||||
test_teardown() {
|
||||
say "Test done $(date)"
|
||||
@@ -17,7 +17,7 @@ test_teardown() {
|
||||
|
||||
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"
|
||||
texec sh -c "echo 'service [2345] kill:20 log /test_assets/service.sh' > $FINIT_RCSD/service.conf"
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
set -eu
|
||||
|
||||
TEST_DIR=$(dirname "$0")/..
|
||||
TEST_DIR=$(dirname "$0")
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
. "$TEST_DIR/lib.sh"
|
||||
. "$TEST_DIR/tenv/lib.sh"
|
||||
|
||||
test_teardown() {
|
||||
say "Test done $(date)"
|
||||
@@ -17,7 +17,7 @@ test_teardown() {
|
||||
|
||||
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"
|
||||
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
|
||||
|
||||
# shellcheck disable=SC2154
|
||||
make -C "$top_builddir" DESTDIR="$TESTENV_ROOT" install
|
||||
make -C "$top_builddir" DESTDIR="$TENV_ROOT" install
|
||||
# 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
|
||||
|
||||
TEST_DIR=$(dirname "$0")/..
|
||||
TEST_DIR=$(dirname "$0")
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
. "$TEST_DIR/lib.sh"
|
||||
. "$TEST_DIR/tenv/lib.sh"
|
||||
|
||||
test_teardown() {
|
||||
say "Test done $(date)"
|
||||
@@ -17,7 +17,7 @@ test_teardown() {
|
||||
|
||||
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"
|
||||
texec sh -c "echo 'service [2345] kill:20 log /test_assets/service.sh' > $FINIT_RCSD/service.conf"
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
set -eu
|
||||
|
||||
TEST_DIR=$(dirname "$0")/..
|
||||
TEST_DIR=$(dirname "$0")
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
. "$TEST_DIR/lib.sh"
|
||||
. "$TEST_DIR/tenv/lib.sh"
|
||||
|
||||
test_teardown() {
|
||||
say "Test done $(date)"
|
||||
@@ -17,7 +17,7 @@ test_teardown() {
|
||||
|
||||
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"
|
||||
texec sh -c "echo 'service [2345] kill:20 log /test_assets/service.sh' > $FINIT_CONF"
|
||||
@@ -0,0 +1 @@
|
||||
ea7e2353af0067a926d3e021e504290e busybox-x86_64
|
||||
@@ -10,7 +10,9 @@ else
|
||||
shift
|
||||
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
|
||||
target=$(cat "$PID_FILE")
|
||||
@@ -20,7 +22,6 @@ else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PATH="$TESTENV_PATH"
|
||||
export PATH
|
||||
source "$TEST_DIR/test.env"
|
||||
|
||||
"$(dirname "$0")"/testenv_exec.sh "$target" "$cmd" "$@"
|
||||
"$(dirname "$0")"/exec.sh "$target" "$cmd" "$@"
|
||||
@@ -10,8 +10,8 @@ fi
|
||||
target="$1"
|
||||
shift
|
||||
|
||||
TEST_DIR=$(dirname "$0")
|
||||
TESTENV_ROOT="${TESTENV_ROOT:-$(pwd)/${TEST_DIR}/testenv-root}"
|
||||
TEST_DIR=$(dirname "$0"../)
|
||||
TENV_ROOT="${TENV_ROOT:-$(pwd)/${TEST_DIR}/tenv-root}"
|
||||
|
||||
nsenter=$(command -v nsenter)
|
||||
chroot=$(command -v chroot)
|
||||
@@ -33,4 +33,4 @@ export PATH
|
||||
--net \
|
||||
--pid \
|
||||
-w -t "$target" \
|
||||
"$chroot" "$TESTENV_ROOT" "$@"
|
||||
"$chroot" "$TENV_ROOT" "$@"
|
||||
@@ -6,7 +6,7 @@ assert_num_children() {
|
||||
|
||||
texec() {
|
||||
# shellcheck disable=SC2154
|
||||
"$TEST_DIR/testenv_exec.sh" "$finit_pid" "$@"
|
||||
"$TEST_DIR/tenv/exec.sh" "$finit_pid" "$@"
|
||||
}
|
||||
|
||||
pause() {
|
||||
@@ -25,7 +25,7 @@ fg_red='\e[1;31m'
|
||||
fg_green='\e[1;32m'
|
||||
fg_yellow='\e[1;33m'
|
||||
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() {
|
||||
@@ -90,38 +90,30 @@ teardown() {
|
||||
|
||||
wait
|
||||
|
||||
if [ -d "$TESTENV_ROOT/var/lock" ]; then
|
||||
chmod +r "$TESTENV_ROOT/var/lock"
|
||||
if [ -d "$TENV_ROOT/var/lock" ]; then
|
||||
chmod +r "$TENV_ROOT/var/lock"
|
||||
fi
|
||||
rm -f "$TESTENV_ROOT"/running_test.pid
|
||||
rm -f "$TENV_ROOT"/running_test.pid
|
||||
}
|
||||
|
||||
trap teardown EXIT
|
||||
|
||||
TESTENV_ROOT="${TESTENV_ROOT:-$(pwd)/${TEST_DIR}/testenv-root}"
|
||||
export TESTENV_ROOT
|
||||
TENV_ROOT="${TENV_ROOT:-$(pwd)/${TEST_DIR}/tenv-root}"
|
||||
export TENV_ROOT
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
. "$TESTENV_ROOT/../test.env"
|
||||
|
||||
TEST_NAME="$(dirname "$0")"
|
||||
TEST_NAME=${TEST_NAME#*/}
|
||||
export TEST_NAME
|
||||
|
||||
# Setup test environment
|
||||
. "$TENV_ROOT/../test.env"
|
||||
|
||||
# Setup test environment
|
||||
if [ -n "${DEBUG:-}" ]; then
|
||||
FINIT_ARGS="${FINIT_ARGS:-} finit.debug=on"
|
||||
fi
|
||||
# shellcheck disable=2086
|
||||
"$TEST_DIR/testenv_start.sh" finit ${FINIT_ARGS:-} &
|
||||
"$TEST_DIR/tenv/start.sh" finit ${FINIT_ARGS:-} &
|
||||
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 "finit conf '$FINIT_CONF'"
|
||||
>&2 echo "finit_conf dir '$FINIT_RCSD'"
|
||||
>&2 echo "Hint: Execute 'TENV_ROOT=$TENV_ROOT $TEST_DIR/tenv/enter.sh' to enter the test namespace"
|
||||
log "$color_reset" 'Setup of test environment done' ''
|
||||
|
||||
finit_pid=$(retry "pgrep -P $finit_ppid")
|
||||
@@ -1,7 +1,7 @@
|
||||
.PHONY: clean check
|
||||
|
||||
DEST ?= ./testenv-root
|
||||
srcdir ?= ./
|
||||
DEST ?= ../tenv-root
|
||||
srcdir ?= ../
|
||||
|
||||
ARCH ?= x86_64
|
||||
|
||||
@@ -49,13 +49,17 @@ all: $(dirs) $(binaries) $(libs) $(DEST)/bin/chrootsetup.sh
|
||||
$(dirs):
|
||||
mkdir -p $@
|
||||
|
||||
$(DEST)/bin/$(BBBIN):
|
||||
$(DEST)/bin/$(BBBIN).md5:
|
||||
cp $(srcdir)/tenv/$(notdir $@) $@
|
||||
|
||||
$(DEST)/bin/$(BBBIN): $(DEST)/bin/$(BBBIN).md5
|
||||
wget -O $@ $(BBURL)
|
||||
chmod +x $@
|
||||
# md5sum -c $(BBBIN).md5
|
||||
cd $(dir $@); \
|
||||
md5sum -c $(BBBIN).md5
|
||||
|
||||
$(DEST)/bin/chrootsetup.sh:
|
||||
cp $(srcdir)/$(notdir $@) $@
|
||||
cp $(srcdir)/tenv/$(notdir $@) $@
|
||||
|
||||
$(binaries): $(DEST)/bin/$(BBBIN)
|
||||
cd $(DEST)/bin; \
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
set -eu
|
||||
|
||||
TEST_DIR=$(dirname "$0")
|
||||
TESTENV_ROOT="${TESTENV_ROOT:-$(pwd)/${TEST_DIR}/testenv-root}"
|
||||
TEST_DIR=$(dirname "$0"../)
|
||||
TENV_ROOT="${TENV_ROOT:-$(pwd)/${TEST_DIR}/tenv-root}"
|
||||
|
||||
unshare=$(command -v unshare)
|
||||
chroot=$(command -v chroot)
|
||||
@@ -24,4 +24,4 @@ exec "$unshare" \
|
||||
--mount \
|
||||
--mount-proc \
|
||||
--uts --ipc --net \
|
||||
"$chroot" "$TESTENV_ROOT" /bin/chrootsetup.sh "$@"
|
||||
"$chroot" "$TENV_ROOT" /bin/chrootsetup.sh "$@"
|
||||
Reference in New Issue
Block a user