Add in sheilas config.
[xfstests-dev.git] / common.config
index 4df0af020cece84c6b450a4b7fec40b26c4bd9a3..ce5ea6582175627c2b5856b04672978dc0df9e5b 100644 (file)
@@ -1,7 +1,6 @@
 ##/bin/sh
-
 #
-# Copyright (c) 2000 Silicon Graphics, Inc.  All Rights Reserved.
+# Copyright (c) 2000-2003 Silicon Graphics, Inc.  All Rights Reserved.
 # 
 # This program is free software; you can redistribute it and/or modify it
 # under the terms of version 2 of the GNU General Public License as
 # 
 # and optionally:
 # SCRATCH_LOGDEV       - scratch log device for external log testing
-# SCRATCH_RTDEV                - scratch rt dev (only for testing cmds currently)
+# SCRATCH_RTDEV                - scratch rt dev
+# TEST_LOGDEV          - test log device for external log testing
+# TEST_RTDEV           - test rt dev
 # TAPE_DEV             - the tape device for the xfsdump tests
 # RMT_TAPE_DEV         - the remote tape device for the xfsdump tests
 # RMT_IRIXTAPE_DEV     - the IRIX remote tape device for the xfsdump tests
 # RMT_TAPE_USER                - remote user for tape device
 #
-
-#
+# - These can be added to known_hosts() below or a separate local
+#   configuration file can be used (using the HOST_OPTIONS variable).
 # - This script is shared by the stress test system and the auto-qa
-#   system
+#   system (includes both regression test and benchmark components).
 # - TEST_DEV & TEST_DIR must be assigned.
 # - this script shouldn't make any assertions about filesystem
 #   validity or mountedness.
 #
 
