Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/tests/net/if Add tests for ifconfig up/down



details:   https://anonhg.NetBSD.org/src/rev/9e095d76267a
branches:  trunk
changeset: 821712:9e095d76267a
user:      ozaki-r <ozaki-r%NetBSD.org@localhost>
date:      Tue Feb 14 08:43:06 2017 +0000

description:
Add tests for ifconfig up/down

diffstat:

 tests/net/if/Makefile      |    8 +-
 tests/net/if/t_ifconfig.sh |  129 ++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 133 insertions(+), 4 deletions(-)

diffs (169 lines):

diff -r 23defb37c188 -r 9e095d76267a tests/net/if/Makefile
--- a/tests/net/if/Makefile     Tue Feb 14 03:05:06 2017 +0000
+++ b/tests/net/if/Makefile     Tue Feb 14 08:43:06 2017 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.6 2016/08/08 14:54:27 pgoyette Exp $
+# $NetBSD: Makefile,v 1.7 2017/02/14 08:43:06 ozaki-r Exp $
 #
 
 .include <bsd.own.mk>
@@ -6,8 +6,10 @@
 TESTSDIR=      ${TESTSBASE}/net/if
 
 TESTS_C=       t_compat
-TESTS_SH=      t_ifconf
-TESTS_SH+=     t_ifconfig
+.for name in ifconf ifconfig
+TESTS_SH+=             t_${name}
+TESTS_SH_SRC_t_${name}=        ../net_common.sh t_${name}.sh
+.endfor
 
 PROGS=         ifconf
 MAN.ifconf=    # empty
diff -r 23defb37c188 -r 9e095d76267a tests/net/if/t_ifconfig.sh
--- a/tests/net/if/t_ifconfig.sh        Tue Feb 14 03:05:06 2017 +0000
+++ b/tests/net/if/t_ifconfig.sh        Tue Feb 14 08:43:06 2017 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: t_ifconfig.sh,v 1.15 2017/01/20 08:35:33 ozaki-r Exp $
+# $NetBSD: t_ifconfig.sh,v 1.16 2017/02/14 08:43:06 ozaki-r Exp $
 #
 # Copyright (c) 2015 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -324,10 +324,137 @@
        env RUMP_SERVER=${RUMP_SERVER2} rump.halt
 }
 
+ifconfig_up_down_common()
+{
+       local family=$1
+       local ip=$2
+
+       if [ $family = inet6 ]; then
+               rump_server_start $RUMP_SERVER1 netinet6
+       else
+               rump_server_start $RUMP_SERVER1
+       fi
+       rump_server_add_iface $RUMP_SERVER1 shmif0 bus1
+
+       export RUMP_SERVER=$RUMP_SERVER1
+       rump.ifconfig shmif0
+
+       # Set the same number of trials to make the following test
+       # work for both IPv4 and IPv6
+       if [ $family = inet6 ]; then
+               atf_check -s exit:0 -o ignore \
+                   rump.sysctl -w net.inet6.ip6.dad_count=3
+       else
+               atf_check -s exit:0 -o ignore \
+                   rump.sysctl -w net.inet.ip.dad_count=3
+       fi
+
+       #
+       # Assign an address and up the interface at once
+       #
+       atf_check -s exit:0 rump.ifconfig shmif0 $family $ip/24 up
+       # UP
+       atf_check -s exit:0 \
+           -o match:'shmif0.*UP.*RUNNING' rump.ifconfig shmif0
+       # The address is TENTATIVE
+       atf_check -s exit:0 \
+           -o match:"$ip.*TENTATIVE" rump.ifconfig shmif0
+       # Waiting for DAD completion
+       atf_check -s exit:0 rump.ifconfig -w 10
+       # The address left TENTATIVE
+       atf_check -s exit:0 \
+           -o not-match:"$ip.*TENTATIVE" rump.ifconfig shmif0
+
+       #
+       # ifconfig down
+       #
+       atf_check -s exit:0 rump.ifconfig shmif0 down
+       atf_check -s exit:0 \
+           -o not-match:'shmif0.*UP.*RUNNING' rump.ifconfig shmif0
+       # The address becomes DETATCHED
+       atf_check -s exit:0 \
+           -o match:"$ip.*DETACHED" rump.ifconfig shmif0
+       # ifconfig up
+       atf_check -s exit:0 rump.ifconfig shmif0 up
+       # The address becomes TENTATIVE
+       atf_check -s exit:0 \
+           -o match:"$ip.*TENTATIVE" rump.ifconfig shmif0
+       # Waiting for DAD completion
+       atf_check -s exit:0 rump.ifconfig -w 10
+       # The address left TENTATIVE
+       atf_check -s exit:0 \
+           -o not-match:"$ip.*TENTATIVE" rump.ifconfig shmif0
+
+       # Clean up
+       atf_check -s exit:0 rump.ifconfig shmif0 $family $ip delete
+
+       #
+       # Assign an address
+       #
+       atf_check -s exit:0 rump.ifconfig shmif0 $family $ip/24
+       # UP automatically
+       atf_check -s exit:0 \
+           -o match:'shmif0.*UP.*RUNNING' rump.ifconfig shmif0
+       # Need some delay
+       sleep 1
+       # The IP becomes TENTATIVE
+       atf_check -s exit:0 \
+           -o match:"$ip.*TENTATIVE" rump.ifconfig shmif0
+       # Waiting for DAD completion
+       atf_check -s exit:0 rump.ifconfig -w 10
+       # The address left TENTATIVE
+       atf_check -s exit:0 \
+           -o not-match:"$ip.*TENTATIVE" rump.ifconfig shmif0
+
+       rump_server_destroy_ifaces
+}
+
+atf_test_case ifconfig_up_down_ipv4 cleanup
+ifconfig_up_down_ipv4_head()
+{
+       atf_set "descr" "tests of interface up/down (IPv4)"
+       atf_set "require.progs" "rump_server"
+}
+
+ifconfig_up_down_ipv4_body()
+{
+
+       ifconfig_up_down_common inet 10.0.0.1
+}
+
+ifconfig_up_down_ipv4_cleanup()
+{
+
+       $DEBUG && dump
+       cleanup
+}
+
+atf_test_case ifconfig_up_down_ipv6 cleanup
+ifconfig_up_down_ipv6_head()
+{
+       atf_set "descr" "tests of interface up/down (IPv6)"
+       atf_set "require.progs" "rump_server"
+}
+
+ifconfig_up_down_ipv6_body()
+{
+
+       ifconfig_up_down_common inet6 fc00::1
+}
+
+ifconfig_up_down_ipv6_cleanup()
+{
+
+       $DEBUG && dump
+       cleanup
+}
+
 atf_init_test_cases()
 {
 
        atf_add_test_case ifconfig_create_destroy
        atf_add_test_case ifconfig_options
        atf_add_test_case ifconfig_parameters
+       atf_add_test_case ifconfig_up_down_ipv4
+       atf_add_test_case ifconfig_up_down_ipv6
 }



Home | Main Index | Thread Index | Old Index