Home | History | Annotate | Line # | Download | only in if
t_ifconfig.sh revision 1.3
      1  1.3  ozaki # $NetBSD: t_ifconfig.sh,v 1.3 2015/09/15 09:51:01 ozaki-r Exp $
      2  1.1  ozaki #
      3  1.1  ozaki # Copyright (c) 2015 The NetBSD Foundation, Inc.
      4  1.1  ozaki # All rights reserved.
      5  1.1  ozaki #
      6  1.1  ozaki # Redistribution and use in source and binary forms, with or without
      7  1.1  ozaki # modification, are permitted provided that the following conditions
      8  1.1  ozaki # are met:
      9  1.1  ozaki # 1. Redistributions of source code must retain the above copyright
     10  1.1  ozaki #    notice, this list of conditions and the following disclaimer.
     11  1.1  ozaki # 2. Redistributions in binary form must reproduce the above copyright
     12  1.1  ozaki #    notice, this list of conditions and the following disclaimer in the
     13  1.1  ozaki #    documentation and/or other materials provided with the distribution.
     14  1.1  ozaki #
     15  1.1  ozaki # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
     16  1.1  ozaki # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
     17  1.1  ozaki # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     18  1.1  ozaki # PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
     19  1.1  ozaki # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     20  1.1  ozaki # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     21  1.1  ozaki # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     22  1.1  ozaki # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     23  1.1  ozaki # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     24  1.1  ozaki # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     25  1.1  ozaki # POSSIBILITY OF SUCH DAMAGE.
     26  1.1  ozaki #
     27  1.1  ozaki 
     28  1.1  ozaki RUMP_SERVER1=unix://./r1
     29  1.1  ozaki 
     30  1.1  ozaki RUMP_FLAGS=\
     31  1.1  ozaki "-lrumpnet -lrumpnet_net -lrumpnet_netinet -lrumpnet_netinet6 -lrumpnet_shmif"
     32  1.1  ozaki 
     33  1.1  ozaki atf_test_case create_destroy cleanup
     34  1.1  ozaki create_destroy_head()
     35  1.1  ozaki {
     36  1.1  ozaki 
     37  1.1  ozaki 	atf_set "descr" "tests of ifconfig create and destroy"
     38  1.1  ozaki 	atf_set "require.progs" "rump_server"
     39  1.1  ozaki }
     40  1.1  ozaki 
     41  1.1  ozaki create_destroy_body()
     42  1.1  ozaki {
     43  1.1  ozaki 	atf_check -s exit:0 rump_server ${RUMP_FLAGS} ${RUMP_SERVER1}
     44  1.1  ozaki 
     45  1.1  ozaki 	export RUMP_SERVER=${RUMP_SERVER1}
     46  1.1  ozaki 
     47  1.1  ozaki 	# Create and destroy (no address)
     48  1.1  ozaki 	atf_check -s exit:0 rump.ifconfig shmif0 create
     49  1.1  ozaki 	atf_check -s exit:0 rump.ifconfig shmif0 destroy
     50  1.1  ozaki 
     51  1.1  ozaki 	# Create and destroy (with an IPv4 address)
     52  1.1  ozaki 	atf_check -s exit:0 rump.ifconfig shmif0 create
     53  1.1  ozaki 	atf_check -s exit:0 rump.ifconfig shmif0 linkstr shmbus
     54  1.1  ozaki 	atf_check -s exit:0 rump.ifconfig shmif0 192.168.0.1/24
     55  1.1  ozaki 	atf_check -s exit:0 rump.ifconfig shmif0 up
     56  1.1  ozaki 	atf_check -s exit:0 rump.ifconfig shmif0 destroy
     57  1.1  ozaki 
     58  1.1  ozaki 	# Create and destroy (with an IPv6 address)
     59  1.1  ozaki 	atf_check -s exit:0 rump.ifconfig shmif0 create
     60  1.1  ozaki 	atf_check -s exit:0 rump.ifconfig shmif0 linkstr shmbus
     61  1.1  ozaki 	atf_check -s exit:0 rump.ifconfig shmif0 inet6 fc00::1
     62  1.1  ozaki 	atf_check -s exit:0 rump.ifconfig shmif0 up
     63  1.1  ozaki 	atf_check -s exit:0 rump.ifconfig shmif0 destroy
     64  1.1  ozaki 
     65  1.1  ozaki 	unset RUMP_SERVER
     66  1.1  ozaki }
     67  1.1  ozaki 
     68  1.1  ozaki create_destroy_cleanup()
     69  1.1  ozaki {
     70  1.1  ozaki 
     71  1.1  ozaki 	RUMP_SERVER=${RUMP_SERVER1} rump.halt
     72  1.1  ozaki }
     73  1.1  ozaki 
     74  1.2  ozaki atf_test_case options cleanup
     75  1.2  ozaki options_head()
     76  1.2  ozaki {
     77  1.2  ozaki 
     78  1.2  ozaki 	atf_set "descr" "tests of ifconfig options"
     79  1.2  ozaki 	atf_set "require.progs" "rump_server"
     80  1.2  ozaki }
     81  1.2  ozaki 
     82  1.2  ozaki options_body()
     83  1.2  ozaki {
     84  1.2  ozaki 
     85  1.2  ozaki 	export RUMP_SERVER=${RUMP_SERVER1}
     86  1.2  ozaki 	atf_check -s exit:0 rump_server $RUMP_FLAGS $RUMP_SERVER1
     87  1.2  ozaki 
     88  1.2  ozaki 	atf_check -s exit:0 -o ignore rump.ifconfig shmif0 create
     89  1.2  ozaki 	atf_check -s exit:0 -o ignore rump.ifconfig shmif0 linkstr bus1
     90  1.2  ozaki 	atf_check -s exit:0 -o ignore rump.ifconfig shmif0 inet 10.0.0.1/24
     91  1.2  ozaki 	atf_check -s exit:0 -o ignore rump.ifconfig shmif0 inet6 fc00::1/64
     92  1.2  ozaki 	atf_check -s exit:0 -o ignore rump.ifconfig shmif0 up
     93  1.2  ozaki 	atf_check -s exit:0 -o ignore rump.ifconfig -w 10
     94  1.2  ozaki 	$DEBUG && rump.ifconfig shmif0
     95  1.2  ozaki 
     96  1.2  ozaki 	# ifconfig [-N] interface address_family
     97  1.2  ozaki 	#   -N resolves hostnames
     98  1.2  ozaki 	atf_check -s exit:0 -o match:'inet 127.0.0.1' rump.ifconfig lo0 inet
     99  1.2  ozaki 	atf_check -s exit:0 -o match:'inet localhost' rump.ifconfig -N lo0 inet
    100  1.2  ozaki 	atf_check -s exit:0 -o match:'inet6 ::1' rump.ifconfig lo0 inet6
    101  1.2  ozaki 	atf_check -s exit:0 -o match:'inet6 localhost' rump.ifconfig -N lo0 inet6
    102  1.2  ozaki 	atf_check -s not-exit:0 -e match:'not supported' rump.ifconfig lo0 atalk
    103  1.2  ozaki 	atf_check -s not-exit:0 -e match:'not supported' rump.ifconfig -N lo0 atalk
    104  1.2  ozaki 	atf_check -s exit:0 -o ignore rump.ifconfig lo0 link
    105  1.2  ozaki 	atf_check -s exit:0 -o ignore rump.ifconfig -N lo0 link
    106  1.2  ozaki 
    107  1.2  ozaki 	# ifconfig [-hLmNvz] interface
    108  1.2  ozaki 	#   -h -v shows statistics in human readable format
    109  1.2  ozaki 	atf_check -s exit:0 -o ignore rump.ifconfig -h -v lo0
    110  1.2  ozaki 	#   -L shows IPv6 lifetime
    111  1.2  ozaki 	atf_check -s exit:0 -o ignore rump.ifconfig shmif0 inet6 fc00::2 \
    112  1.2  ozaki 	    pltime 100
    113  1.2  ozaki 	$DEBUG && rump.ifconfig -L shmif0
    114  1.2  ozaki 	atf_check -s exit:0 -o match:'pltime' rump.ifconfig -L shmif0
    115  1.2  ozaki 	atf_check -s exit:0 -o match:'vltime' rump.ifconfig -L shmif0
    116  1.2  ozaki 	#   -m shows all of the supported media (not supported in shmif)
    117  1.2  ozaki 	$DEBUG && rump.ifconfig -m shmif0
    118  1.2  ozaki 	atf_check -s exit:0 -o ignore rump.ifconfig -m shmif0
    119  1.2  ozaki 	atf_check -s exit:0 -o match:'localhost' rump.ifconfig -N lo0
    120  1.2  ozaki 	atf_check -s exit:0 -o match:'0 packets' rump.ifconfig -v lo0
    121  1.2  ozaki 	atf_check -s exit:0 -o ignore rump.ping -c 1 localhost
    122  1.2  ozaki 	#   -z clears and shows statistics at that point
    123  1.2  ozaki 	atf_check -s exit:0 -o match:'2 packets' rump.ifconfig -z lo0
    124  1.2  ozaki 	atf_check -s exit:0 -o match:'0 packets' rump.ifconfig -v lo0
    125  1.2  ozaki 
    126  1.2  ozaki 	# ifconfig -a [-bdhLNmsuvz]
    127  1.2  ozaki 	#   -a shows all interfaces in the system
    128  1.2  ozaki 	$DEBUG && rump.ifconfig -a
    129  1.2  ozaki 	atf_check -s exit:0 -o match:'shmif0' -o match:'lo0' rump.ifconfig -a
    130  1.2  ozaki 	#   -a -b shows only broadcast interfaces
    131  1.2  ozaki 	atf_check -s exit:0 -o match:'shmif0' -o not-match:'lo0' rump.ifconfig -a -b
    132  1.2  ozaki 	#   -a -d shows only down interfaces
    133  1.2  ozaki 	atf_check -s exit:0 -o ignore rump.ifconfig shmif0 down
    134  1.2  ozaki 	atf_check -s exit:0 -o match:'shmif0' rump.ifconfig -a -d
    135  1.2  ozaki 	atf_check -s exit:0 -o ignore rump.ifconfig shmif0 up
    136  1.2  ozaki 	atf_check -s exit:0 -o not-match:'shmif0' rump.ifconfig -a -d
    137  1.2  ozaki 	atf_check -s exit:0 -o match:'pltime' rump.ifconfig -a -L
    138  1.2  ozaki 	atf_check -s exit:0 -o match:'vltime' rump.ifconfig -a -L
    139  1.2  ozaki 	atf_check -s exit:0 -o match:'localhost' rump.ifconfig -a -N
    140  1.2  ozaki 	atf_check -s exit:0 -o ignore rump.ifconfig -a -m
    141  1.2  ozaki 	#   -a -s shows only interfaces connected to a network
    142  1.2  ozaki 	#   (shmif is always connected)
    143  1.2  ozaki 	$DEBUG && rump.ifconfig -a -s
    144  1.2  ozaki 	atf_check -s exit:0 -o ignore rump.ifconfig -a -s
    145  1.2  ozaki 	#   -a -u shows only up interfaces
    146  1.2  ozaki 	atf_check -s exit:0 -o match:'shmif0' rump.ifconfig -a -u
    147  1.2  ozaki 	atf_check -s exit:0 -o ignore rump.ifconfig shmif0 down
    148  1.2  ozaki 	atf_check -s exit:0 -o not-match:'shmif0' rump.ifconfig -a -u
    149  1.2  ozaki 	atf_check -s exit:0 -o ignore rump.ifconfig shmif0 up
    150  1.2  ozaki 	atf_check -s exit:0 -o match:'0 packets' rump.ifconfig -a -v
    151  1.2  ozaki 	atf_check -s exit:0 -o ignore rump.ping -c 1 localhost
    152  1.3  ozaki 	atf_check -s exit:0 -o ignore rump.ifconfig shmif0 down
    153  1.2  ozaki 	atf_check -s exit:0 -o match:'2 packets' rump.ifconfig -a -z
    154  1.2  ozaki 	atf_check -s exit:0 -o not-match:'2 packets' rump.ifconfig -a -v
    155  1.3  ozaki 	atf_check -s exit:0 -o match:'0 packets' rump.ifconfig -a -v
    156  1.3  ozaki 	atf_check -s exit:0 -o ignore rump.ifconfig shmif0 up
    157  1.2  ozaki 
    158  1.2  ozaki 	# ifconfig -l [-bdsu]
    159  1.2  ozaki 	#   -l shows only inteface names
    160  1.2  ozaki 	atf_check -s exit:0 -o match:'lo0 shmif0' rump.ifconfig -l
    161  1.2  ozaki 	atf_check -s exit:0 -o match:'shmif0' rump.ifconfig -l -b
    162  1.2  ozaki 	atf_check -s exit:0 -o ignore rump.ifconfig -l -d
    163  1.2  ozaki 	atf_check -s exit:0 -o match:'lo0 shmif0' rump.ifconfig -l -s
    164  1.2  ozaki 	atf_check -s exit:0 -o match:'lo0 shmif0' rump.ifconfig -l -u
    165  1.2  ozaki 
    166  1.2  ozaki 	# ifconfig -s interface
    167  1.2  ozaki 	#   -s interface exists with 0 / 1 if connected / disconnected
    168  1.2  ozaki 	atf_check -s exit:0 -o empty rump.ifconfig -s lo0
    169  1.2  ozaki 	atf_check -s exit:0 -o empty rump.ifconfig -s shmif0
    170  1.2  ozaki 
    171  1.2  ozaki 	# ifconfig -C
    172  1.2  ozaki 	#   -C shows all of the interface cloners available on the system
    173  1.2  ozaki 	atf_check -s exit:0 -o match:'shmif lo carp' rump.ifconfig -C
    174  1.2  ozaki 
    175  1.2  ozaki 	unset RUMP_SERVER
    176  1.2  ozaki }
    177  1.2  ozaki 
    178  1.2  ozaki options_cleanup()
    179  1.2  ozaki {
    180  1.2  ozaki 
    181  1.2  ozaki 	env RUMP_SERVER=${RUMP_SERVER1} rump.halt
    182  1.2  ozaki }
    183  1.2  ozaki 
    184  1.1  ozaki atf_init_test_cases()
    185  1.1  ozaki {
    186  1.1  ozaki 
    187  1.1  ozaki 	atf_add_test_case create_destroy
    188  1.2  ozaki 	atf_add_test_case options
    189  1.1  ozaki }
    190