xref: /dflybsd-src/test/stress/stress2/misc/syscall.sh (revision 10ceb70237a56b12e34538ecbacc9b137f466937)
11365b5f1SSascha Wildner#!/bin/sh
21365b5f1SSascha Wildner
31365b5f1SSascha Wildner#
41365b5f1SSascha Wildner# Copyright (c) 2008-2009 Peter Holm
51365b5f1SSascha Wildner# All rights reserved.
61365b5f1SSascha Wildner#
71365b5f1SSascha Wildner# Redistribution and use in source and binary forms, with or without
81365b5f1SSascha Wildner# modification, are permitted provided that the following conditions
91365b5f1SSascha Wildner# are met:
101365b5f1SSascha Wildner# 1. Redistributions of source code must retain the above copyright
111365b5f1SSascha Wildner#    notice, this list of conditions and the following disclaimer.
121365b5f1SSascha Wildner# 2. Redistributions in binary form must reproduce the above copyright
131365b5f1SSascha Wildner#    notice, this list of conditions and the following disclaimer in the
141365b5f1SSascha Wildner#    documentation and/or other materials provided with the distribution.
151365b5f1SSascha Wildner#
161365b5f1SSascha Wildner# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
171365b5f1SSascha Wildner# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
181365b5f1SSascha Wildner# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
191365b5f1SSascha Wildner# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
201365b5f1SSascha Wildner# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
211365b5f1SSascha Wildner# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
221365b5f1SSascha Wildner# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
231365b5f1SSascha Wildner# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
241365b5f1SSascha Wildner# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
251365b5f1SSascha Wildner# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
261365b5f1SSascha Wildner# SUCH DAMAGE.
271365b5f1SSascha Wildner#
281365b5f1SSascha Wildner# $FreeBSD$
291365b5f1SSascha Wildner#
301365b5f1SSascha Wildner
311365b5f1SSascha Wildner# Test calls with random arguments, in reverse order
321365b5f1SSascha Wildner
331365b5f1SSascha Wildner[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1
341365b5f1SSascha Wildner
351365b5f1SSascha Wildner. ../default.cfg
361365b5f1SSascha Wildner
37*10ceb702SSascha Wildner#kldstat -v | grep -q aio      || kldload aio
38*10ceb702SSascha Wildner#kldstat -v | grep -q mqueuefs || kldload mqueuefs
391365b5f1SSascha Wildner
401365b5f1SSascha Wildnersyscall=`grep SYS_MAXSYSCALL /usr/include/sys/syscall.h | awk '{print $NF}'`
411365b5f1SSascha Wildner
421365b5f1SSascha Wildnern=$syscall
431365b5f1SSascha Wildner[ $# -eq 1 ] && n=$1
441365b5f1SSascha Wildner
451365b5f1SSascha Wildnerrm -f /tmp/syscall.log
461365b5f1SSascha Wildnerwhile [ $n -gt 0 ]; do
471365b5f1SSascha Wildner	echo "`date '+%T'` syscall $n" | tee /dev/tty >> /tmp/syscall.log
481365b5f1SSascha Wildner	for i in `jot 5`; do
491365b5f1SSascha Wildner		su ${testuser} -c "sh -c \"../testcases/syscall/syscall -t 30s -i 100 -h -l 100 -k $n\""
501365b5f1SSascha Wildner	done
511365b5f1SSascha Wildner	n=$((n - 1))
521365b5f1SSascha Wildner	chflags -R 0 $RUNDIR
531365b5f1SSascha Wildner	rm -rf $RUNDIR
541365b5f1SSascha Wildnerdone
55