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:
Jacques de Laval
2021-02-27 14:50:49 +01:00
parent 4aa17a84ab
commit 7fe1189f7b
15 changed files with 62 additions and 65 deletions
+1 -1
View File
@@ -6,4 +6,4 @@
/test.env
/checkself.sh
/testenv-root
/tenv-root
+15 -15
View File
@@ -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/
@@ -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
View File
@@ -1 +0,0 @@
ea7e2353af0067a926d3e021e504290e bin/busybox-x86_64
+2 -2
View File
@@ -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"
+1
View File
@@ -0,0 +1 @@
ea7e2353af0067a926d3e021e504290e busybox-x86_64
+5 -4
View File
@@ -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" "$@"
+3 -3
View File
@@ -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" "$@"
+11 -19
View File
@@ -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")
+9 -5
View File
@@ -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; \
+3 -3
View File
@@ -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 "$@"