~drizzle-trunk/drizzle/development

« back to all changes in this revision

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

  • Committer: brian
  • Date: 2008-06-25 05:29:13 UTC
  • Revision ID: brian@localhost.localdomain-20080625052913-6upwo0jsrl4lnapl
clean slate

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