aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorEnji Cooper <ngie@FreeBSD.org>2015-04-11 06:40:38 +0000
committerEnji Cooper <ngie@FreeBSD.org>2015-04-11 06:40:38 +0000
commitf7f1145f94bfd20f1c54d3c50e9d09b0ab9480b7 (patch)
tree04f1488dcfd8e13e043de56064053600b7740190 /tools
parentddecfa0403e60912d4391c0a72e839d65f0ca050 (diff)
downloadsrc-f7f1145f94bfd20f1c54d3c50e9d09b0ab9480b7.tar.gz
src-f7f1145f94bfd20f1c54d3c50e9d09b0ab9480b7.zip
- 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
Notes
Notes: svn path=/head/; revision=281408
Diffstat (limited to 'tools')
-rw-r--r--tools/regression/sockets/so_setfib/so_setfib.c11
-rw-r--r--tools/regression/sockets/so_setfib/so_setfib.t59
2 files changed, 11 insertions, 59 deletions
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 <sys/param.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/sysctl.h>
@@ -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}