Date: Sun, 24 Nov 2013 09:27:33 +0000 (UTC) From: Peter Holm <pho@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r258514 - user/pho/stress2/misc Message-ID: <201311240927.rAO9RXaN093966@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: pho Date: Sun Nov 24 09:27:33 2013 New Revision: 258514 URL: http://svnweb.freebsd.org/changeset/base/258514 Log: Added options to script for better control of tests. Sponsored by: EMC / Isilon storage division Modified: user/pho/stress2/misc/syscall5.sh Modified: user/pho/stress2/misc/syscall5.sh ============================================================================== --- user/pho/stress2/misc/syscall5.sh Sun Nov 24 09:24:53 2013 (r258513) +++ user/pho/stress2/misc/syscall5.sh Sun Nov 24 09:27:33 2013 (r258514) @@ -36,30 +36,59 @@ . ../default.cfg syscall=`grep SYS_MAXSYSCALL /usr/include/sys/syscall.h | awk '{print $NF}'` +syscall=$((syscall - 1)) +args=`getopt ars:t: $*` +[ $? -ne 0 ] && echo "Usage $0 [-a] [-r] [-s number] [-t seconds]" && exit 1 +set -- $args +for i; do + case "$i" in + -a) all=1 # Test all syscalls + shift + ;; + -r) [ -h .syscall5.last ] && + syscall=`ls -l .syscall5.last | awk '{print $NF}'` + syscall=$((syscall - 1)) + shift + ;; + -s) syscall=$2 + shift; shift + ;; + -t) sleeptime=$2 + export sleeptime=$((sleeptime / 10)) # used in syscall4.sh + shift; shift + ;; + --) + shift + break + ;; + esac +done -# syscalls with knows issues: +# syscalls with known issues: broken=" swapcontext +pdfork rfork -_umtx_op +pselect " -n=$syscall -n=$((n - 1)) - rm -f ./syscall5.log +n=$syscall start=`date '+%s'` while [ $n -gt 0 ]; do ps -lUnobody | grep syscall4 | awk '{print $2}' | xargs kill + ln -fs $n .syscall5.last name=`grep -w $n /usr/include/sys/syscall.h | awk '{print $2}' | sed 's/SYS_//'` + [ -z "$name" ] && name="unknown" echo "`date '+%T'` syscall $n ($name)" | tee /dev/tty >> ./syscall5.log + printf "`date '+%T'` syscall $n ($name)\r\n" > /dev/console sync; sleep 1 echo "$broken" | grep -qw "$name" || ./syscall4.sh $n || break n=$((n - 1)) - [ $# -eq 0 -a `date '+%s'` -gt $((start + 1800)) ] && break + [ -z "$all" -a `date '+%s'` -gt $((start + 1800)) ] && break done -rm -f ./syscall5.log +rm -f ./syscall5.log .syscall5-last
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311240927.rAO9RXaN093966>