-_readlink()
+# Warning: don't put freeware before /usr/bsd on IRIX coz you'll
+#          get the wrong hostname and set your system name to -s  :)
+[ -d /usr/bsd ] && PATH=$PATH:/usr/bsd
+[ -d /usr/freeware/bin ] && PATH=$PATH:/usr/freeware/bin
+PATH=".:$PATH"
+
+HOST=`hostname -s`
+HOSTOS=`uname -s`
+[ "$HOSTOS" = "IRIX64" ] && HOSTOS="IRIX"
+
+MODULAR=0              # using XFS as a module or not
+BOOT="/boot"           # install target for kernels
+export EXTRA=${EXTRA:=xfs-qa}
+
+# general parameters (mainly for auto-qa)
+SOAK_PROC=3            # -p option to fsstress
+SOAK_STRESS=10000      # -n option to fsstress
+SOAK_PASSES=-1         # count of repetitions of fsstress (while soaking)
+EMAIL=root@localhost   # where auto-qa will send its status messages
+export HOST_OPTIONS=${HOST_OPTIONS:=local.config}
+export CHECK_OPTIONS=${CHECK_OPTIONS:="-g auto"}
+export BENCH_PASSES=${BENCH_PASSES:=5}
+export XFS_MKFS_OPTIONS=${XFS_MKFS_OPTIONS:=-bsize=4096}
+
+#export DEBUG=${DEBUG:=...} # arbitrary CFLAGS really.
+export MALLOCLIB=${MALLOCLIB:=/usr/lib/libefence.a}
+export LOCAL_CONFIGURE_OPTIONS=${LOCAL_CONFIGURE_OPTIONS:=--enable-readline=yes}
+
+# $1 = prog to look for, $2* = default pathnames if not found in $PATH
+set_prog_path()
 {
-    if [ $# -ne 1 ]
+    p=`which $1 2> /dev/null`
+    if [ -n "$p" -a -x "$p" ]
     then
-       echo "Usage: _readlink filename" 1>&2
-       exit 1
+       echo $p
+       return 0
     fi
+    p=$1
 
-    perl -e "\$in=\"$1\";" -e '
-       $lnk = readlink($in);
-       if ($lnk =~ m!^/.*!) {
-         print "$lnk\n";
-       }
-       else {
-         chomp($dir = `dirname $in`);
-         print "$dir/$lnk\n";
-       }'
+    shift
+    for f
+    do
+       if [ -x $f ]
+       then
+           echo $f
+           return 0
+       fi
+    done
+
+    echo ""
+    return 1
 }
 
+_fatal()
+{
+    echo "$*"
+    status=1
+    exit 1
+}
 
-case `hostname -s`
-in
-    fuzzy)
-        TEST_DEV=/dev/sda6
-       TEST_DIR=/mnt/xfs1
-       SCRATCH_DEV=/dev/sda5
-       SCRATCH_MNT=/mnt/xfs0
-       SCRATCH_LOGDEV=/dev/sda7
-       TAPE_DEV=/dev/st0
-       RMT_TAPE_DEV=fuzzy:/dev/st0
-       RMT_IRIXTAPE_DEV=snort:/dev/tape
-       RMT_TAPE_USER=guest
-       ;;
-    bruce)
-        TEST_DEV=/dev/sda10
-       TEST_DIR=/mnt/xfs1
-       SCRATCH_DEV=/dev/sda9
-       SCRATCH_MNT=/mnt/xfs0
-       SCRATCH_LOGDEV=/dev/sda11
-       TAPE_DEV=/dev/st0
-       RMT_TAPE_DEV=bruce:/dev/st0
-       RMT_IRIXTAPE_DEV=snort:/dev/tape
-       ;;
-    sherman)
-       TEST_DEV=/dev/sda10
-       TEST_DIR=/mnt/xfs1
-       SCRATCH_DEV=/dev/sda9
-       SCRATCH_MNT=/mnt/xfs0
-        ;;
-    sagan)
-        TEST_DEV=/dev/sda6
-       TEST_DIR=/mnt/xfs0
-       SCRATCH_DEV=/dev/sda7
-       SCRATCH_MNT=/mnt/xfs1
-       TAPE_DEV=/dev/st0
-       RMT_TAPE_DEV=sagan:/dev/st0
-       RMT_IRIXTAPE_DEV=snort:/dev/tape
-       RMT_TAPE_USER=guest
-       ;;
-    leesa)
-        TEST_DEV=/dev/xfs_test
-       TEST_DIR=/mnt/xfs_test
-        SCRATCH_DEV=/dev/xfs_scratch
-       SCRATCH_MNT=/mnt/xfs_scratch
-       SCRATCH_LOGDEV=/dev/xfs_log
-       ;;
-    troppo)
-       TEST_DEV=/dev/hdb13
-       TEST_DIR=/mnt/test
-       SCRATCH_DEV=/dev/hdb14
-       SCRATCH_MNT=/mnt/scratch
-       SCRATCH_LOGDEV=/dev/hdb15
-       ;;
-    lord)
-       TEST_DIR=/xfs
-       TEST_DEV=/dev/sda5
-       SCRATCH_DEV=/dev/sda6
-       SCRATCH_LOGDEV=/dev/hda7
-       SCRATCH_RTDEV=/dev/hda8
-       SCRATCH_MNT=/xfs1
-       ;;
-    burst)
-       TEST_DIR=/xfs
-       TEST_DEV=/dev/hda3
-       SCRATCH_DEV=/dev/hda7
-       SCRATCH_MNT=/scratch
-       ;;
-    lumpy)
-       TEST_DEV=/dev/sdc5
-       TEST_DIR=/mnt/scratch_0
-       SCRATCH_DEV=/dev/sdc7
-       SCRATCH_MNT=/mnt/scratch_2
-       ;;
-    bongo)
-       TEST_DEV=/dev/hda8
-       TEST_DIR=/xfs1
-       SCRATCH_DEV=/dev/hda9
-       SCRATCH_MNT=/xfs2
-       SCRATCH_LOGDEV=/dev/hda10
-       SCRATCH_RTDEV=/dev/hda11
-       ;;
-    snowy)
-       TEST_DEV=/dev/sda7
-       TEST_DIR=/mnt/xfs0
-       SCRATCH_DEV=/dev/sda8
-       SCRATCH_MNT=/mnt/xfs1
-       SCRATCH_LOGDEV=/dev/sda9
-       ;;
-    surly)
-        TEST_DEV=/dev/hda9
-       TEST_DIR=/mnt/xfs1
-       SCRATCH_DEV=/dev/hda8
-       SCRATCH_MNT=/mnt/xfs0
-       SCRATCH_LOGDEV=/dev/hda10
-       TAPE_DEV=/dev/st0
-       RMT_TAPE_DEV=fuzzy:/dev/st0
-       RMT_IRIXTAPE_DEV=blub:/dev/tape
-       RMT_TAPE_USER=guest
-       ;;
-    permit)
-       TEST_DEV=/dev/sdc1
-       TEST_DIR=/mnt/xfs0
-       SCRATCH_DEV=/dev/sdd1
-       SCRATCH_MNT=/mnt/xfs1
-       ;;
-    indra)
-       TEST_DEV=/dev/sdb1
-       TEST_DIR=/mnt/xfs0
-       SCRATCH_DEV=/dev/sdb2
-       SCRATCH_MNT=/mnt/xfs1
-       ;;
-    usermode)
-       TEST_DEV=/dev/ubd/1
-       TEST_DIR=/mnt/test
-       SCRATCH_DEV=/dev/ubd/2
-       SCRATCH_MNT=/mnt/scratch
-       SCRATCH_RTDEV=/dev/ubd/3
-       SCRATCH_LOGDEV=/dev/ubd/4
-       ;;
-    lite)
-       TEST_DEV=/dev/sda1
-       TEST_DIR=/mnt/sda1
-       SCRATCH_DEV=/dev/sda2
-       SCRATCH_MNT=/mnt/sda2
-       SCRATCH_LOGDEV=/dev/sda3
-       ;;
-    *)
-       echo "common.config: Error: need to define parameters for host `hostname -s`"
-       exit 1
-       ;;
+export MKFS_PROG="`set_prog_path mkfs`"
+[ "$MKFS_PROG" = "" ] && _fatal "mkfs not found"
+
+export AWK_PROG="`set_prog_path awk`"
+[ "$AWK_PROG" = "" ] && _fatal "awk not found"
+
+export MOUNT_PROG="`set_prog_path mount`"
+[ "$MOUNT_PROG" = "" ] && _fatal "mount not found"
+
+export UMOUNT_PROG="`set_prog_path umount`"
+[ "$UMOUNT_PROG" = "" ] && _fatal "umount not found"
+
+export NSLOOKUP_PROG="`set_prog_path nslookup`"
+[ "$NSLOOKUP_PROG" = "" ] && _fatal "nslookup not found"
+
+export PERL_PROG="`set_prog_path perl`"
+[ "$PERL_PROG" = "" ] && _fatal "perl not found"
+
+export SED_PROG="`set_prog_path sed`"
+[ "$SED_PROG" = "" ] && _fatal "sed not found"
+
+export PS_ALL_FLAGS="-ef"
+
+export DF_PROG="`set_prog_path df`"
+[ "$DF_PROG" = "" ] && _fatal "df not found"
+[ "$HOSTOS" = "Linux" ] && export DF_PROG="$DF_PROG -T"
+
+export XFS_LOGPRINT_PROG="`set_prog_path xfs_logprint`"
+export XFS_REPAIR_PROG="`set_prog_path xfs_repair`"
+export XFS_CHECK_PROG="`set_prog_path xfs_check`"
+export XFS_DB_PROG="`set_prog_path xfs_db`"
+
+case "$HOSTOS" in
+    IRIX*)
+          export MKFS_XFS_PROG="`set_prog_path mkfs_xfs`"
+          export MKFS_UDF_PROG="`set_prog_path mkfs_udf`" 
+          export XFS_FSR_PROG="`set_prog_path /usr/etc/fsr_xfs`"
+          export MKFS_NFS_PROG="false" 
+          ;;
+    Linux)
+          export MKFS_XFS_PROG="`set_prog_path mkfs.xfs`"
+          export MKFS_UDF_PROG="`set_prog_path mkudffs`"
+          export XFS_FSR_PROG="`set_prog_path xfs_fsr`"
+          export MKFS_NFS_PROG="false" 
+          ;;
 esac
 
