From: Yu Watanabe Date: Wed, 17 Jan 2024 01:55:35 +0000 (+0900) Subject: test-13-NSPAWN: add more test case for passing network interfaces X-Git-Tag: v256-rc1~1103^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F30956%2Fhead;p=thirdparty%2Fsystemd.git test-13-NSPAWN: add more test case for passing network interfaces - test interface renaming that conflicts with the current alternative network interface name, - test passing wlan interfaces. --- diff --git a/test/TEST-13-NSPAWN/test.sh b/test/TEST-13-NSPAWN/test.sh index 2e94156432b..28d845c94bd 100755 --- a/test/TEST-13-NSPAWN/test.sh +++ b/test/TEST-13-NSPAWN/test.sh @@ -13,6 +13,10 @@ test_append_files() { local workspace="${1:?}" local container="$workspace/testsuite-13-container-template" + # For virtual wlan interface. + instmods mac80211_hwsim + generate_module_dependencies + # Create a dummy container "template" with a minimal toolset, which we can # then use as a base for our nspawn/machinectl tests initdir="$container" setup_basic_dirs diff --git a/test/units/testsuite-13.nspawn.sh b/test/units/testsuite-13.nspawn.sh index 8a6fa84dc96..e984d585ca0 100755 --- a/test/units/testsuite-13.nspawn.sh +++ b/test/units/testsuite-13.nspawn.sh @@ -324,7 +324,7 @@ EOF } nspawn_settings_cleanup() { - for dev in sd-host-only sd-shared{1,2} sd-macvlan{1,2} sd-ipvlan{1,2}; do + for dev in sd-host-only sd-shared{1,2,3} sd-macvlan{1,2} sd-ipvlan{1,2}; do ip link del "$dev" || : done @@ -332,7 +332,7 @@ nspawn_settings_cleanup() { } testcase_nspawn_settings() { - local root container dev private_users + local root container dev private_users wlan_names='' wlan_checks='' mkdir -p /run/systemd/nspawn root="$(mktemp -d /var/lib/machines/testsuite-13.nspawn-settings.XXX)" @@ -341,10 +341,17 @@ testcase_nspawn_settings() { rm -f "/etc/systemd/nspawn/$container.nspawn" mkdir -p "$root/tmp" "$root"/opt/{tmp,inaccessible,also-inaccessible} - for dev in sd-host-only sd-shared{1,2} sd-macvlan{1,2} sd-macvlanloong sd-ipvlan{1,2} sd-ipvlanlooong; do + # add virtual wlan interfaces + if modprobe mac80211_hwsim radios=2; then + wlan_names='wlan0 wlan1:wl-renamed1' + wlan_checks='ip link | grep wlan0\nip link | grep wl-renamed1' + fi + + for dev in sd-host-only sd-shared{1,2,3} sd-macvlan{1,2} sd-macvlanloong sd-ipvlan{1,2} sd-ipvlanlooong; do ip link add "$dev" type dummy done udevadm settle + ip link property add dev sd-shared3 altname sd-altname3 altname sd-altname-tooooooooooooo-long ip link trap nspawn_settings_cleanup RETURN @@ -394,7 +401,7 @@ Private=yes VirtualEthernet=yes VirtualEthernetExtra=my-fancy-veth1 VirtualEthernetExtra=fancy-veth2:my-fancy-veth2 -Interface=sd-shared1 sd-shared2:sd-shared2 +Interface=sd-shared1 sd-shared2:sd-renamed2 sd-shared3:sd-altname3 ${wlan_names} MACVLAN=sd-macvlan1 sd-macvlan2:my-macvlan2 sd-macvlanloong IPVLAN=sd-ipvlan1 sd-ipvlan2:my-ipvlan2 sd-ipvlanlooong Zone=sd-zone0 @@ -437,12 +444,17 @@ ip link | grep host0@ ip link | grep my-fancy-veth1@ ip link | grep my-fancy-veth2@ ip link | grep sd-shared1 -ip link | grep sd-shared2 +ip link | grep sd-renamed2 +ip link | grep sd-shared3 +ip link | grep sd-altname3 +ip link | grep sd-altname-tooooooooooooo-long ip link | grep mv-sd-macvlan1@ ip link | grep my-macvlan2@ ip link | grep iv-sd-ipvlan1@ ip link | grep my-ipvlan2@ EOF + echo -e "$wlan_checks" >>"$root/entrypoint.sh" + timeout 30 systemd-nspawn --directory="$root" # And now for stuff that needs to run separately