1169854Sdds#!/bin/sh 2169854Sdds# 3169854Sdds# $FreeBSD$ 4169854Sdds# 5169854Sdds 6169854SddsACCT=acct 7169854SddsRESULTS=acct.`uname -m`.tar.gz 8169854SddsTMPDIR=$$.tmp 9263226SjmmvTZ=UTC; export TZ 10169854Sdds 11169854Sddsrun() 12169854Sdds{ 13169854Sdds /usr/bin/time -l -o $1.time "$@" 14169854Sdds} 15169854Sdds 16201482Sobrienif [ `whoami` != "root" ]; then 17201482Sobrien echo "You need to be root to run this test." 18201482Sobrien exit 1 19201482Sobrienfi 20201482Sobrien 21169854Sddsecho Redirecting accounting. 22169854Sdds 23169854Sddsmkdir $TMPDIR 24169854Sddscd $TMPDIR 25169854Sdds 26169854Sdds:>$ACCT 27169854Sddsaccton $ACCT 28169854Sdds 29169854Sddsecho Running commands. This should not take more than 30s. 30169854Sdds 31169854Sdds# User time 32169854Sddsrun awk 'BEGIN {for (i = 0; i < 1000000; i++) cos(.3)}' /dev/null 33169854Sddsrun egrep '(.)(.)(.)(.)(.)(.)(.)(.)(.)\9\8\7\6\5\4\3\2\1' /usr/share/dict/words 34169854Sdds 35169854Sdds# System time 36169854Sddsrun find /usr/src -name xyzzy 37169854Sdds 38169854Sdds# Elapsed time 39169854Sddsrun sleep 3 40169854Sdds 41169854Sdds# IO 42169854Sddsrun dd if=/dev/zero bs=512 count=4096 of=zero 2>/dev/null 43169854Sdds 44169854Sdds# Memory 45169854Sddsrun diff /usr/share/dict/words /dev/null >/dev/null 46169854Sdds 47169854Sdds# AC_COMM_LEN - 1 48169854Sddsln /usr/bin/true 123456789012345 49169854Sddsrun ./123456789012345 50169854Sdds 51169854Sdds# AC_COMM_LEN 52169854Sddsln /usr/bin/true 1234567890123456 53169854Sddsrun ./1234567890123456 54169854Sdds 55169854Sdds# AC_COMM_LEN + 1 56169854Sddsln /usr/bin/true 12345678901234567 57169854Sddsrun ./12345678901234567 58169854Sdds 59169854Sdds# Flags: core, fork, signal 60169854Sddsecho 'main(){volatile int s; fork(); s = *(int *)0;}' >core.c 61169854Sddscc -o core core.c 62169854Sddsecho Generating segmentation fault. 63169854Sdds./core 64169854Sdds 65169854Sddsecho Turning off redirected accounting. 66169854Sdds 67169854Sddsaccton 68169854Sdds 69169854Sddsecho Packing the results. 70169854Sdds 71169854Sddssa -u $ACCT >sa.u 72169854Sddslastcomm -cesuS -f $ACCT >lastcomm.cesuS 73169854Sddstar -cf - acct sa.u lastcomm.cesuS *.time | 74169854Sddsgzip -c | 75169854Sddsuuencode $RESULTS >../$RESULTS.uue 76169854Sdds 77169854Sddsecho Cleaning up. 78169854Sddscd .. 79169854Sddsrm -rf $TMPDIR 80169854Sdds 81169854Sddsecho "Done! Please send your reply, enclosing the file $RESULTS.uue" 82169854Sddsecho If your system runs with accounting enabled you probably need to run: 83169854Sddsecho accton /var/account/acct 84