3 # Copyright (C) 2009 Red Hat, Inc.
4 # Copyright (c) 2000-2003,2006 Silicon Graphics, Inc. All Rights Reserved.
6 # This program is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU General Public License as
8 # published by the Free Software Foundation.
10 # This program is distributed in the hope that it would be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write the Free Software Foundation,
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20 # setup and check for config parameters, and in particular
22 # EMAIL - email of the script runner.
23 # TEST_DIR - scratch test directory
25 # - These can be added to $HOST_CONFIG_DIR (witch default to ./config)
26 # below or a separate local configuration file can be used (using
27 # the HOST_OPTIONS variable).
28 # - This script is shared by the stress test system and the auto-qa
29 # system (includes both regression test and benchmark components).
30 # - this script shouldn't make any assertions about filesystem
31 # validity or mountedness.
34 # all tests should use a common language setting to prevent golden
43 EMAIL
=root@localhost
# where auto-qa will send its status messages
44 export HOST_OPTIONS
=${HOST_OPTIONS:=local.config}
45 export CHECK_OPTIONS
=${CHECK_OPTIONS:="-g auto"}
48 # $1 = prog to look for, $2* = default pathnames if not found in $PATH
51 p
=`which $1 2> /dev/null`
52 if [ -n "$p" -a -x "$p" ]; then
77 export PERL_PROG
="`set_prog_path perl`"
78 [ "$PERL_PROG" = "" ] && _fatal
"perl not found"
80 export AWK_PROG
="`set_prog_path awk`"
81 [ "$AWK_PROG" = "" ] && _fatal
"awk not found"
83 export SED_PROG
="`set_prog_path sed`"
84 [ "$SED_PROG" = "" ] && _fatal
"sed not found"
86 export BC_PROG
="`set_prog_path bc`"
87 [ "$BC_PROG" = "" ] && _fatal
"bc not found"
89 export PS_ALL_FLAGS
="-ef"
91 export QEMU_PROG
="`set_prog_path qemu`"
92 [ "$QEMU_PROG" = "" ] && _fatal
"qemu not found"
94 export QEMU_IMG_PROG
="`set_prog_path qemu-img`"
95 [ "$QEMU_IMG_PROG" = "" ] && _fatal
"qemu-img not found"
97 export QEMU_IO_PROG
="`set_prog_path qemu-io`"
98 [ "$QEMU_IO_PROG" = "" ] && _fatal
"qemu-io not found"
100 export QEMU
=$QEMU_PROG
101 export QEMU_IMG
=$QEMU_IMG_PROG
102 export QEMU_IO
="$QEMU_IO_PROG $QEMU_IO_OPTIONS"
104 [ -f /etc
/qemu-iotest.config
] && .
/etc
/qemu-iotest.config
106 if [ ! -e "$TEST_DIR" ]; then
107 TEST_DIR
=`pwd`/scratch
110 if [ ! -d "$TEST_DIR" ]; then
111 echo "common.config: Error: \$TEST_DIR ($TEST_DIR) is not a directory"
117 if [ $# -ne 1 ]; then
118 echo "Usage: _readlink filename" 1>&2
122 perl
-e "\$in=\"$1\";" -e '
123 $lnk = readlink($in);
124 if ($lnk =~ m!^/.*!) {
128 chomp($dir = `dirname $in`);
133 # make sure this script returns success