296 lines
No EOL
8.2 KiB
Text
Executable file
296 lines
No EOL
8.2 KiB
Text
Executable file
#!/usr/bin/env atf-sh
|
|
|
|
. $(atf_get_srcdir)/test_env.sh
|
|
|
|
tests_init \
|
|
noargs \
|
|
loopback_always_configured \
|
|
static_dual_stack \
|
|
static_ipv4 \
|
|
static_ipv6 \
|
|
dhcp_ipv4 \
|
|
use_dhcp \
|
|
state_query_home \
|
|
state_query_work \
|
|
state_print \
|
|
learned_dependency \
|
|
learned_dependency_2 \
|
|
learned_executor \
|
|
inheritance_0 \
|
|
inheritance_1 \
|
|
implicit_vlan \
|
|
vrf_dependency \
|
|
vrf_ifupdown2_rewrite \
|
|
vrf_ifupdown2_dependency \
|
|
vrf_implicit_static_gateway \
|
|
ppp_dependency \
|
|
ppp_legacy_rewrite \
|
|
tunnel_dependency \
|
|
tunnel_legacy_dependency \
|
|
tunnel_legacy_rewrite \
|
|
tunnel_ifupdown2_dependency \
|
|
tunnel_ifupdown2_rewrite \
|
|
gre_dependency \
|
|
vlan_explicit_learned_dependency \
|
|
vlan_guessed_learned_dependency \
|
|
vlan_complex_learned_dependency \
|
|
wireguard \
|
|
allow_undefined_positive \
|
|
allow_undefined_negative \
|
|
default_netmask_v4 \
|
|
default_netmask_v6 \
|
|
stanza_merging_with_cidr \
|
|
stanza_merging_without_cidr \
|
|
dhcp_hostname_rewrite \
|
|
dhcp_hostname_inference \
|
|
dhcp_hostname_replacement
|
|
|
|
noargs_body() {
|
|
atf_check -s exit:1 -e ignore ifquery -S/dev/null
|
|
}
|
|
|
|
loopback_always_configured_body() {
|
|
atf_check -s exit:0 -o match:"use loopback" \
|
|
ifquery -S/dev/null -i $FIXTURES/static-eth0.interfaces lo
|
|
}
|
|
|
|
static_dual_stack_body() {
|
|
atf_check -s exit:0 -o match:"address 203.0.113.2/24" \
|
|
-o match:"address 2001:db8:1000:2::2/64" \
|
|
-o match:"gateway 203.0.113.1" \
|
|
-o match:"gateway 2001:db8:1000:2::1" \
|
|
ifquery -S/dev/null -i $FIXTURES/static-eth0.interfaces eth0
|
|
}
|
|
|
|
static_ipv4_body() {
|
|
atf_check -s exit:0 -o match:"address 203.0.113.2/24" \
|
|
-o match:"gateway 203.0.113.1" \
|
|
ifquery -S/dev/null -i $FIXTURES/static-eth0-v4.interfaces eth0
|
|
}
|
|
|
|
static_ipv6_body() {
|
|
atf_check -s exit:0 -o match:"address 2001:db8:1000:2::2/64" \
|
|
-o match:"gateway 2001:db8:1000:2::1" \
|
|
ifquery -S/dev/null -i $FIXTURES/static-eth0-v6.interfaces eth0
|
|
}
|
|
|
|
dhcp_ipv4_body() {
|
|
atf_check -s exit:0 -o match:"use dhcp" \
|
|
ifquery -S/dev/null -i $FIXTURES/dhcp-eth0.interfaces eth0
|
|
}
|
|
|
|
use_dhcp_body() {
|
|
atf_check -s exit:0 -o match:"use dhcp" \
|
|
ifquery -S/dev/null -i $FIXTURES/use-dhcp-eth0.interfaces eth0
|
|
}
|
|
|
|
state_query_home_body() {
|
|
atf_check -s exit:0 -o match:"iface home" \
|
|
ifquery -S $FIXTURES/alias-home.ifstate -i $FIXTURES/alias-home-work.interfaces wlan0
|
|
}
|
|
|
|
state_query_work_body() {
|
|
atf_check -s exit:0 -o match:"iface work" \
|
|
ifquery -S $FIXTURES/alias-work.ifstate -i $FIXTURES/alias-home-work.interfaces wlan0
|
|
}
|
|
|
|
state_print_body() {
|
|
atf_check -s exit:0 -o match:"wlan0=home" \
|
|
ifquery -S $FIXTURES/alias-home.ifstate -i $FIXTURES/alias-home-work.interfaces -s
|
|
atf_check -s exit:0 -o match:"wlan0=work" \
|
|
ifquery -S $FIXTURES/alias-work.ifstate -i $FIXTURES/alias-home-work.interfaces -s
|
|
}
|
|
|
|
learned_dependency_body() {
|
|
atf_check -s exit:0 -o match:"requires eth0 eth1 eth2 eth3 eth4" \
|
|
ifquery -E $EXECUTORS -i $FIXTURES/mock-dependency-generator.interfaces br0
|
|
}
|
|
|
|
learned_dependency_2_body() {
|
|
atf_check -s exit:0 -o match:"requires bond0" \
|
|
ifquery -E $EXECUTORS -i $FIXTURES/mock-dependency-generator-2.interfaces br0
|
|
}
|
|
|
|
learned_executor_body() {
|
|
atf_check -s exit:0 -o match:"use mock" \
|
|
ifquery -E $EXECUTORS -i $FIXTURES/mock-dependency-generator-2.interfaces br0
|
|
}
|
|
|
|
inheritance_0_body() {
|
|
atf_check -s exit:0 -o match:"inherit base0" \
|
|
-o match:"address 203.0.113.2/24" \
|
|
-o match:"address 203.0.113.3/24" \
|
|
-o match:"address 2001:db8:1000:2::2/64" \
|
|
ifquery -E $EXECUTORS -i $FIXTURES/inheritance.interfaces inherit0
|
|
}
|
|
|
|
inheritance_1_body() {
|
|
atf_check -s exit:0 -o match:"inherit base0" \
|
|
-o match:"address 203.0.113.2/24" \
|
|
-o match:"address 203.0.113.4/24" \
|
|
-o match:"address 2001:db8:1000:2::2/64" \
|
|
ifquery -E $EXECUTORS -i $FIXTURES/inheritance.interfaces inherit1
|
|
}
|
|
|
|
implicit_vlan_body() {
|
|
atf_check -s exit:0 -o match:"requires eth0" \
|
|
-o match:"use vlan" \
|
|
ifquery -E $EXECUTORS -i $FIXTURES/vlan.interfaces eth0.8
|
|
}
|
|
|
|
vrf_dependency_body() {
|
|
atf_check -s exit:0 -o match:"requires vrf-red" \
|
|
ifquery -E $EXECUTORS_LINUX -i $FIXTURES/vrf.interfaces eth0
|
|
}
|
|
|
|
vrf_ifupdown2_rewrite_body() {
|
|
atf_check -s exit:0 -o match:"vrf-member vrf-red" \
|
|
ifquery -E $EXECUTORS -i $FIXTURES/vrf-ifupdown2.interfaces eth0
|
|
}
|
|
|
|
vrf_ifupdown2_dependency_body() {
|
|
atf_check -s exit:0 -o match:"requires vrf-red" \
|
|
ifquery -E $EXECUTORS_LINUX -i $FIXTURES/vrf-ifupdown2.interfaces eth0
|
|
}
|
|
|
|
vrf_implicit_static_gateway_body() {
|
|
atf_check -s exit:0 -o match:"use static" \
|
|
ifquery -E $EXECUTORS_LINUX -i $FIXTURES/vrf.interfaces vrf-red
|
|
}
|
|
|
|
ppp_dependency_body() {
|
|
atf_check -s exit:0 -o match:"requires eth0" \
|
|
ifquery -E $EXECUTORS_LINUX -i $FIXTURES/ppp.interfaces ppp0
|
|
}
|
|
|
|
ppp_legacy_rewrite_body() {
|
|
atf_check -s exit:0 -o match:"ppp-provider someisp" \
|
|
ifquery -E $EXECUTORS_LINUX -i $FIXTURES/ppp-legacy.interfaces ppp0
|
|
}
|
|
|
|
tunnel_dependency_body() {
|
|
atf_check -s exit:0 -o match:"requires eth0" \
|
|
ifquery -E $EXECUTORS_LINUX -i $FIXTURES/tunnel.interfaces tun0
|
|
}
|
|
|
|
tunnel_legacy_dependency_body() {
|
|
atf_check -s exit:0 -o match:"requires eth0" \
|
|
ifquery -E $EXECUTORS_LINUX -i $FIXTURES/tunnel-legacy.interfaces tun0
|
|
}
|
|
|
|
tunnel_ifupdown2_dependency_body() {
|
|
atf_check -s exit:0 -o match:"requires eth0" \
|
|
ifquery -E $EXECUTORS_LINUX -i $FIXTURES/tunnel-ifupdown2.interfaces tun0
|
|
}
|
|
|
|
tunnel_legacy_rewrite_body() {
|
|
atf_check -s exit:0 \
|
|
-o match:"tunnel-local 203.0.113.2" \
|
|
-o match:"tunnel-remote 203.0.113.1" \
|
|
-o match:"tunnel-mode gre" \
|
|
-o match:"tunnel-ttl 255" \
|
|
ifquery -E $EXECUTORS_LINUX -i $FIXTURES/tunnel-legacy.interfaces tun0
|
|
}
|
|
|
|
tunnel_ifupdown2_rewrite_body() {
|
|
atf_check -s exit:0 \
|
|
-o match:"tunnel-local 203.0.113.2" \
|
|
-o match:"tunnel-remote 203.0.113.1" \
|
|
-o match:"tunnel-mode gre" \
|
|
-o match:"tunnel-ttl 255" \
|
|
ifquery -E $EXECUTORS_LINUX -i $FIXTURES/tunnel-ifupdown2.interfaces tun0
|
|
}
|
|
|
|
gre_dependency_body() {
|
|
atf_check -s exit:0 -o match:"requires eth0" \
|
|
ifquery -E $EXECUTORS_LINUX -i $FIXTURES/gre.interfaces tun0
|
|
}
|
|
|
|
vlan_explicit_learned_dependency_body() {
|
|
atf_check -s exit:0 -o match:"requires eth0" \
|
|
-o match:"use vlan" \
|
|
ifquery -E $EXECUTORS_LINUX -i $FIXTURES/vlan-named.interfaces servers
|
|
}
|
|
|
|
vlan_guessed_learned_dependency_body() {
|
|
atf_check -s exit:0 -o match:"requires eth0" \
|
|
-o match:"use vlan" \
|
|
ifquery -E $EXECUTORS_LINUX -i $FIXTURES/vlan.interfaces eth0.8
|
|
}
|
|
|
|
vlan_complex_learned_dependency_body() {
|
|
atf_check -s exit:0 -o match:"requires eth0" \
|
|
-o match:"use vlan" \
|
|
-o match:"address 1.2.10.4/24" \
|
|
-o match:"gateway 1.2.10.1" \
|
|
-o match:"address abcd:ef12:3456:10::4/64" \
|
|
-o match:"gateway abcd:ef12:3456:10::1" \
|
|
-o match:"vlan-raw-device eth0" \
|
|
ifquery -E $EXECUTORS_LINUX -i $FIXTURES/vlan-complex.interfaces servers
|
|
}
|
|
|
|
wireguard_body() {
|
|
atf_check -s exit:0 \
|
|
-o match:"requires eth0" \
|
|
-o match:"use wireguard" \
|
|
ifquery -E $EXECUTORS_LINUX -i $FIXTURES/wireguard.interfaces wg0
|
|
}
|
|
|
|
allow_undefined_positive_body() {
|
|
atf_check -s exit:0 \
|
|
-o ignore \
|
|
-e ignore \
|
|
ifquery -U -i /dev/null -p address foo
|
|
}
|
|
|
|
allow_undefined_negative_body() {
|
|
atf_check -s exit:1 \
|
|
-o ignore \
|
|
-e ignore \
|
|
ifquery -i /dev/null -p address foo
|
|
}
|
|
|
|
default_netmask_v4_body() {
|
|
atf_check -s exit:0 \
|
|
-o match:"203.0.113.2/24" \
|
|
ifquery -i $FIXTURES/without-netmask.interfaces -p address v4
|
|
}
|
|
|
|
default_netmask_v6_body() {
|
|
atf_check -s exit:0 \
|
|
-o match:"2001:470:1f10::1/64" \
|
|
ifquery -i $FIXTURES/without-netmask.interfaces -p address v6
|
|
}
|
|
|
|
stanza_merging_with_cidr_body() {
|
|
atf_check -s exit:0 \
|
|
-o match:"203.0.113.1/32" \
|
|
-o match:"203.0.113.2/24" \
|
|
ifquery -i $FIXTURES/stanza-merging.interfaces -p address cidr
|
|
}
|
|
|
|
stanza_merging_without_cidr_body() {
|
|
atf_check -s exit:0 \
|
|
-o match:"203.0.113.1/32" \
|
|
-o match:"203.0.113.2/24" \
|
|
ifquery -i $FIXTURES/stanza-merging.interfaces -p address without-cidr
|
|
}
|
|
|
|
dhcp_hostname_rewrite_body() {
|
|
atf_check -s exit:0 \
|
|
-o match:"dhcp-hostname foo" \
|
|
ifquery -i $FIXTURES/dhcp-hostname-rewrite.interfaces -P eth0
|
|
}
|
|
|
|
dhcp_hostname_inference_body() {
|
|
hostname=$(uname -n)
|
|
atf_check -s exit:0 \
|
|
-o match:"dhcp-hostname $hostname" \
|
|
ifquery -i $FIXTURES/dhcp-hostname-rewrite.interfaces -P eth1
|
|
}
|
|
|
|
dhcp_hostname_replacement_body() {
|
|
atf_check -s exit:0 \
|
|
-o match:"dhcp-hostname bar" \
|
|
ifquery -i $FIXTURES/dhcp-hostname-rewrite.interfaces -P eth2
|
|
} |