diff --git a/tests/Kyuafile b/tests/Kyuafile index ba56600..784a85b 100644 --- a/tests/Kyuafile +++ b/tests/Kyuafile @@ -4,3 +4,4 @@ test_suite('ifupdown-ng') atf_test_program{name='ifquery_test'} atf_test_program{name='ifup_test'} +atf_test_program{name='ifdown_test'} diff --git a/tests/ifdown_test b/tests/ifdown_test new file mode 100755 index 0000000..2892347 --- /dev/null +++ b/tests/ifdown_test @@ -0,0 +1,78 @@ +#!/usr/bin/env atf-sh + +. $(atf_get_srcdir)/test_env.sh + +tests_init \ + noargs \ + lo_always_auto \ + dual_stack \ + static_ipv4 \ + static_ipv6 \ + inet_dhcp \ + alias_eth0_home \ + alias_eth0_work + +noargs_body() { + atf_check -s exit:1 -e ignore ifdown -S/dev/null +} + +lo_always_auto_body() { + atf_check -s exit:0 -e ignore -o match:'ip link set down dev lo' \ + ifdown -S/dev/null -i/dev/null -n -a +} + +dual_stack_body() { + atf_check -s exit:0 -e ignore \ + -o match:'ip link set down dev lo' \ + -o match:'ip link set down dev eth0' \ + -o match:'del 203.0.113.2/24 dev eth0' \ + -o match:'del 2001:db8:1000:2::2/64 dev eth0' \ + -o match:'default via 203.0.113.1' \ + -o match:'default via 2001:db8:1000:2::1' \ + ifdown -S/dev/null -i $FIXTURES/static-eth0.interfaces -n -a +} + +static_ipv4_body() { + atf_check -s exit:0 -e ignore \ + -o match:'ip link set down dev lo' \ + -o match:'ip link set down dev eth0' \ + -o match:'del 203.0.113.2/24 dev eth0' \ + -o match:'default via 203.0.113.1' \ + ifdown -S/dev/null -i $FIXTURES/static-eth0-v4.interfaces -n -a +} + +static_ipv6_body() { + atf_check -s exit:0 -e ignore \ + -o match:'ip link set down dev lo' \ + -o match:'ip link set down dev eth0' \ + -o match:'del 2001:db8:1000:2::2/64 dev eth0' \ + -o match:'default via 2001:db8:1000:2::1' \ + ifdown -S/dev/null -i $FIXTURES/static-eth0-v6.interfaces -n -a +} + +inet_dhcp_body() { + atf_check -s exit:0 -e ignore \ + -o match:'ip link set down dev lo' \ + -o match:'ip link set down dev eth0' \ + -o match:'dhc' \ + ifdown -S/dev/null -i $FIXTURES/dhcp-eth0.interfaces -n -a +} + +alias_eth0_home_body() { + atf_check -s exit:0 -e ignore \ + -o match:'ip link set down dev eth0' \ + -o match:'dhc' \ + ifdown -S $FIXTURES/alias-home.ifstate \ + -i $FIXTURES/alias-home-work.interfaces -n eth0 +} + +alias_eth0_work_body() { + atf_check -s exit:0 -e ignore \ + -o match:'ip link set down dev eth0' \ + -o match:'del 203.0.113.2/24 dev eth0' \ + -o match:'del 2001:db8:1000:2::2/64 dev eth0' \ + -o match:'default via 203.0.113.1' \ + -o match:'default via 2001:db8:1000:2::1' \ + ifdown -S $FIXTURES/alias-work.ifstate \ + -i $FIXTURES/alias-home-work.interfaces -n eth0 +}