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>