diff options
author | Lennart Poettering <lennart@poettering.net> | 2019-03-14 21:40:08 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2019-04-02 08:20:10 +0200 |
commit | 347da101944a249ccd17b2f6856546be32d6692d (patch) | |
tree | 2491e548d5bf04462d898dd619cd6a40a5678b30 | |
parent | efebb613c70e7b3a2870411732754a235373b3a5 (diff) | |
download | systemd-347da101944a249ccd17b2f6856546be32d6692d.tar.gz |
test: add tests for new .timer units
l--------- | test/TEST-30-ONCLOCKCHANGE/Makefile | 1 | ||||
-rwxr-xr-x | test/TEST-30-ONCLOCKCHANGE/test.sh | 53 | ||||
-rwxr-xr-x | test/TEST-30-ONCLOCKCHANGE/testsuite.sh | 33 |
3 files changed, 87 insertions, 0 deletions
diff --git a/test/TEST-30-ONCLOCKCHANGE/Makefile b/test/TEST-30-ONCLOCKCHANGE/Makefile new file mode 120000 index 0000000000..e9f93b1104 --- /dev/null +++ b/test/TEST-30-ONCLOCKCHANGE/Makefile @@ -0,0 +1 @@ +../TEST-01-BASIC/Makefile
\ No newline at end of file diff --git a/test/TEST-30-ONCLOCKCHANGE/test.sh b/test/TEST-30-ONCLOCKCHANGE/test.sh new file mode 100755 index 0000000000..25709410b9 --- /dev/null +++ b/test/TEST-30-ONCLOCKCHANGE/test.sh @@ -0,0 +1,53 @@ +#!/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="test OnClockChange= + OnTimezoneChange=" +TEST_NO_NSPAWN=1 + +. $TEST_BASE_DIR/test-functions + +test_setup() { + create_empty_image + mkdir -p $TESTDIR/root + mount ${LOOPDEV}p1 $TESTDIR/root + + ( + LOG_LEVEL=5 + eval $(udevadm info --export --query=env --name=${LOOPDEV}p2) + + inst_any /usr/share/zoneinfo/Europe/Kiev + inst_any /usr/share/zoneinfo/Europe/Berlin + + 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 + +[Service] +ExecStart=/testsuite.sh +Type=oneshot +StandardOutput=tty +StandardError=tty +NotifyAccess=all +EOF + cp testsuite.sh $initdir/ + + setup_testsuite + ) || return 1 + + ddebug "umount $TESTDIR/root" + umount $TESTDIR/root +} + +do_test "$@" diff --git a/test/TEST-30-ONCLOCKCHANGE/testsuite.sh b/test/TEST-30-ONCLOCKCHANGE/testsuite.sh new file mode 100755 index 0000000000..8ded85633a --- /dev/null +++ b/test/TEST-30-ONCLOCKCHANGE/testsuite.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh +set -ex +set -o pipefail + +systemd-analyze set-log-level debug +systemd-analyze set-log-target console + +systemctl disable --now systemd-timesyncd.service + +timedatectl set-timezone Europe/Berlin +timedatectl set-time 1980-10-15 + +systemd-run --on-timezone-change touch /tmp/timezone-changed +systemd-run --on-clock-change touch /tmp/clock-changed + +! test -f /tmp/timezone-changed +! test -f /tmp/clock-changed + +timedatectl set-timezone Europe/Kiev + +while ! test -f /tmp/timezone-changed ; do sleep .5 ; done + +timedatectl set-time 2018-1-1 + +while ! test -f /tmp/clock-changed ; do sleep .5 ; done + +systemd-analyze set-log-level info + +echo OK > /testok + +exit 0 |