#!/usr/bin/env bash # SPDX-License-Identifier: LGPL-2.1-or-later set -e TEST_DESCRIPTION="Tests for systemd-resolved" TEST_NO_QEMU=1 NSPAWN_ARGUMENTS="--private-network" # shellcheck source=test/test-functions . "${TEST_BASE_DIR:?}/test-functions" test_require_bin knotd # We need at least Knot 3.0 which support (among others) the ds-push directive if ! knotc -c "${TEST_BASE_DIR:?}/knot-data/knot.conf" conf-check; then echo "This test requires at least Knot 3.0. skipping..." exit 0 fi test_append_files() { local workspace="${1:?}" # Install knot image_install kzonecheck keymgr kjournalprint knotc knotd image_install "${ROOTLIBDIR:?}/system/knot.service" image_install -o /lib/tmpfiles.d/knot.conf image_install -o /etc/dbus-1/system.d/cz.nic.knotd.conf image_install -o /etc/default/knot # Copy over our configuration mkdir -p "${workspace:?}/var/lib/knot/zones/" "${workspace:?}/etc/knot/" cp -rfv "${TEST_BASE_DIR:?}"/knot-data/zones/* "$workspace/var/lib/knot/zones/" cp -fv "${TEST_BASE_DIR:?}/knot-data/knot.conf" "$workspace/etc/knot/knot.conf" chgrp -R knot "$workspace/etc/knot/" "$workspace/var/lib/knot/" chmod -R ug+rwX "$workspace/var/lib/knot/" chmod -R g+r "$workspace/etc/knot/" # Install DNS-related utilities (usually found in the bind-utils package) image_install delv dig host nslookup if command -v nft >/dev/null; then # Install nftables image_install nft fi } do_test "$@"