Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / libuafs / afsload / afsload
1 #!/bin/bash
2
3 ALDIR="/usr/local/lib/afsload"
4 ALCHECK="$ALDIR/afsload_check.pl"
5 ALRUN="$ALDIR/afsload_run.pl"
6 ALPERL="perl -I$ALDIR/perl"
7
8 if [ "x$MPIRUN" = "x" ] ; then
9 MPIRUN="mpirun"
10 fi
11 if [ "x$LIBMPI" = "x" ] ; then
12 LIBMPI="/usr/lib/libmpi.so"
13 fi
14
15 usage() {
16 echo "Usage: $0 [-q] -p <nprocs> -t <test.conf>" >&2
17 echo -e "\t-q\tquiet/quick (do not test conf consistency)" >&2
18 echo -e "\t-p\tnumber of nodes/processes to run" >&2
19 echo -e "\t-t\ttest configuration" >&2
20 echo >&2
21 exit 1
22 }
23
24 while getopts qp:t: opt ; do
25 case "$opt" in
26 q) quiet=1;;
27 p) procs="$OPTARG";;
28 t) conf="$OPTARG";;
29 [?]) usage;;
30 esac
31 done
32
33 if [ "x$procs" = "x" ] || [ "x$conf" = "x" ] ; then
34 usage
35 fi
36
37 procs=$((procs + 1))
38
39 if [ "x$quiet" = "x" ] ; then
40 if $ALPERL "$ALCHECK" -p "$procs" "$conf" ; then
41 :
42 else
43 exit 2
44 fi
45 fi
46
47 if which "$MPIRUN" >/dev/null 2>&1 ; then
48 :
49 else
50 echo >&2
51 echo "Cannot find $MPIRUN; set the MPIRUN environment variable to " >&2
52 echo "the mpirun command we should use." >&2
53 exit 1
54 fi
55
56 if [ ! -f "$LIBMPI" ] ; then
57 echo >&2
58 echo "Cannot find $LIBMPI; set the LIBMPI environment variable to " >&2
59 echo "the libmpi.so that we should run against." >&2
60 exit 1
61 fi
62
63 "$MPIRUN" -np "$procs" /bin/sh -c "LD_PRELOAD=$LIBMPI $ALPERL $ALRUN $conf"