-if [ ! -b "$TEST_DEV" ]
+known_hosts()
+{
+       case "$HOST"
+       in
+           sheila)
+               MODULAR=1
+               EMAIL="nathans@larry"
+               SCRATCH_MNT=/mnt/xfs0
+               SCRATCH_DEV=/dev/hda5
+               TEST_DIR=/mnt/xfs1
+               TEST_DEV=/dev/hda7
+               RMT_TAPE_DEV=bruce:/dev/st0
+               RMT_IRIXTAPE_DEV=snort:/dev/tape
+               RMT_TAPE_USER=guest
+               ;;
+           bruce)
+               MODULAR=0
+               EMAIL="nathans@larry"
+               SCRATCH_MNT=/mnt/xfs0
+               SCRATCH_DEV=/dev/sdb5
+               #SCRATCH_RTDEV=/dev/sdc1
+               SCRATCH_LOGDEV=/dev/sda11
+               TEST_DIR=/mnt/xfs1
+               TEST_DEV=/dev/sdc3
+               #TEST_RTDEV=/dev/sdb6
+               TEST_LOGDEV=/dev/sda9
+               TAPE_DEV=/dev/st0
+               RMT_TAPE_DEV=bruce:/dev/st0
+               RMT_IRIXTAPE_DEV=snort:/dev/tape
+               RMT_TAPE_USER=guest
+               ;;
+           frodo)
+               MODULAR=0
+               EMAIL="nathans@larry"
+               TEST_DEV=/dev/hda6
+               TEST_DIR=/mnt/test
+               SCRATCH_DEV=/dev/hda7
+               SCRATCH_MNT=/mnt/scratch
+               SCRATCH_LOGDEV=/dev/hda9
+               ;;
+           goldfish)
+               MODULAR=0
+               TEST_DEV=/dev/hdc1
+               TEST_DIR=/mnt/xfs0
+               SCRATCH_DEV=/dev/hdc2
+               SCRATCH_MNT=/mnt/xfs1
+               SCRATCH_LOGDEV=/dev/hdc3
+               ;;
+           burst)
+               TEST_DIR=/xfs
+               TEST_DEV=/dev/hda3
+               SCRATCH_DEV=/dev/hda7
+               SCRATCH_MNT=/scratch
+               ;;
+           lumpy)
+               TEST_DEV=/dev/sdc5
+               TEST_DIR=/mnt/scratch_0
+               SCRATCH_DEV=/dev/sdc7
+               SCRATCH_MNT=/mnt/scratch_2
+               ;;
+           bongo)
+               TEST_DEV=/dev/hda8
+               TEST_DIR=/xfs1
+               SCRATCH_DEV=/dev/hda9
+               SCRATCH_MNT=/xfs2
+               SCRATCH_LOGDEV=/dev/hda10
+               SCRATCH_RTDEV=/dev/hda11
+               ;;
+           surly)
+               TEST_DEV=/dev/hda9
+               TEST_DIR=/mnt/xfs1
+               SCRATCH_DEV=/dev/hda8
+               SCRATCH_MNT=/mnt/xfs0
+               SCRATCH_LOGDEV=/dev/hda10
+               TAPE_DEV=/dev/st0
+               RMT_TAPE_DEV=fuzzy:/dev/st0
+               RMT_IRIXTAPE_DEV=blub:/dev/tape
+               RMT_TAPE_USER=guest
+               ;;
+           permit)
+               TEST_DEV=/dev/sdc1
+               TEST_DIR=/mnt/xfs0
+               SCRATCH_DEV=/dev/sdd1
+               SCRATCH_MNT=/mnt/xfs1
+               ;;
+           indra)
+               TEST_DEV=/dev/sdb1
+               TEST_DIR=/mnt/xfs0
+               SCRATCH_DEV=/dev/sdb2
+               SCRATCH_MNT=/mnt/xfs1
+               ;;
+           usermode)
+               TEST_DEV=/dev/ubd/1
+               TEST_DIR=/mnt/test
+               SCRATCH_DEV=/dev/ubd/2
+               SCRATCH_MNT=/mnt/scratch
+               SCRATCH_RTDEV=/dev/ubd/3
+               SCRATCH_LOGDEV=/dev/ubd/4
+               ;;
+           lite)
+               TEST_DEV=/dev/sda1
+               TEST_DIR=/mnt/sda1
+               SCRATCH_DEV=/dev/sda2
+               SCRATCH_MNT=/mnt/sda2
+               SCRATCH_LOGDEV=/dev/sda3
+               SCRATCH_RTDEV=/dev/sda4
+               ;;
+           dmfnt2)
+               TEST_DEV=/dev/sda6
+               TEST_DIR=/mnt/test
+               SCRATCH_DEV=/dev/sdc6
+               SCRATCH_MNT=/mnt/scratch
+               TAPE_DEV=/dev/st0
+               RMT_TAPE_DEV=longhorn:/dev/tape
+               # RMT_IRIXTAPE_DEV=longhorn:/dev/tape
+               RMT_TAPE_USER=guest
+               ;;
+           lab343)
+               MODULAR=0
+               EMAIL="hch@sgi.com"
+               TEST_DEV=/dev/sdb1
+               SCRATCH_DEV=/dev/sdb2
+               SCRATCH_LOGDEV=/dev/sdb5
+               SCRATCH_RTDEV=/dev/sdb6
+               TEST_DIR=/qa/test
+               SCRATCH_MNT=/qa/scratch
+               ;;
+           icy)
+               MODULAR=0
+               EMAIL="ajones@sgi.com"
+               TEST_DIR=/mnt/test
+               TEST_DEV=/dev/sda3
+               #TEST_LOGDEV=/dev/sda9
+               #TEST_RTDEV=/dev/sda10
+               SCRATCH_MNT=/mnt/scratch
+               #SCRATCH_DEV=emu:/mnt/scratch
+               SCRATCH_DEV=/dev/sda5
+               SCRATCH_LOGDEV=/dev/sda8
+               SCRATCH_RTDEV=/dev/sda7
+               TAPE_DEV=/dev/st0
+               RMT_IRIXTAPE_DEV=snort:/dev/tape
+               RMT_TAPE_DEV=icy:/dev/st0
+               RMT_TAPE_USER=guest
+               ;;
+            dribble)
+                MODULAR=0
+                EMAIL="ajones@sgi.com"
+                TEST_DIR=/mnt/test
+                TEST_DEV=/dev/dsk/dks0d2s0
+                #TEST_LOGDEV=
+                SCRATCH_MNT=/mnt/scratch
+               #SCRATCH_DEV=emu:/mnt/scratch
+               SCRATCH_DEV=/dev/dsk/dks0d2s1
+                #SCRATCH_LOGDEV=
+                #SCRATCH_RTDEV=
+                TAPE_DEV=/dev/tape
+                RMT_TAPE_DEV=icy:/dev/st0
+                RMT_TAPE_USER=guest
+                RMT_IRIXTAPE_DEV=snort:/dev/tape        
+                ;;
+           emu)
+               MODULAR=0
+               EMAIL="ajones@sgi.com"
+               TEST_DIR=/mnt/test
+               TEST_DEV=/dev/sdb1
+               SCRATCH_MNT=/mnt/scratch
+               SCRATCH_DEV=/dev/sdb2
+               ;;
+           inferno)
+               MODULAR=1
+               EMAIL="ajones@sgi.com"
+               TEST_DIR=/mnt/test
+               TEST_DEV=/dev/sdb1
+               SCRATCH_MNT=/mnt/scratch
+               SCRATCH_DEV=/dev/sdb2
+               ;;
+
+           *)  
+               echo "Error: need to define parameters for host $HOST"
+               exit 1
+               ;;
+       esac
+}
+
+if [ -f "$HOST_OPTIONS" ]; then
+    . "$HOST_OPTIONS"
+else
+    known_hosts
+fi
+
+echo $TEST_DEV | grep -q ":" > /dev/null 2>&1
+if [ ! -b "$TEST_DEV" -a "$?" != "0" ]
 then
