~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to storage/myisam/ftbench/ft-test-run.sh

  • Committer: Brian Aker
  • Date: 2008-07-06 15:03:34 UTC
  • Revision ID: brian@tangent.org-20080706150334-xv3xa202trvs0712
USE_RAID cleanup, along with ftbench tools.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/bin/sh
2
 
 
3
 
if [ ! -x ./ft-test-run.sh ] ; then
4
 
  echo "Usage: ./ft-test-run.sh"
5
 
  exit 1
6
 
fi
7
 
 
8
 
BASE=`pwd`
9
 
DATA=$BASE/var
10
 
ROOT=`cd ../..; pwd`
11
 
MYSQLD=$ROOT/sql/mysqld
12
 
MYSQL=$ROOT/client/mysql
13
 
MYSQLADMIN=$ROOT/client/mysqladmin
14
 
SOCK=$DATA/mysql.sock
15
 
PID=$DATA/mysql.pid
16
 
H=../ftdefs.h
17
 
OPTS="--no-defaults --socket=$SOCK --character-sets-dir=$ROOT/sql/share/charsets"
18
 
DELAY=10
19
 
 
20
 
stop_myslqd()
21
 
{
22
 
  [ -S $SOCK ] && $MYSQLADMIN $OPTS shutdown
23
 
  [ -f $PID ] && kill `cat $PID` && sleep 15 && [ -f $PID ] && kill -9 `cat $PID`
24
 
}
25
 
 
26
 
if [ ! -d t/BEST ] ; then
27
 
  echo "No ./t/BEST directory! Aborting..."
28
 
  exit 1
29
 
fi
30
 
rm -f t/BEST/report.txt
31
 
if [ -w $H ] ; then
32
 
  echo "$H is writeable! Aborting..."
33
 
  exit 1
34
 
fi
35
 
 
36
 
stop_myslqd
37
 
rm -rf var > /dev/null 2>&1
38
 
mkdir var
39
 
mkdir var/test
40
 
 
41
 
for batch in t/* ; do
42
 
  [ ! -d $batch ] && continue
43
 
  [ $batch -ef t/BEST -a $batch != t/BEST ] && continue
44
 
 
45
 
  rm -rf var/test/* > /dev/null 2>&1
46
 
  rm -f $H
47
 
  if [ -f $BASE/$batch/ftdefs.h ] ; then
48
 
    cat $BASE/$batch/ftdefs.h > $H
49
 
    chmod a-wx $H
50
 
  else
51
 
    bk get -q $H
52
 
  fi
53
 
  OPTS="--defaults-file=$BASE/$batch/my.cnf --socket=$SOCK --character-sets-dir=$ROOT/sql/share/charsets"
54
 
  stop_myslqd
55
 
  rm -f $MYSQLD
56
 
  echo "building $batch"
57
 
  echo "============== $batch ===============" >> var/ft_test.log
58
 
  (cd $ROOT; gmake) >> var/ft_test.log 2>&1
59
 
 
60
 
  for prog in $MYSQLD $MYSQL $MYSQLADMIN ; do
61
 
    if [ ! -x $prog ] ; then
62
 
      echo "build failed: no $prog"
63
 
      exit 1
64
 
    fi
65
 
  done
66
 
 
67
 
  echo "=====================================" >> var/ft_test.log
68
 
  $MYSQLD $OPTS --basedir=$BASE --pid-file=$PID \
69
 
                --language=$ROOT/sql/share/english \
70
 
                --skip-grant-tables --skip-innodb \
71
 
                --skip-networking --tmpdir=$DATA >> var/ft_test.log 2>&1 &
72
 
 
73
 
  sleep $DELAY
74
 
  $MYSQLADMIN $OPTS ping
75
 
  if [ $? != 0 ] ; then
76
 
    echo "$MYSQLD refused to start"
77
 
    exit 1
78
 
  fi
79
 
  for test in `cd data; echo *.r|sed "s/\.r//g"` ; do
80
 
    if [ -f $batch/$test.out ] ; then
81
 
      echo "skipping $batch/$test.out"
82
 
      continue
83
 
    fi
84
 
    echo "testing $batch/$test"
85
 
    FT_MODE=`cat $batch/ft_mode 2>/dev/null`
86
 
    ./Ecreate.pl $test "$FT_MODE" | $MYSQL $OPTS --skip-column-names test >var/$test.eval
87
 
    echo "reporting $batch/$test"
88
 
    ./Ereport.pl var/$test.eval data/$test.r > $batch/$test.out || exit
89
 
  done
90
 
  stop_myslqd
91
 
  rm -f $H
92
 
  bk get -q $H
93
 
  if [ ! $batch -ef t/BEST ] ; then
94
 
    echo "comparing $batch"
95
 
    ./Ecompare.pl t/BEST $batch >> t/BEST/report.txt
96
 
  fi
97
 
done
98