mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
mysql-test-run added gcov support
sel000003.result BitKeeper file /home/sasha/src/bk/mysql-gcov/mysql-test/r/3.23/sel000003.result sel000003.test BitKeeper file /home/sasha/src/bk/mysql-gcov/mysql-test/t/3.23/sel000003.test mysql-test/mysql-test-run: added gcov support
This commit is contained in:
@ -26,6 +26,11 @@ SYST=0
|
|||||||
REALT=0
|
REALT=0
|
||||||
TIMEFILE="$CWD/var/tmp/mysqltest-time"
|
TIMEFILE="$CWD/var/tmp/mysqltest-time"
|
||||||
DASHBLANK="---- ---- -------"
|
DASHBLANK="---- ---- -------"
|
||||||
|
MYSQLD_SRC_DIRS="strings mysys include extra regex isam merge myisam \
|
||||||
|
myisammrg heap sql"
|
||||||
|
GCOV=`which gcov`
|
||||||
|
GCOV_MSG=/tmp/mysqld-gcov.out
|
||||||
|
GCOV_ERR=/tmp/mysqld-gcov.err
|
||||||
|
|
||||||
[ -z $COLUMNS ] && COLUMNS=80
|
[ -z $COLUMNS ] && COLUMNS=80
|
||||||
E=`expr $COLUMNS - 8`
|
E=`expr $COLUMNS - 8`
|
||||||
@ -64,7 +69,7 @@ MYSQL_TEST="$BASEDIR/client/mysqltest"
|
|||||||
MYSQLADMIN="$BASEDIR/client/mysqladmin"
|
MYSQLADMIN="$BASEDIR/client/mysqladmin"
|
||||||
MYSQL_TEST="$MYSQL_TEST --socket=$MYSOCK --database=$DB --user=$DBUSER --password=$DBPASSWD --silent"
|
MYSQL_TEST="$MYSQL_TEST --socket=$MYSOCK --database=$DB --user=$DBUSER --password=$DBPASSWD --silent"
|
||||||
INSTALL_DB="$MYBIN/mysql-test_install_db"
|
INSTALL_DB="$MYBIN/mysql-test_install_db"
|
||||||
|
[ $1 = "-gcov" ] && DO_GCOV=1
|
||||||
|
|
||||||
#++
|
#++
|
||||||
# Terminal Modifications
|
# Terminal Modifications
|
||||||
@ -166,8 +171,29 @@ mysql_install_db () {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gcov_clean () {
|
||||||
|
find .. -name -name \*.gcov \
|
||||||
|
-or -name \*.da | xargs rm
|
||||||
|
}
|
||||||
|
|
||||||
|
gcov_collect () {
|
||||||
|
echo "Collecting source coverage info..."
|
||||||
|
[ -f $GCOV_MSG ] && rm $GCOV_MSG
|
||||||
|
[ -f $GCOV_ERR ] && rm $GCOV_ERR
|
||||||
|
for d in $MYSQLD_SRC_DIRS; do
|
||||||
|
cd ../$d
|
||||||
|
for f in *.h *.cc *.c; do
|
||||||
|
$GCOV $f 2>>$GCOV_ERR >>$GCOV_MSG
|
||||||
|
done
|
||||||
|
cd ../mysql-test
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "gcov info in $GCOV_MSG, errors in $GCOV_ERR"
|
||||||
|
}
|
||||||
|
|
||||||
mysql_start () {
|
mysql_start () {
|
||||||
|
|
||||||
|
cd .. # for gcov
|
||||||
$MYSQLD --no-defaults \
|
$MYSQLD --no-defaults \
|
||||||
--skip-networking \
|
--skip-networking \
|
||||||
--basedir=$CWD \
|
--basedir=$CWD \
|
||||||
@ -176,7 +202,7 @@ mysql_start () {
|
|||||||
--socket=$MYSOCK \
|
--socket=$MYSOCK \
|
||||||
--log=$MYLOG \
|
--log=$MYLOG \
|
||||||
--language=english >> $MYERR 2>&1 &
|
--language=english >> $MYERR 2>&1 &
|
||||||
|
cd mysql-test
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -206,6 +232,7 @@ mysql_loadstd () {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[ $DO_GCOV = 1 ] && gcov_clean # clean up stale gcov files if running with gcov
|
||||||
|
|
||||||
mysql_install_db
|
mysql_install_db
|
||||||
|
|
||||||
@ -287,4 +314,6 @@ $ECHO
|
|||||||
report_stats
|
report_stats
|
||||||
$ECHO
|
$ECHO
|
||||||
|
|
||||||
|
[ $DO_GCOV = 1 ] && gcov_collect # collect coverage information
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
3
mysql-test/r/3.23/sel000003.result
Normal file
3
mysql-test/r/3.23/sel000003.result
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
n score
|
||||||
|
4 10
|
||||||
|
2 20
|
7
mysql-test/t/3.23/sel000003.test
Normal file
7
mysql-test/t/3.23/sel000003.test
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
use test;
|
||||||
|
drop table if exists t;
|
||||||
|
create table t(name char(20) not null primary key,
|
||||||
|
score smallint not null, key(score));
|
||||||
|
insert into t values ('Sasha', 20), ('Matt', 20), ('Monty', 10),
|
||||||
|
('David', 10), ('Tim', 10),('Jeremy', 10);
|
||||||
|
@r/3.23/sel000003.result select count(*) as n,score from t group by score;
|
Reference in New Issue
Block a user