Annotation of qemu/tests/qemu-iotests/common.config, revision 1.1.1.1

1.1       root        1: #!/bin/bash
                      2: #
                      3: # Copyright (C) 2009 Red Hat, Inc.
                      4: # Copyright (c) 2000-2003,2006 Silicon Graphics, Inc.  All Rights Reserved.
                      5: #
                      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.
                      9: #
                     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.
                     14: #
                     15: # You should have received a copy of the GNU General Public License
                     16: # along with this program.  If not, see <http://www.gnu.org/licenses/>.
                     17: #
                     18: #
                     19: # setup and check for config parameters, and in particular
                     20: #
                     21: # EMAIL -           email of the script runner.
                     22: # TEST_DIR -        scratch test directory 
                     23: #
                     24: # - These can be added to $HOST_CONFIG_DIR (witch default to ./config)
                     25: #   below or a separate local configuration file can be used (using
                     26: #   the HOST_OPTIONS variable).
                     27: # - This script is shared by the stress test system and the auto-qa
                     28: #   system (includes both regression test and benchmark components).
                     29: # - this script shouldn't make any assertions about filesystem
                     30: #   validity or mountedness.
                     31: #
                     32: 
                     33: # all tests should use a common language setting to prevent golden
                     34: # output mismatches.
                     35: export LANG=C
                     36: 
                     37: PATH=".:$PATH"
                     38: 
                     39: HOST=`hostname -s 2> /dev/null`
                     40: HOSTOS=`uname -s`
                     41: 
                     42: EMAIL=root@localhost    # where auto-qa will send its status messages
                     43: export HOST_OPTIONS=${HOST_OPTIONS:=local.config}
                     44: export CHECK_OPTIONS=${CHECK_OPTIONS:="-g auto"}
                     45: export PWD=`pwd`
                     46: 
                     47: # $1 = prog to look for, $2* = default pathnames if not found in $PATH
                     48: set_prog_path()
                     49: {
                     50:     p=`which $1 2> /dev/null`
                     51:     if [ -n "$p" -a -x "$p" ]; then
                     52:         echo $p
                     53:         return 0
                     54:     fi
                     55:     p=$1
                     56: 
                     57:     shift
                     58:     for f; do
                     59:         if [ -x $f ]; then
                     60:             echo $f
                     61:             return 0
                     62:         fi
                     63:     done
                     64: 
                     65:     echo ""
                     66:     return 1
                     67: }
                     68: 
                     69: _fatal()
                     70: {
                     71:     echo "$*"
                     72:     status=1
                     73:     exit 1
                     74: }
                     75: 
                     76: export PERL_PROG="`set_prog_path perl`"
                     77: [ "$PERL_PROG" = "" ] && _fatal "perl not found"
                     78: 
                     79: export AWK_PROG="`set_prog_path awk`"
                     80: [ "$AWK_PROG" = "" ] && _fatal "awk not found"
                     81: 
                     82: export SED_PROG="`set_prog_path sed`"
                     83: [ "$SED_PROG" = "" ] && _fatal "sed not found"
                     84: 
                     85: export BC_PROG="`set_prog_path bc`"
                     86: [ "$BC_PROG" = "" ] && _fatal "bc not found"
                     87: 
                     88: export PS_ALL_FLAGS="-ef"
                     89: 
                     90: if [ -z "$QEMU_PROG" ]; then
                     91:     export QEMU_PROG="`set_prog_path qemu`"
                     92: fi
                     93: [ "$QEMU_PROG" = "" ] && _fatal "qemu not found"
                     94: 
                     95: if [ -z "$QEMU_IMG_PROG" ]; then
                     96:     export QEMU_IMG_PROG="`set_prog_path qemu-img`"
                     97: fi
                     98: [ "$QEMU_IMG_PROG" = "" ] && _fatal "qemu-img not found"
                     99: 
                    100: if [ -z "$QEMU_IO_PROG" ]; then
                    101:     export QEMU_IO_PROG="`set_prog_path qemu-io`"
                    102: fi
                    103: [ "$QEMU_IO_PROG" = "" ] && _fatal "qemu-io not found"
                    104: 
                    105: export QEMU=$QEMU_PROG
                    106: export QEMU_IMG=$QEMU_IMG_PROG 
                    107: export QEMU_IO="$QEMU_IO_PROG $QEMU_IO_OPTIONS"
                    108: 
                    109: [ -f /etc/qemu-iotest.config ]       && . /etc/qemu-iotest.config
                    110: 
                    111: if [ -z "$TEST_DIR" ]; then
                    112:        TEST_DIR=`pwd`/scratch
                    113: fi
                    114: 
                    115: if [ ! -e "$TEST_DIR" ]; then
                    116:        mkdir "$TEST_DIR"
                    117: fi
                    118: 
                    119: if [ ! -d "$TEST_DIR" ]; then
                    120:     echo "common.config: Error: \$TEST_DIR ($TEST_DIR) is not a directory"
                    121:     exit 1
                    122: fi
                    123: 
                    124: export TEST_DIR
                    125: 
                    126: _readlink()
                    127: {
                    128:     if [ $# -ne 1 ]; then
                    129:         echo "Usage: _readlink filename" 1>&2
                    130:         exit 1
                    131:     fi
                    132: 
                    133:     perl -e "\$in=\"$1\";" -e '
                    134:     $lnk = readlink($in);
                    135:     if ($lnk =~ m!^/.*!) {
                    136:         print "$lnk\n";
                    137:     }
                    138:     else {
                    139:         chomp($dir = `dirname $in`);
                    140:         print "$dir/$lnk\n";
                    141:     }'
                    142: }
                    143: 
                    144: # make sure this script returns success
                    145: /bin/true

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.