-    echo "common.config: Error: \$TEST_DEV ($TEST_DEV) is not a block device"
+    echo "common.config: Error: \$TEST_DEV ($TEST_DEV) is not a block device or a NFS filesystem"
     exit 1
 fi
 
@@ -223,18 +370,38 @@ then
     exit 1
 fi
 
-if [ ! -z "$SCRATCH_DEV" -a ! -b "$SCRATCH_DEV" ]
+echo $SCRATCH_DEV | grep -q ":" > /dev/null 2>&1
+if [ ! -z "$SCRATCH_DEV" -a ! -b "$SCRATCH_DEV" -a "$?" != "0" ]
 then
-    echo "common.config: Error: \$SCRATCH_DEV ($SCRATCH_DEV) is not a block device"
+    echo "common.config: Error: \$SCRATCH_DEV ($SCRATCH_DEV) is not a block device or a NFS filesystem"
     exit 1
 fi
 
-if [ ! -z "$SCRATCH_DEV" -a ! -d "$SCRATCH_MNT" ]
+if [ ! -z "$SCRATCH_MNT" -a ! -d "$SCRATCH_MNT" ]
 then
     echo "common.config: Error: \$SCRATCH_MNT ($SCRATCH_MNT) is not a directory"
     exit 1
 fi
 
+_readlink()
+{
+    if [ $# -ne 1 ]
+    then
+       echo "Usage: _readlink filename" 1>&2
+       exit 1
+    fi
+
+    perl -e "\$in=\"$1\";" -e '
+       $lnk = readlink($in);
+       if ($lnk =~ m!^/.*!) {
+         print "$lnk\n";
+       }
+       else {
+         chomp($dir = `dirname $in`);
+         print "$dir/$lnk\n";
+       }'
+}
+
 # if devfs is running expand the full /dev/.. pathname - this is what will be
 # returned by utilities such as mount
 [ -L "$TEST_DEV" ] && TEST_DEV=`_readlink $TEST_DEV`