From f7f1145f94bfd20f1c54d3c50e9d09b0ab9480b7 Mon Sep 17 00:00:00 2001 From: Enji Cooper Date: Sat, 11 Apr 2015 06:40:38 +0000 Subject: [PATCH] - Remove the .t wrapper and put the "magic" of determining the number of testcases into the .c file - Require root for now because it fails with SOCK_RAW without root privileges - Increment the test count properly on socket create failure MFC after: 1 week Sponsored by: EMC / Isilon Storage Division --- .../regression/sockets/so_setfib/so_setfib.c | 11 ++++ .../regression/sockets/so_setfib/so_setfib.t | 59 ------------------- 2 files changed, 11 insertions(+), 59 deletions(-) delete mode 100644 tools/regression/sockets/so_setfib/so_setfib.t diff --git a/tools/regression/sockets/so_setfib/so_setfib.c b/tools/regression/sockets/so_setfib/so_setfib.c index 3c07852f51bc..50cb020419cf 100644 --- a/tools/regression/sockets/so_setfib/so_setfib.c +++ b/tools/regression/sockets/so_setfib/so_setfib.c @@ -45,6 +45,7 @@ * 5. Repeat for next domain family and type from (2) on. */ +#include #include #include #include @@ -143,6 +144,7 @@ t(u_int dom, u_int type) if (s == -1) { printf("not ok %d %s_%s # socket(): %s\n", testno, t_dom[dom].name, t_type[type].name, strerror(errno)); + testno++; return; } @@ -168,6 +170,11 @@ main(int argc __unused, char *argv[] __unused) u_int i, j; size_t s; + if (geteuid() != 0) { + printf("1..0 # SKIP: must be root"); + return (0); + } + /* Initalize randomness. */ srandomdev(); @@ -175,6 +182,10 @@ main(int argc __unused, char *argv[] __unused) s = sizeof(rt_numfibs); if (sysctlbyname("net.fibs", &rt_numfibs, &s, NULL, 0) == -1) err(1, "sysctlbyname(net.fibs, ..)"); + + printf("1..%lu\n", + (nitems(t_dom) - 1) * nitems(t_type) * (2 + rt_numfibs + 2 + 3)); + /* Adjust from number to index. */ rt_numfibs -= 1; diff --git a/tools/regression/sockets/so_setfib/so_setfib.t b/tools/regression/sockets/so_setfib/so_setfib.t deleted file mode 100644 index c80c17342d89..000000000000 --- a/tools/regression/sockets/so_setfib/so_setfib.t +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/sh -#- -# Copyright (c) 2012 Cisco Systems, Inc. -# All rights reserved. -# -# This software was developed by Bjoern Zeeb under contract to -# Cisco Systems, Inc.. -# -# 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$ -# - -cd `dirname $0` - -EXECUTABLE=`basename $0 .t` - -FIBS=`sysctl -n net.fibs` -INET=`sysctl -n kern.features.inet` -INET6=`sysctl -n kern.features.inet6` - -case "${INET}" in -1) OPTS="${OPTS} -DINET" ;; -*) INET=0 ;; -esac -case "${INET6}" in -1) OPTS="${OPTS} -DINET6" ;; -*) INET6=0 ;; -esac - -make ${EXECUTABLE} ${OPTS} 2>&1 > /dev/null - -# two out of bounds on each side + 3 random -FIBS=$((2 + FIBS + 2 + 3)) -# ROUTE and LOCAL are 1 domain together given 2 or 1 types only -TESTS=$(((1 + ${INET} + ${INET6}) * 3 * ${FIBS})) - -echo "1..${TESTS}" - -exec ./${EXECUTABLE}