On 08/25/2015 04:46 PM, Matus Marhefka wrote:
> * renamed "dummy0" to "dummy_test0" to not collide with existing
>   interfaces
> * added test case which checks that only "localhost" and "dummy"
>   interfaces are seen in /sys/class/net/ after mounting sysfs
>   in a new namespace
> 
> Signed-off-by: Matus Marhefka <mmarh...@redhat.com>
> ---
>  testcases/kernel/containers/netns/netns_sysfs.sh | 39 
> +++++++++++++++++++-----
>  1 file changed, 31 insertions(+), 8 deletions(-)
> 
> diff --git a/testcases/kernel/containers/netns/netns_sysfs.sh 
> b/testcases/kernel/containers/netns/netns_sysfs.sh
> index c10fa36..a58495e 100755
> --- a/testcases/kernel/containers/netns/netns_sysfs.sh
> +++ b/testcases/kernel/containers/netns/netns_sysfs.sh
> @@ -23,13 +23,14 @@
>  
> #==============================================================================
>  
>  TCID="netns_sysfs"
> -TST_TOTAL=2
> +TST_TOTAL=3
> +DUMMYDEV="dummy_test0"
>  . test.sh
>  
>  cleanup()
>  {
>       tst_rmdir
> -     ip link del dummy0 2>/dev/null
> +     ip link del $DUMMYDEV 2>/dev/null
>       kill -9 $NS_HANDLE 2>/dev/null
>  }
>  
> @@ -43,23 +44,45 @@ TST_CLEANUP=cleanup
>  ls /sys/class/net >sysfs_before
>  
>  
> -ns_exec $NS_HANDLE ip link add dummy0 type dummy || \
> +ns_exec $NS_HANDLE ip link add $DUMMYDEV type dummy || \
>       tst_brkm TBROK "failed to add a new dummy device"
>  ns_exec $NS_HANDLE mount -t sysfs none /sys 2>/dev/null
>  
> -ns_exec $NS_HANDLE test -d /sys/class/net/dummy0
> +
> +# TEST CASE #1
> +ns_exec $NS_HANDLE test -d "/sys/class/net/$DUMMYDEV"
>  if [ $? -eq 0 ]; then
> -     tst_resm TPASS "sysfs in new namespace has dummy0 interface"
> +     tst_resm TPASS "sysfs in new namespace has $DUMMYDEV interface"
> +else
> +     tst_resm TFAIL "sysfs in new namespace does not have $DUMMYDEV 
> interface"
> +fi
> +
> +
> +# TEST CASE #2
> +res=0
> +classnet=$(ns_exec $NS_HANDLE ls /sys/class/net/)
> +for d in $classnet; do
> +     if [ "$d" != "lo" ]; then
> +             if [ "$d" != $DUMMYDEV ]; then
> +                     tst_resm TINFO "sysfs in new namespace should not 
> contain: $d"
> +                     res=1
> +             fi
> +     fi
> +done

What about

for d in $(ns_exec $NS_HANDLE ls /sys/class/net/); do
    case "$d" in
        lo|$DUMMYDEV)
            ;;
        *)
            tst_resm TINFO "sysfs in new namespace should not contain: $d"
            res=1
        ;;
    esac
done

?

> +if [ $res -eq 0 ]; then
> +     tst_resm TPASS "sysfs in new namespace has only lo and $DUMMYDEV 
> interfaces"
>  else
> -     tst_resm TFAIL "sysfs in new namespace does not have dummy0 interface"
> +     tst_resm TFAIL "sysfs in new namespace has more than lo and $DUMMYDEV 
> interfaces"
>  fi
>  
> +
> +# TEST CASE #3
>  ls /sys/class/net >sysfs_after
>  diff sysfs_before sysfs_after
>  if [ $? -eq 0 ]; then
> -     tst_resm TPASS "sysfs not affected by a separate namespace"
> +     tst_resm TPASS "main sysfs not affected by a separate namespace"
>  else
> -     tst_resm TFAIL "sysfs affected by a separate namespace"
> +     tst_resm TFAIL "main sysfs affected by a separate namespace"
>  fi
>  
>  tst_exit
> 


------------------------------------------------------------------------------
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to