Index: stable/12/tests/sys/net/Makefile =================================================================== --- stable/12/tests/sys/net/Makefile (revision 357489) +++ stable/12/tests/sys/net/Makefile (revision 357490) @@ -1,22 +1,23 @@ # $FreeBSD$ .include TESTSDIR= ${TESTSBASE}/sys/net BINDIR= ${TESTSDIR} ATF_TESTS_SH+= if_lagg_test ATF_TESTS_SH+= if_clone_test ATF_TESTS_SH+= if_tun_test +ATF_TESTS_C+= if_epair # The tests are written to be run in parallel, but doing so leads to random # panics. I think it's because the kernel's list of interfaces isn't properly # locked. TEST_METADATA+= is_exclusive=true MAN= -PROG= randsleep +PROGS+= randsleep WARNS?= 6 .include Index: stable/12/tests/sys/net/if_epair.c =================================================================== --- stable/12/tests/sys/net/if_epair.c (nonexistent) +++ stable/12/tests/sys/net/if_epair.c (revision 357490) @@ -0,0 +1,75 @@ +/*- + * Copyright (c) 2020 Kristof Provost + * + * 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$ + */ + +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include + +#include + +ATF_TC(params); +ATF_TC_HEAD(params, tc) +{ + atf_tc_set_md_var(tc, "require.user", "root"); +} + +ATF_TC_BODY(params, tc) +{ + struct ifreq ifr; + int s; + + s = kldload("if_epair"); + if (s == -1 && errno != EEXIST) + atf_tc_fail("Failed to load if_epair"); + + s = socket(AF_INET, SOCK_DGRAM, 0); + if (s < 0) + atf_tc_fail("Failed to create socket"); + + bzero(&ifr, sizeof(ifr)); + ifr.ifr_data = (caddr_t)-1; + (void) strlcpy(ifr.ifr_name, "epair", sizeof(ifr.ifr_name)); + + ioctl(s, SIOCIFCREATE2, &ifr); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, params); + + return (atf_no_error()); +} Property changes on: stable/12/tests/sys/net/if_epair.c ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: stable/12 =================================================================== --- stable/12 (revision 357489) +++ stable/12 (revision 357490) Property changes on: stable/12 ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## Merged /head:r357234,357365,357375