|  | #!/bin/bash | 
|  | # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- | 
|  | # ex: ts=8 sw=4 sts=4 et filetype=sh | 
|  | set -e | 
|  | TEST_DESCRIPTION="Journal-related tests" | 
|  |  | 
|  | . $TEST_BASE_DIR/test-functions | 
|  |  | 
|  | test_setup() { | 
|  | create_empty_image | 
|  | mkdir -p $TESTDIR/root | 
|  | mount ${LOOPDEV}p1 $TESTDIR/root | 
|  |  | 
|  | # Create what will eventually be our root filesystem onto an overlay | 
|  | ( | 
|  | LOG_LEVEL=5 | 
|  | eval $(udevadm info --export --query=env --name=${LOOPDEV}p2) | 
|  |  | 
|  | setup_basic_environment | 
|  |  | 
|  | # mask some services that we do not want to run in these tests | 
|  | ln -fs /dev/null $initdir/etc/systemd/system/systemd-hwdb-update.service | 
|  | ln -fs /dev/null $initdir/etc/systemd/system/systemd-journal-catalog-update.service | 
|  | ln -fs /dev/null $initdir/etc/systemd/system/systemd-networkd.service | 
|  | ln -fs /dev/null $initdir/etc/systemd/system/systemd-networkd.socket | 
|  | ln -fs /dev/null $initdir/etc/systemd/system/systemd-resolved.service | 
|  | ln -fs /dev/null $initdir/etc/systemd/system/systemd-machined.service | 
|  |  | 
|  | # setup the testsuite service | 
|  | cat >$initdir/etc/systemd/system/testsuite.service <<EOF | 
|  | [Unit] | 
|  | Description=Testsuite service | 
|  | After=multi-user.target | 
|  |  | 
|  | [Service] | 
|  | ExecStart=/test-journal.sh | 
|  | Type=oneshot | 
|  | EOF | 
|  |  | 
|  | cat >$initdir/etc/systemd/system/forever-print-hola.service <<EOF | 
|  | [Unit] | 
|  | Description=ForeverPrintHola service | 
|  |  | 
|  | [Service] | 
|  | Type=simple | 
|  | ExecStart=/bin/sh -x -c 'while :; do printf "Hola\n" || touch /i-lose-my-logs; sleep 1; done' | 
|  | EOF | 
|  |  | 
|  | cp test-journal.sh $initdir/ | 
|  |  | 
|  | setup_testsuite | 
|  | ) || return 1 | 
|  | setup_nspawn_root | 
|  |  | 
|  | ddebug "umount $TESTDIR/root" | 
|  | umount $TESTDIR/root | 
|  | } | 
|  |  | 
|  | do_test "$@" |