summaryrefslogtreecommitdiffstats
path: root/test/units/testsuite-71.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test/units/testsuite-71.sh')
-rwxr-xr-xtest/units/testsuite-71.sh228
1 files changed, 0 insertions, 228 deletions
diff --git a/test/units/testsuite-71.sh b/test/units/testsuite-71.sh
deleted file mode 100755
index da765a9..0000000
--- a/test/units/testsuite-71.sh
+++ /dev/null
@@ -1,228 +0,0 @@
-#!/usr/bin/env bash
-# SPDX-License-Identifier: LGPL-2.1-or-later
-
-set -eux
-set -o pipefail
-
-# shellcheck source=test/units/test-control.sh
-. "$(dirname "$0")"/test-control.sh
-# shellcheck source=test/units/util.sh
-. "$(dirname "$0")"/util.sh
-
-restore_hostname() {
- if [[ -e /tmp/hostname.bak ]]; then
- mv /tmp/hostname.bak /etc/hostname
- else
- rm -f /etc/hostname
- fi
-}
-
-testcase_hostname() {
- local orig=
-
- if [[ -f /etc/hostname ]]; then
- cp /etc/hostname /tmp/hostname.bak
- orig=$(cat /etc/hostname)
- fi
-
- trap restore_hostname RETURN
-
- # should activate daemon and work
- if [[ -n "$orig" ]]; then
- assert_in "Static hostname: $orig" "$(hostnamectl)"
- fi
- assert_in "Kernel: $(uname -s) $(uname -r)" "$(hostnamectl)"
-
- # change hostname
- assert_rc 0 hostnamectl set-hostname testhost
- assert_eq "$(cat /etc/hostname)" "testhost"
- assert_in "Static hostname: testhost" "$(hostnamectl)"
-
- if [[ -n "$orig" ]]; then
- # reset to original
- assert_rc 0 hostnamectl set-hostname "$orig"
- assert_eq "$(cat /etc/hostname)" "$orig"
- assert_in "Static hostname: $orig" "$(hostnamectl)"
- fi
-}
-
-restore_machine_info() {
- if [[ -e /tmp/machine-info.bak ]]; then
- mv /tmp/machine-info.bak /etc/machine-info
- else
- rm -f /etc/machine-info
- fi
-}
-
-get_chassis() (
- # shellcheck source=/dev/null
- . /etc/machine-info
-
- echo "$CHASSIS"
-)
-
-testcase_chassis() {
- local i
-
- if [[ -f /etc/machine-info ]]; then
- cp /etc/machine-info /tmp/machine-info.bak
- fi
-
- trap restore_machine_info RETURN
-
- # Invalid chassis type is refused
- assert_rc 1 hostnamectl chassis hoge
-
- # Valid chassis types
- for i in vm container desktop laptop convertible server tablet handset watch embedded; do
- hostnamectl chassis "$i"
- assert_eq "$(hostnamectl chassis)" "$i"
- assert_eq "$(get_chassis)" "$i"
- done
-
- systemctl stop systemd-hostnamed.service
- rm -f /etc/machine-info
-
- # fallback chassis type
- if systemd-detect-virt --quiet --container; then
- assert_eq "$(hostnamectl chassis)" container
- elif systemd-detect-virt --quiet --vm; then
- assert_eq "$(hostnamectl chassis)" vm
- fi
-}
-
-restore_sysfs_dmi() {
- umount /sys/class/dmi/id
- rm -rf /run/systemd/system/systemd-hostnamed.service.d
- systemctl daemon-reload
- systemctl stop systemd-hostnamed
-}
-
-testcase_firmware_date() {
- # No DMI on s390x or ppc
- if [[ ! -d /sys/class/dmi/id ]]; then
- echo "/sys/class/dmi/id not found, skipping firmware date tests."
- return 0
- fi
-
- trap restore_sysfs_dmi RETURN
-
- # Ignore /sys being mounted as tmpfs
- mkdir -p /run/systemd/system/systemd-hostnamed.service.d/
- cat >/run/systemd/system/systemd-hostnamed.service.d/override.conf <<EOF
-[Service]
-Environment="SYSTEMD_DEVICE_VERIFY_SYSFS=0"
-Environment="SYSTEMD_HOSTNAME_FORCE_DMI=1"
-EOF
- systemctl daemon-reload
-
- mount -t tmpfs none /sys/class/dmi/id
- echo '1' >/sys/class/dmi/id/uevent
-
- echo '09/08/2000' >/sys/class/dmi/id/bios_date
- systemctl stop systemd-hostnamed
- assert_in '2000-09-08' "$(hostnamectl)"
-
- echo '2022' >/sys/class/dmi/id/bios_date
- systemctl stop systemd-hostnamed
- assert_not_in 'Firmware Date' "$(hostnamectl)"
-
- echo 'garbage' >/sys/class/dmi/id/bios_date
- systemctl stop systemd-hostnamed
- assert_not_in 'Firmware Date' "$(hostnamectl)"
-}
-
-testcase_nss-myhostname() {
- local database host i
-
- HOSTNAME="$(hostnamectl hostname)"
-
- # Set up a dummy network for _gateway and _outbound labels
- ip link add foo type dummy
- ip link set up dev foo
- ip addr add 10.0.0.2/24 dev foo
- for i in {128..150}; do
- ip addr add "10.0.0.$i/24" dev foo
- done
- ip route add 10.0.0.1 dev foo
- ip route add default via 10.0.0.1 dev foo
-
- # Note: `getent hosts` probes gethostbyname2(), whereas `getent ahosts` probes gethostbyname3()
- # and gethostbyname4() (through getaddrinfo() -> gaih_inet() -> get_nss_addresses())
- getent hosts -s myhostname
- getent ahosts -s myhostname
-
- # With IPv6 disabled
- sysctl -w net.ipv6.conf.all.disable_ipv6=1
- # Everything under .localhost and .localhost.localdomain should resolve to localhost
- for host in {foo.,foo.bar.baz.,.,}localhost{,.} {foo.,foo.bar.baz.,.,}localhost.localdomain{,.}; do
- run_and_grep "^127\.0\.0\.1\s+localhost$" getent hosts -s myhostname "$host"
- run_and_grep "^127\.0\.0\.1\s+STREAM\s+localhost" getent ahosts -s myhostname "$host"
- run_and_grep "^127\.0\.0\.1\s+STREAM\s+localhost" getent ahostsv4 -s myhostname "$host"
- (! getent ahostsv6 -s myhostname localhost)
- done
- for i in 2 {128..150}; do
- run_and_grep "^10\.0\.0\.$i\s+$HOSTNAME$" getent hosts -s myhostname "$HOSTNAME"
- run_and_grep "^10\.0\.0\.$i\s+" getent ahosts -s myhostname "$HOSTNAME"
- run_and_grep "^10\.0\.0\.$i\s+" getent ahostsv4 -s myhostname "$HOSTNAME"
- run_and_grep "^10\.0\.0\.$i\s+$HOSTNAME$" getent hosts -s myhostname "10.0.0.$i"
- run_and_grep "^10\.0\.0\.$i\s+STREAM\s+10\.0\.0\.$i$" getent ahosts -s myhostname "10.0.0.$i"
- run_and_grep "^10\.0\.0\.$i\s+STREAM\s+10\.0\.0\.$i$" getent ahostsv4 -s myhostname "10.0.0.$i"
- done
- for database in hosts ahosts ahostsv4 ahostsv6; do
- (! getent "$database" -s myhostname ::1)
- done
- (! getent ahostsv6 -s myhostname "$HOSTNAME")
- run_and_grep -n "^fe80:[^ ]+\s+STREAM$" getent ahosts -s myhostname "$HOSTNAME"
-
- # With IPv6 enabled
- sysctl -w net.ipv6.conf.all.disable_ipv6=0
- # Everything under .localhost and .localhost.localdomain should resolve to localhost
- for host in {foo.,foo.bar.baz.,.,}localhost{,.} {foo.,foo.bar.baz.,.,}localhost.localdomain{,.}; do
- run_and_grep "^::1\s+localhost$" getent hosts -s myhostname "$host"
- run_and_grep "^::1\s+STREAM" getent ahosts -s myhostname "$host"
- run_and_grep "^127\.0\.0\.1\s+STREAM" getent ahosts -s myhostname "$host"
- run_and_grep "^127\.0\.0\.1\s+STREAM" getent ahostsv4 -s myhostname "$host"
- run_and_grep -n "^::1\s+STREAM" getent ahostsv4 -s myhostname "$host"
- run_and_grep "^::1\s+STREAM" getent ahostsv6 -s myhostname "$host"
- run_and_grep -n "^127\.0\.0\.1\s+STREAM" getent ahostsv6 -s myhostname "$host"
- done
- for i in 2 {128..150}; do
- run_and_grep "^10\.0\.0\.$i\s+" getent ahosts -s myhostname "$HOSTNAME"
- run_and_grep "^10\.0\.0\.$i\s+" getent ahostsv4 -s myhostname "$HOSTNAME"
- run_and_grep "^10\.0\.0\.$i\s+STREAM\s+10\.0\.0\.$i$" getent ahosts -s myhostname "10.0.0.$i"
- run_and_grep "^10\.0\.0\.$i\s+STREAM\s+10\.0\.0\.$i$" getent ahostsv4 -s myhostname "10.0.0.$i"
- done
- run_and_grep "^fe80:[^ ]+\s+$HOSTNAME$" getent hosts -s myhostname "$HOSTNAME"
- run_and_grep "^fe80:[^ ]+\s+STREAM" getent ahosts -s myhostname "$HOSTNAME"
- run_and_grep "^127\.0\.0\.1\s+localhost$" getent hosts -s myhostname 127.0.0.1
- run_and_grep "^127\.0\.0\.1\s+STREAM\s+127\.0\.0\.1$" getent ahosts -s myhostname 127.0.0.1
- run_and_grep "^::ffff:127\.0\.0\.1\s+STREAM\s+127\.0\.0\.1$" getent ahostsv6 -s myhostname 127.0.0.1
- run_and_grep "^127\.0\.0\.2\s+$HOSTNAME$" getent hosts -s myhostname 127.0.0.2
- run_and_grep "^::1\s+localhost $HOSTNAME$" getent hosts -s myhostname ::1
- run_and_grep "^::1\s+STREAM\s+::1$" getent ahosts -s myhostname ::1
- (! getent ahostsv4 -s myhostname ::1)
-
- # _gateway
- for host in _gateway{,.} 10.0.0.1; do
- run_and_grep "^10\.0\.0\.1\s+_gateway$" getent hosts -s myhostname "$host"
- run_and_grep "^10\.0\.0\.1\s+STREAM" getent ahosts -s myhostname "$host"
- done
-
- # _outbound
- for host in _outbound{,.} 10.0.0.2; do
- run_and_grep "^10\.0\.0\.2\s+" getent hosts -s myhostname "$host"
- run_and_grep "^10\.0\.0\.2\s+STREAM" getent ahosts -s myhostname "$host"
- done
-
- # Non-existent records
- for database in hosts ahosts ahostsv4 ahostsv6; do
- (! getent "$database" -s myhostname this.should.not.exist)
- done
- (! getent hosts -s myhostname 10.254.254.1)
- (! getent hosts -s myhostname fd00:dead:beef:cafe::1)
-}
-
-run_testcases
-
-touch /testok