53 lines
1.3 KiB
Text
53 lines
1.3 KiB
Text
__no_system_clock_control() {
|
|
if ! dpkg-vendor --derives-from Ubuntu; then
|
|
sed -i '/^DAEMON_OPTS=/s/"\(.*\)"/"\1 -x"/' /etc/default/chrony
|
|
mkdir -p /etc/systemd/system/chrony.service.d
|
|
cat <<EOF > /etc/systemd/system/chrony.service.d/override.conf
|
|
[Unit]
|
|
ConditionCapability=
|
|
EOF
|
|
systemctl daemon-reload
|
|
fi
|
|
}
|
|
|
|
__test_fail() {
|
|
printf 'FAIL\n' >&2
|
|
return 1
|
|
}
|
|
|
|
__test_ok() {
|
|
printf 'OK\n'
|
|
return 0
|
|
}
|
|
|
|
__test_skip() {
|
|
[ -n "$1" ] && printf 'SKIP: (%s)\n' "$1" || printf 'SKIP\n'
|
|
exit 77
|
|
}
|
|
|
|
__reload_sources() {
|
|
chronyc reload sources > /dev/null 2>&1 && __test_ok || __test_fail
|
|
}
|
|
|
|
__restart_chronyd() {
|
|
systemctl --quiet restart chrony.service
|
|
rc=$?
|
|
sleep 3
|
|
return $rc
|
|
}
|
|
|
|
__check_sources() {
|
|
chronyc sources | grep -q "$1" && __test_ok || __test_fail
|
|
}
|
|
|
|
__check_auth() {
|
|
chronyc -c authdata | grep -q "$1" && __test_ok || __test_fail
|
|
}
|
|
|
|
# Ubuntu's default config is fully populated causing issues with the test
|
|
# If any of those tests run on Ubuntu, clear some and restart the daemon
|
|
# to pick this up before entering the tests.
|
|
if grep -q "^pool.*ubuntu.pool.ntp.org" /etc/chrony/chrony.conf; then
|
|
sudo sed -i -e '/^pool.*ubuntu.pool.ntp.org/d' /etc/chrony/chrony.conf
|
|
__restart_chronyd
|
|
fi
|