test: Fix testenv-root lingering in build dir

Signed-off-by: Jacques de Laval <jacques@de-laval.se>
This commit is contained in:
Jacques de Laval
2021-02-26 15:35:07 +01:00
parent 6b7ae50fbb
commit 2f439194e5
12 changed files with 80 additions and 125 deletions
+1
View File
@@ -6,3 +6,4 @@
/test.env
/checkself.sh
/testenv-root
+4 -5
View File
@@ -1,6 +1,6 @@
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 += testenv-root.mk busybox-x86_64.md5
EXTRA_DIST += chrootsetup.sh
EXTRA_DIST += setup-root.sh
EXTRA_DIST += common/service.conf common/service.sh
EXTRA_DIST += checkself.sh
@@ -9,7 +9,7 @@ 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
AM_TESTS_ENVIRONMENT = TESTENV_ROOT='$(abs_builddir)/test-root/';
AM_TESTS_ENVIRONMENT = TESTENV_ROOT='$(abs_builddir)/testenv-root/';
AM_TESTS_ENVIRONMENT += export TESTENV_ROOT;
AM_TESTS_ENVIRONMENT += export LD_LIBRARY_PATH;
AM_TESTS_ENVIRONMENT += top_srcdir=$(top_srcdir);
@@ -31,5 +31,4 @@ TESTS += start-stop-service/test.sh
TESTS += start-stop-service-sub-config/test.sh
clean-local:
make -C test-root/ clean
-rm checkself.sh
-rm -rf $(builddir)/testenv-root/
+2 -2
View File
@@ -91,14 +91,14 @@ teardown() {
wait
if [ -d "$TESTENV_ROOT/var/lock" ]; then
chmod +r test-root/var/lock
chmod +r "$TESTENV_ROOT/var/lock"
fi
rm -f "$TESTENV_ROOT"/running_test.pid
}
trap teardown EXIT
TESTENV_ROOT="${TESTENV_ROOT:-$(pwd)/${TEST_DIR}/test-root}"
TESTENV_ROOT="${TESTENV_ROOT:-$(pwd)/${TEST_DIR}/testenv-root}"
export TESTENV_ROOT
# shellcheck source=/dev/null
+3 -10
View File
@@ -2,14 +2,7 @@
set -eu
if [ ! -d test-root ]; then
mkdir -p test-root/bin
# shellcheck disable=SC2154
cp "${srcdir}/test-root/bin/chrootsetup.sh" test-root/bin
cp "${srcdir}/test-root/busybox-x86_64.md5" test-root/
cp "${srcdir}/test-root/Makefile" test-root/
fi
# shellcheck disable=SC2154
make -C "$top_builddir" DESTDIR="$(pwd)/test-root/" install
FINITBIN="$(pwd)/$top_builddir/src/finit" make -C test-root/
make -C "$top_builddir" DESTDIR="$TESTENV_ROOT" install
# shellcheck disable=SC2154
FINITBIN="$(pwd)/$top_builddir/src/finit" DEST="$TESTENV_ROOT" make -f "$srcdir/testenv-root.mk"
-32
View File
@@ -1,32 +0,0 @@
/bin/busybox-x86_64
/bin/cat
/bin/cp
/bin/date
/bin/echo
/bin/env
/bin/find
/bin/initctl
/bin/kill
/bin/ls
/bin/mkdir
/bin/mkfifo
/bin/mknod
/bin/mount
/bin/pgrep
/bin/printf
/bin/ps
/bin/rm
/bin/sh
/bin/sleep
/bin/top
/bin/touch
/dev
/etc
/lib64
/proc
/sbin
/sys
/test_assets
/tmp
/usr
/var
-73
View File
@@ -1,73 +0,0 @@
.PHONY: clean check
ARCH ?= x86_64
FINITBIN ?= ./sbin/finit
BBVER ?= 1.31.0
BBBIN = busybox-$(ARCH)
BBURL ?= https://www.busybox.net/downloads/binaries/$(BBVER)-defconfig-multiarch-musl/$(BBBIN)
binaries = ./bin/cat \
./bin/cp \
./bin/date \
./bin/echo \
./bin/env \
./bin/find \
./bin/kill \
./bin/ls \
./bin/mkdir \
./bin/mkfifo \
./bin/mknod \
./bin/mount \
./bin/printf \
./bin/pgrep \
./bin/ps \
./bin/rm \
./bin/sh \
./bin/sleep \
./bin/top \
./bin/touch
dirs = ./dev \
./etc \
./proc \
./sbin \
./sys \
./test_assets \
./tmp
_libs_src = $(shell ldd $(FINITBIN) | grep -Eo '/[^ ]+')
libs = $(foreach path,$(_libs_src),.$(path))
all: $(binaries) $(dirs) $(libs)
$(dirs):
mkdir -p $@
./bin/$(BBBIN):
wget -O $@ $(BBURL)
chmod +x ./bin/$(BBBIN)
md5sum -c $(BBBIN).md5
$(binaries): ./bin/$(BBBIN)
cd ./bin; \
rm -f $(notdir $@); \
ln -s $(BBBIN) $(notdir $@)
$(libs):
mkdir -p $(dir $@)
cp /$@ $@
clean:
rm -f ./bin/$(BBBIN)
rm -rf $(binaries)
rm -rf ./dev
rm -rf ./etc
rm -rf ./lib64
rm -rf ./proc
rm -rf ./sbin
rm -rf ./sys
rm -rf ./test_assets
rm -rf ./tmp
rm -rf ./usr
rm -rf ./var
+67
View File
@@ -0,0 +1,67 @@
.PHONY: clean check
DEST ?= ./testenv-root
srcdir ?= ./
ARCH ?= x86_64
FINITBIN ?= ./sbin/finit
BBVER ?= 1.31.0
BBBIN = busybox-$(ARCH)
BBURL ?= https://www.busybox.net/downloads/binaries/$(BBVER)-defconfig-multiarch-musl/$(BBBIN)
binaries = $(DEST)/bin/cat \
$(DEST)/bin/cp \
$(DEST)/bin/date \
$(DEST)/bin/echo \
$(DEST)/bin/env \
$(DEST)/bin/find \
$(DEST)/bin/kill \
$(DEST)/bin/ls \
$(DEST)/bin/mkdir \
$(DEST)/bin/mkfifo \
$(DEST)/bin/mknod \
$(DEST)/bin/mount \
$(DEST)/bin/printf \
$(DEST)/bin/pgrep \
$(DEST)/bin/ps \
$(DEST)/bin/rm \
$(DEST)/bin/sh \
$(DEST)/bin/sleep \
$(DEST)/bin/top \
$(DEST)/bin/touch
dirs = $(DEST)/bin \
$(DEST)/dev \
$(DEST)/etc \
$(DEST)/proc \
$(DEST)/sbin \
$(DEST)/sys \
$(DEST)/test_assets \
$(DEST)/tmp
_libs_src = $(shell ldd $(FINITBIN) | grep -Eo '/[^ ]+')
libs = $(foreach path,$(_libs_src),$(abspath $(DEST))$(path))
all: $(dirs) $(binaries) $(libs) $(DEST)/bin/chrootsetup.sh
$(dirs):
mkdir -p $@
$(DEST)/bin/$(BBBIN):
wget -O $@ $(BBURL)
chmod +x $@
# md5sum -c $(BBBIN).md5
$(DEST)/bin/chrootsetup.sh:
cp $(srcdir)/$(notdir $@) $@
$(binaries): $(DEST)/bin/$(BBBIN)
cd $(DEST)/bin; \
rm -f $(notdir $@); \
ln -s $(BBBIN) $(notdir $@)
$(libs):
mkdir -p $(dir $@)
cp $(patsubst $(abspath $(DEST))%,%,$@) $@
+1 -1
View File
@@ -10,7 +10,7 @@ else
shift
fi
PID_FILE=$(dirname "$0")/test-root/running_test.pid
PID_FILE=$(dirname "$0")/testenv-root/running_test.pid
if [ -f "$PID_FILE" ] ; then
target=$(cat "$PID_FILE")
+1 -1
View File
@@ -11,7 +11,7 @@ target="$1"
shift
TEST_DIR=$(dirname "$0")
TESTENV_ROOT="${TESTENV_ROOT:-$(pwd)/${TEST_DIR}/test-root}"
TESTENV_ROOT="${TESTENV_ROOT:-$(pwd)/${TEST_DIR}/testenv-root}"
nsenter=$(command -v nsenter)
chroot=$(command -v chroot)
+1 -1
View File
@@ -3,7 +3,7 @@
set -eu
TEST_DIR=$(dirname "$0")
TESTENV_ROOT="${TESTENV_ROOT:-$(pwd)/${TEST_DIR}/test-root}"
TESTENV_ROOT="${TESTENV_ROOT:-$(pwd)/${TEST_DIR}/testenv-root}"
unshare=$(command -v unshare)
chroot=$(command -v chroot)