18a272653SPeter Holm# Stress Test Suite Configuration. 28a272653SPeter Holm 38a272653SPeter Holm# Changes should be added to a `hostname` file in this directory. 48a272653SPeter Holm# As a minimum you must updated "testuser". 58a272653SPeter Holm 68a272653SPeter Holmexport SHELL=/bin/sh 78a272653SPeter Holm: ${allconfig:=/tmp/stress2.d/`hostname`} 88a272653SPeter Holm[ -f "$allconfig" ] && . $allconfig # Source in local configuration 98a272653SPeter Holm 108a272653SPeter Holm# Default values 118a272653SPeter Holmexport RUNDIR=${RUNDIR:-/tmp/stressX} 128a272653SPeter Holmexport RUNTIME=${RUNTIME:-2m} 138a272653SPeter Holmexport VERBOSE=${VERBOSE:-1} 148a272653SPeter Holmexport LOAD=${LOAD:-20} 158a272653SPeter Holm 168a272653SPeter Holm# The INCARNATIONS variable may be set to match the number of CPUs and 178a272653SPeter Holm# the amount of RAM in the test box. 188a272653SPeter Holmexport INCARNATIONS=${INCARNATIONS:-20} 198a272653SPeter Holm 208a272653SPeter Holmexport BLASTHOST=${BLASTHOST:-192.168.1.1} # host with udp discard enabled in inetd.conf 218a272653SPeter Holm#export nfs_export=somehost:mount # Used by the NFS tests 228a272653SPeter Holm 238a272653SPeter Holm# Run all test cases: 248a272653SPeter Holmexport runRUNTIME=${runRUNTIME:-3d} # Run tests for three days 258a272653SPeter Holmexport runINCARNATIONS=1 268a272653SPeter Holmexport runLOAD=100 278a272653SPeter Holm 288a272653SPeter Holmexport swapINCARNATIONS=${swapINCARNATIONS:-$((2 * INCARNATIONS))} 298a272653SPeter Holmexport swapLOAD=${swapLOAD:-80} 308a272653SPeter Holm 318a272653SPeter Holmexport syscallKILL=1 328a272653SPeter Holmexport swapKILL=1 # May takes a long time to stop 338a272653SPeter Holm 348a272653SPeter Holmexport rwLOAD=${rwLOAD:-70} 358a272653SPeter Holmexport mkdirLOAD=${mkdirLOAD:-80} 368a272653SPeter Holmexport creatLOAD=${creatLOAD:-80} 378a272653SPeter Holm 388a272653SPeter Holmexport symlinkLOAD=${symlinkLOAD:-20} 398a272653SPeter Holm 408a272653SPeter Holmexport tcpKILL=1 418a272653SPeter Holmexport shmINCARNATIONS=${shmINCARNATIONS:-5} 428a272653SPeter Holm 438a272653SPeter Holm[ -z "$TESTPROGS" ] && export TESTPROGS=" 448a272653SPeter Holmtestcases/rw/rw 458a272653SPeter Holmtestcases/swap/swap 468a272653SPeter Holmtestcases/creat/creat 478a272653SPeter Holmtestcases/mkdir/mkdir 488a272653SPeter Holmtestcases/thr1/thr1 498a272653SPeter Holmtestcases/udp/udp 508a272653SPeter Holmtestcases/tcp/tcp 518a272653SPeter Holm" 528a272653SPeter Holm 538a272653SPeter Holm# 548a272653SPeter Holm# Defaults for ./misc tests 558a272653SPeter Holm# 568a272653SPeter Holm 578a272653SPeter Holmexport diskimage=${diskimage:-/tmp/diskimage} # Location of 1G disk image 588a272653SPeter Holmexport mntpoint=${mntpoint:-/mnt} # Disk image mount point 598a272653SPeter Holmexport testuser=${testuser:-TBD} # Name of non root test user 608a272653SPeter Holmexport mdstart=${mdstart:-10} # Start of free md units 618a272653SPeter Holmexport newfs_flags=${newfs_flags:-"-U"} # Default file system flags 628a272653SPeter Holmexport stress2origin=${stress2origin:-`pwd`} 638a272653SPeter Holmexport stress2tools=`dirname $stress2origin`/tools 648a272653SPeter Holm 658a272653SPeter Holm# fsck wrapper 668a272653SPeter Holmcheckfs () { 678a272653SPeter Holm local s 688a272653SPeter Holm 698a272653SPeter Holm fsck -t ufs -fy $1 > /tmp/fsck.log 2>&1 708a272653SPeter Holm if grep -v "IS CLEAN" /tmp/fsck.log | \ 718a272653SPeter Holm LANG=C egrep -q "[A-Z][A-Z]"; then 728a272653SPeter Holm echo "fsck -t ufs -fy $1" 738a272653SPeter Holm cat /tmp/fsck.log 748a272653SPeter Holm s=1 758a272653SPeter Holm else 768a272653SPeter Holm rm -f /tmp/fsck.log 778a272653SPeter Holm s=0 788a272653SPeter Holm fi 798a272653SPeter Holm return $s 808a272653SPeter Holm} 818a272653SPeter Holm 828a272653SPeter Holm# Support for pre-build binaries for stress2/misc tests 838a272653SPeter Holm# Build modes: 848a272653SPeter Holm# 1 Build and copy binary to $STRESS2BIN 858a272653SPeter Holm# 2 Do not compile; use binary from $STRESS2BIN 868a272653SPeter Holm 878a272653SPeter Holm# Examples: 888a272653SPeter Holm# BMODE=1 ./all.sh -on `grep -lw mycc *.sh` 898a272653SPeter Holm# BMODE=2 STRESS2BIN=/home/pho/stress2/bin.i386.r276368 ./all.sh 908a272653SPeter Holm 91*750ae32bSPeter HolmBMODE=${BMODE:-0} 928a272653SPeter HolmCC=${CC:-cc} 938a272653SPeter Holmtop=`dirname $(pwd)` # cwd for the all.sh script 948a272653SPeter HolmSTRESS2BIN=${STRESS2BIN:-$top/bin} 958a272653SPeter Holmmycc () { # "-o" must be first argument 968a272653SPeter Holm local file 978a272653SPeter Holm 988a272653SPeter Holm [ "$1" = "-o" ] && file=`basename $2` 998a272653SPeter Holm if [ "$BMODE" = "1" ]; then 1008a272653SPeter Holm $CC $@ || return 1018a272653SPeter Holm [ -z "$file" ] && return # "-c" 1028a272653SPeter Holm [ -d $STRESS2BIN ] || mkdir $STRESS2BIN 1038a272653SPeter Holm [ -x $STRESS2BIN/$file ] && 1048a272653SPeter Holm echo "Overwriting $STRESS2BIN/$file" 1058a272653SPeter Holm echo "cp $2 $STRESS2BIN" 1068a272653SPeter Holm cp $2 $STRESS2BIN 1078a272653SPeter Holm exit 0 # Build but do not run the test 1088a272653SPeter Holm elif [ "$BMODE" = "2" ]; then 1098a272653SPeter Holm [ -z "$file" ] && return 1108a272653SPeter Holm if [ ! -x $STRESS2BIN/$file ]; then 1118a272653SPeter Holm echo "$STRESS2BIN/$file not found" 1128a272653SPeter Holm exit 1 1138a272653SPeter Holm fi 1148a272653SPeter Holm echo "Using binary $STRESS2BIN/$file" 1158a272653SPeter Holm cp $STRESS2BIN/$file /tmp 1168a272653SPeter Holm else 1178a272653SPeter Holm $CC $@ # default "build and run" mode 1188a272653SPeter Holm fi 1198a272653SPeter Holm} 1208a272653SPeter Holm 1218a272653SPeter Holmid $testuser > /dev/null 2>&1 || 1228a272653SPeter Holm { echo "Non-root \$testuser \"$testuser\" not found."; exit 1; } 123