mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
mysql-test/mysql-test-run.pl + mysql-test/mysql-test-run.sh
Necessary changes if one of the test scripts is to be used with a RPM installation (bug#17194). This change handles finding the server and the other programs, but it does not solve the problem to get a writable "var" directory. If we want to avoid world-writable directories below "/usr/share/mysql-test" (and we do!), any automatic solution would require fixed decisions which may not match the local installation. For the Perl script, use "--vardir"; for the shell script, create "mysql-test/var" manually. mysql-test/mysql-test-run.pl: Modifications to use this script in a RPM installation (bug#17194): - The tests are one level further down, "/usr/share/mysqltest" (vs. "/usr/bin"). - A "mysql-bench" might not exist. - "mysql-test" is owned by root and not world-writable, so "var" must be put somewhere else. - The server, "mysqld", is in a different location, "/usr/sbin". Note that the "--vardir" option must be used in a RPM installation, unless "mysql-test" is made writable for the user who runs the tests (not done automatically). mysql-test/mysql-test-run.sh: Necessary changes if this script is to be used with a RPM installation (bug#17194): - The tests are one level further down, "/usr/share/mysqltest" (vs. "/usr/bin"). - The server, "mysqld", is in a different location, "/usr/sbin". Note that these changes are not sufficient, as the user needs a writable "mysql-test/var" subdirectory. Either this is created manually, or the script can not be used. An alternative is the corresponding Perl script which supports a "--vardir" option.
This commit is contained in:
@ -158,18 +158,29 @@ fi
|
||||
# Misc. Definitions
|
||||
#--
|
||||
|
||||
if [ -d ../sql ] ; then
|
||||
# BASEDIR is always above mysql-test directory ...
|
||||
MYSQL_TEST_DIR=`pwd`
|
||||
cd ..
|
||||
|
||||
if [ -d ./sql ] ; then
|
||||
SOURCE_DIST=1
|
||||
else
|
||||
BINARY_DIST=1
|
||||
fi
|
||||
|
||||
#BASEDIR is always one above mysql-test directory
|
||||
CWD=`pwd`
|
||||
cd ..
|
||||
BASEDIR=`pwd`
|
||||
cd $CWD
|
||||
MYSQL_TEST_DIR=$BASEDIR/mysql-test
|
||||
# ... one level for tar.gz, two levels for a RPM installation
|
||||
if [ -d ./bin ] ; then
|
||||
# this is not perfect: we have
|
||||
# /usr/share/mysql/ # mysql-test-run is here, so this is "$MYSQL_TEST_DIR"
|
||||
# /usr/bin/ # with MySQL client programs
|
||||
# so the existence of "/usr/share/bin/" would make this test fail.
|
||||
BASEDIR=`pwd`
|
||||
else
|
||||
cd ..
|
||||
BASEDIR=`pwd`
|
||||
fi
|
||||
|
||||
cd $MYSQL_TEST_DIR
|
||||
MYSQL_TEST_WINDIR=$MYSQL_TEST_DIR
|
||||
MYSQLTEST_VARDIR=$MYSQL_TEST_DIR/var
|
||||
export MYSQL_TEST_DIR MYSQL_TEST_WINDIR MYSQLTEST_VARDIR
|
||||
@ -648,8 +659,15 @@ else
|
||||
if test -x "$BASEDIR/libexec/mysqld"
|
||||
then
|
||||
MYSQLD="$VALGRIND $BASEDIR/libexec/mysqld"
|
||||
else
|
||||
elif test -x "$BASEDIR/bin/mysqld"
|
||||
then
|
||||
MYSQLD="$VALGRIND $BASEDIR/bin/mysqld"
|
||||
elif test -x "$BASEDIR/sbin/mysqld"
|
||||
then
|
||||
MYSQLD="$VALGRIND $BASEDIR/sbin/mysqld"
|
||||
else
|
||||
$ECHO "Fatal error: Cannot find program mysqld in $BASEDIR/{libexec,bin,sbin}" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
CLIENT_BINDIR="$BASEDIR/bin"
|
||||
if test -d "$BASEDIR/tests"
|
||||
@ -1261,7 +1279,7 @@ start_master()
|
||||
then
|
||||
$ECHO "set args $master_args" > $GDB_MASTER_INIT$1
|
||||
$ECHO "To start gdb for the master , type in another window:"
|
||||
$ECHO "cd $CWD ; gdb -x $GDB_MASTER_INIT$1 $MASTER_MYSQLD"
|
||||
$ECHO "cd $MYSQL_TEST_DIR ; gdb -x $GDB_MASTER_INIT$1 $MASTER_MYSQLD"
|
||||
wait_for_master=1500
|
||||
else
|
||||
( $ECHO set args $master_args;
|
||||
@ -1377,7 +1395,7 @@ start_slave()
|
||||
then
|
||||
$ECHO "set args $slave_args" > $GDB_SLAVE_INIT
|
||||
echo "To start gdb for the slave, type in another window:"
|
||||
echo "cd $CWD ; gdb -x $GDB_SLAVE_INIT $SLAVE_MYSQLD"
|
||||
echo "cd $MYSQL_TEST_DIR ; gdb -x $GDB_SLAVE_INIT $SLAVE_MYSQLD"
|
||||
wait_for_slave=1500
|
||||
else
|
||||
( $ECHO set args $slave_args;
|
||||
|
Reference in New Issue
Block a user