mirror of
https://github.com/systemd/systemd.git
synced 2025-02-25 21:57:32 +03:00
test: add tests for networkctl edit/cat
This commit is contained in:
parent
96bab8fd63
commit
a3d975b240
@ -3,6 +3,7 @@
|
||||
set -e
|
||||
|
||||
TEST_DESCRIPTION="Tests for auxiliary utilities"
|
||||
NSPAWN_ARGUMENTS="--private-network"
|
||||
|
||||
# shellcheck source=test/test-functions
|
||||
. "${TEST_BASE_DIR:?}/test-functions"
|
||||
|
86
test/units/testsuite-74.networkctl.sh
Executable file
86
test/units/testsuite-74.networkctl.sh
Executable file
@ -0,0 +1,86 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
# shellcheck disable=SC2016
|
||||
set -eux
|
||||
set -o pipefail
|
||||
|
||||
# shellcheck source=test/units/util.sh
|
||||
. "$(dirname "$0")"/util.sh
|
||||
|
||||
at_exit() {
|
||||
systemctl stop systemd-networkd
|
||||
|
||||
if [[ -v NETWORK_NAME && -v NETDEV_NAME && -v LINK_NAME ]]; then
|
||||
rm -fvr {/usr/lib,/etc}/systemd/network/"$NETWORK_NAME" "/usr/lib/systemd/network/$NETDEV_NAME" \
|
||||
{/usr/lib,/etc}/systemd/network/"$LINK_NAME" "/etc/systemd/network/${NETWORK_NAME}.d" \
|
||||
"new" "+4"
|
||||
fi
|
||||
}
|
||||
|
||||
trap at_exit EXIT
|
||||
|
||||
export NETWORK_NAME="networkctl-test-$RANDOM.network"
|
||||
export NETDEV_NAME="networkctl-test-$RANDOM.netdev"
|
||||
export LINK_NAME="90-networkctl-test-$RANDOM.link"
|
||||
cat >"/usr/lib/systemd/network/$NETWORK_NAME" <<EOF
|
||||
[Match]
|
||||
Name=test
|
||||
EOF
|
||||
|
||||
# Test files
|
||||
networkctl cat "$NETWORK_NAME" | tail -n +2 | cmp - "/usr/lib/systemd/network/$NETWORK_NAME"
|
||||
|
||||
cat >new <<EOF
|
||||
[Match]
|
||||
Name=test2
|
||||
EOF
|
||||
|
||||
EDITOR='mv new' script -ec 'networkctl edit "$NETWORK_NAME"' /dev/null
|
||||
printf '%s\n' '[Match]' 'Name=test2' | cmp - "/etc/systemd/network/$NETWORK_NAME"
|
||||
|
||||
cat >"+4" <<EOF
|
||||
[Network]
|
||||
DHCP=yes
|
||||
EOF
|
||||
|
||||
EDITOR='cp' script -ec 'networkctl edit "$NETWORK_NAME" --drop-in test' /dev/null
|
||||
cmp "+4" "/etc/systemd/network/${NETWORK_NAME}.d/test.conf"
|
||||
|
||||
networkctl cat "$NETWORK_NAME" | grep '^# ' |
|
||||
cmp - <(printf '%s\n' "# /etc/systemd/network/$NETWORK_NAME" "# /etc/systemd/network/${NETWORK_NAME}.d/test.conf")
|
||||
|
||||
cat >"/usr/lib/systemd/network/$NETDEV_NAME" <<EOF
|
||||
[NetDev]
|
||||
Name=test2
|
||||
Kind=dummy
|
||||
EOF
|
||||
|
||||
networkctl cat "$NETDEV_NAME"
|
||||
|
||||
cat >"/usr/lib/systemd/network/$LINK_NAME" <<EOF
|
||||
[Match]
|
||||
OriginalName=test2
|
||||
|
||||
[Link]
|
||||
Alias=test_alias
|
||||
EOF
|
||||
|
||||
SYSTEMD_LOG_LEVEL=debug EDITOR='true' script -ec 'networkctl edit "$LINK_NAME"' /dev/null
|
||||
cmp "/usr/lib/systemd/network/$LINK_NAME" "/etc/systemd/network/$LINK_NAME"
|
||||
|
||||
# Test links
|
||||
systemctl unmask systemd-networkd
|
||||
systemctl stop systemd-networkd
|
||||
(! networkctl cat @test2)
|
||||
|
||||
systemctl start systemd-networkd
|
||||
sleep 1
|
||||
networkctl cat @test2:network | cmp - <(networkctl cat "$NETWORK_NAME")
|
||||
|
||||
EDITOR='cp' script -ec 'networkctl edit @test2 --drop-in test2.conf' /dev/null
|
||||
cmp "+4" "/etc/systemd/network/${NETWORK_NAME}.d/test2.conf"
|
||||
|
||||
ip_link="$(ip link show test2)"
|
||||
if systemctl --quiet is-active systemd-udevd; then
|
||||
assert_in 'alias test_alias' "$ip_link"
|
||||
fi
|
Loading…
x
Reference in New Issue
Block a user