test: convert test/ to use meson install

Automatic rebuilding is removed: it doesn't play well with ninja, because
ninja always writes logs, and even if nothing needs to be built, it will
make the log file owned by root. So let's just remove this, and say that
the user must always do the build first.

I'm also keeping make for the tests, because ninja doesn't play well with
sudo.

Since the build directory is arbitrary, it needs to be specified, e.g.
  sudo make BUILD_DIR=/home/zbyszek/src/systemd/build1 -C test/TEST-01-BASIC/
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2017-07-01 12:01:30 -04:00
parent e5f752082e
commit 209f4b9e33
4 changed files with 8 additions and 31 deletions

View File

@ -1,10 +1,2 @@
all:
@make -s --no-print-directory -C ../.. all
@basedir=../.. TEST_BASE_DIR=../ ./test.sh --all
setup:
@make --no-print-directory -C ../.. all
@basedir=../.. TEST_BASE_DIR=../ ./test.sh --setup
clean:
@basedir=../.. TEST_BASE_DIR=../ ./test.sh --clean
run:
@basedir=../.. TEST_BASE_DIR=../ ./test.sh --run
all setup clean run:
@basedir=../.. TEST_BASE_DIR=../ ./test.sh --$@

View File

@ -1,11 +1,5 @@
all:
@make -s --no-print-directory -C ../.. all
@basedir=../.. TEST_BASE_DIR=../ ./test.sh --all
setup:
@make --no-print-directory -C ../.. all
@basedir=../.. TEST_BASE_DIR=../ ./test.sh --setup
all setup run:
@basedir=../.. TEST_BASE_DIR=../ ./test.sh --$@
clean:
@basedir=../.. TEST_BASE_DIR=../ ./test.sh --clean
@rm -f has-overflow
run:
@basedir=../.. TEST_BASE_DIR=../ ./test.sh --run

View File

@ -1,10 +0,0 @@
all:
@make -s --no-print-directory -C ../.. all
@basedir=../.. TEST_BASE_DIR=../ ./test.sh --all
setup:
@make --no-print-directory -C ../.. all
@basedir=../.. TEST_BASE_DIR=../ ./test.sh --setup
clean:
@basedir=../.. TEST_BASE_DIR=../ ./test.sh --clean
run:
@basedir=../.. TEST_BASE_DIR=../ ./test.sh --run

View File

@ -0,0 +1 @@
../TEST-01-BASIC/Makefile

View File

@ -155,7 +155,7 @@ $KERNEL_APPEND \
run_nspawn() {
[[ -d /run/systemd/system ]] || return 1
local _nspawn_cmd="../../systemd-nspawn --register=no --kill-signal=SIGKILL --directory=$TESTDIR/nspawn-root $ROOTLIBDIR/systemd $KERNEL_APPEND"
local _nspawn_cmd="$BUILD_DIR/systemd-nspawn --register=no --kill-signal=SIGKILL --directory=$TESTDIR/nspawn-root $ROOTLIBDIR/systemd $KERNEL_APPEND"
if [[ "$NSPAWN_TIMEOUT" != "infinity" ]]; then
_nspawn_cmd="timeout --foreground $NSPAWN_TIMEOUT $_nspawn_cmd"
fi
@ -317,7 +317,7 @@ install_dmevent() {
install_systemd() {
# install compiled files
(cd $TEST_BASE_DIR/..; set -x; make DESTDIR=$initdir install)
(set -x; DESTDIR=$initdir ninja -C $BUILD_DIR install)
# remove unneeded documentation
rm -fr $initdir/usr/share/{man,doc}
# we strip binaries since debug symbols increase binaries size a lot
@ -396,7 +396,7 @@ EOF
install_execs() {
ddebug "install any Execs from the service files"
(
export PKG_CONFIG_PATH=$TEST_BASE_DIR/../src/core/
export PKG_CONFIG_PATH=$BUILD_DIR/src/core/
systemdsystemunitdir=$(pkg-config --variable=systemdsystemunitdir systemd)
systemduserunitdir=$(pkg-config --variable=systemduserunitdir systemd)
egrep -ho '^Exec[^ ]*=[^ ]+' $initdir/{$systemdsystemunitdir,$systemduserunitdir}/*.service \