Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Sep 2012 18:11:27 -0700
From:      Garrett Cooper <yanegomi@gmail.com>
To:        Ed Maste <emaste@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r240944 - in head/tools/regression/net: . if_tap
Message-ID:  <CAGH67wQDaSprjhCXGGLGtu8ggnM-0bk8x1fTezSd8ZFpghnAVQ@mail.gmail.com>
In-Reply-To: <201209260025.q8Q0PAp0021186@svn.freebsd.org>
References:  <201209260025.q8Q0PAp0021186@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Sep 25, 2012 at 5:25 PM, Ed Maste <emaste@freebsd.org> wrote:
> Author: emaste
> Date: Wed Sep 26 00:25:09 2012
> New Revision: 240944
> URL: http://svn.freebsd.org/changeset/base/240944
>
> Log:
>   Add regression test for kern/172075.
>
>   Sponsored by: ADARA Networks
>   PR:           kern/172075
>
> Added:
>   head/tools/regression/net/
>   head/tools/regression/net/if_tap/
>   head/tools/regression/net/if_tap/test-tap.sh   (contents, props changed)
>
> Added: head/tools/regression/net/if_tap/test-tap.sh
> ==============================================================================
> --- /dev/null   00:00:00 1970   (empty, because file is newly added)
> +++ head/tools/regression/net/if_tap/test-tap.sh        Wed Sep 26 00:25:09 2012        (r240944)
> @@ -0,0 +1,59 @@
> +#!/bin/sh
> +
> +# Copyright (C) 2012 ADARA Networks.  All rights reserved.
> +#
> +# Redistribution and use in source and binary forms, with or without
> +# modification, are permitted provided that the following conditions
> +# are met:
> +# 1. Redistributions of source code must retain the above copyright
> +#    notice, this list of conditions and the following disclaimer.
> +# 2. Redistributions in binary form must reproduce the above copyright
> +#    notice, this list of conditions and the following disclaimer in the
> +#    documentation and/or other materials provided with the distribution.
> +#
> +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
> +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> +# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
> +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
> +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
> +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
> +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> +# SUCH DAMAGE.
> +#
> +# $FreeBSD$
> +
> +tap_exists()
> +{
> +       ls -1 /dev | grep -q "$1"
> +}
> +
> +if [ $(id -u) -ne 0 ]; then
> +       echo "Must be root" >&2
> +       exit 1
> +fi
> +
> +set -e
> +
> +# Base case create & destroy
> +tap=$(ifconfig tap create)
> +tap_exists $tap
> +ifconfig $tap destroy
> +! tap_exists $tap
> +
> +# kern/172075: INVARIANTS kernel panicked when destroying an in-use tap(4)
> +# Fixed in HEAD r240938.
> +tap=$(ifconfig tap create)
> +tap_exists $tap
> +cat /dev/$tap > /dev/null &
> +catpid=$!
> +sleep 0.1
> +ifconfig $tap destroy &
> +sleep 0.1
> +kill $catpid
> +! tap_exists $tap
> +
> +echo PASS
> +exit 0

    This test is technically only valid if sysctl
kern.features.invariant_support == 1, right?
Thanks!
-Garrett



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGH67wQDaSprjhCXGGLGtu8ggnM-0bk8x1fTezSd8ZFpghnAVQ>