diff options
Diffstat (limited to 'mysql-test')
-rwxr-xr-x | mysql-test/mysql-test-run.pl | 15 | ||||
-rw-r--r-- | mysql-test/mysql-test-run.sh | 11 | ||||
-rw-r--r-- | mysql-test/r/mysqlslap.result | 68 | ||||
-rw-r--r-- | mysql-test/t/mysqlslap.test | 9 |
4 files changed, 101 insertions, 2 deletions
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index e2168b7f273..5cbdeb25fde 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -173,6 +173,7 @@ our $exe_mysql_client_test; our $exe_mysqld; our $exe_mysqlcheck; # Called from test case our $exe_mysqldump; # Called from test case +our $exe_mysqlslap; # Called from test case our $exe_mysqlimport; # Called from test case our $exe_mysqlshow; # Called from test case our $exe_mysql_fix_system_tables; @@ -930,7 +931,8 @@ sub executable_setup () { } $exe_mysqlcheck= mtr_exe_exists("$path_client_bindir/mysqlcheck"); $exe_mysqldump= mtr_exe_exists("$path_client_bindir/mysqldump"); - $exe_mysqlimport= mtr_exe_exists("$path_client_bindir/mysqlimport"); + $exe_mysqlslap= mtr_exe_exists("$path_client_bindir/mysqlslap"); + $exe_mysqlimport= mtr_exe_exists("$path_client_bindir/mysqlimport"); $exe_mysqlshow= mtr_exe_exists("$path_client_bindir/mysqlshow"); $exe_mysqlbinlog= mtr_exe_exists("$path_client_bindir/mysqlbinlog"); $exe_mysqladmin= mtr_exe_exists("$path_client_bindir/mysqladmin"); @@ -947,7 +949,7 @@ sub executable_setup () { $path_client_bindir= mtr_path_exists("$glob_basedir/bin"); $exe_mysqlcheck= mtr_exe_exists("$path_client_bindir/mysqlcheck"); $exe_mysqldump= mtr_exe_exists("$path_client_bindir/mysqldump"); - $exe_mysqlimport= mtr_exe_exists("$path_client_bindir/mysqlimport"); + $exe_mysqlslap= mtr_exe_exists("$path_client_bindir/mysqlslap"); $exe_mysqlshow= mtr_exe_exists("$path_client_bindir/mysqlshow"); $exe_mysqlbinlog= mtr_exe_exists("$path_client_bindir/mysqlbinlog"); $exe_mysqladmin= mtr_exe_exists("$path_client_bindir/mysqladmin"); @@ -2458,6 +2460,14 @@ sub run_mysqltest ($) { $cmdline_mysqldump .= " --debug=d:t:A,$opt_vardir/log/mysqldump.trace"; } + my $cmdline_mysqlslap= "$exe_mysqlslap -uroot " . + "--port=$master->[0]->{'path_myport'} " . + "--socket=$master->[0]->{'path_mysock'} --password="; + if ( $opt_debug ) + { + $cmdline_mysqlslap .= + " --debug=d:t:A,$opt_vardir/log/mysqldump.trace"; + } my $cmdline_mysqlimport= "$exe_mysqlimport -uroot " . "--port=$master->[0]->{'path_myport'} " . "--socket=$master->[0]->{'path_mysock'} --password="; @@ -2519,6 +2529,7 @@ sub run_mysqltest ($) { $ENV{'MYSQL'}= $cmdline_mysql; $ENV{'MYSQL_CHECK'}= $cmdline_mysqlcheck; $ENV{'MYSQL_DUMP'}= $cmdline_mysqldump; + $ENV{'MYSQL_SLAP'}= $cmdline_mysqlslap; $ENV{'MYSQL_IMPORT'}= $cmdline_mysqlimport; $ENV{'MYSQL_SHOW'}= $cmdline_mysqlshow; $ENV{'MYSQL_BINLOG'}= $cmdline_mysqlbinlog; diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh index 2cb462831fa..1feb16703c4 100644 --- a/mysql-test/mysql-test-run.sh +++ b/mysql-test/mysql-test-run.sh @@ -243,6 +243,7 @@ EXTRA_MASTER_OPT="" EXTRA_MYSQL_TEST_OPT="" EXTRA_MYSQLCHECK_OPT="" EXTRA_MYSQLDUMP_OPT="" +EXTRA_MYSQLSLAP_OPT="" EXTRA_MYSQLSHOW_OPT="" EXTRA_MYSQLBINLOG_OPT="" USE_RUNNING_SERVER=0 @@ -519,6 +520,8 @@ while test $# -gt 0; do --debug=d:t:A,$MYSQL_TEST_DIR/var/log/mysqlcheck.trace" EXTRA_MYSQLDUMP_OPT="$EXTRA_MYSQLDUMP_OPT \ --debug=d:t:A,$MYSQL_TEST_DIR/var/log/mysqldump.trace" + EXTRA_MYSQLSLAP_OPT="$EXTRA_MYSQLSLAP_OPT \ + --debug=d:t:A,$MYSQL_TEST_DIR/var/log/mysqlslap.trace" EXTRA_MYSQLSHOW_OPT="$EXTRA_MYSQLSHOW_OPT \ --debug=d:t:A,$MYSQL_TEST_DIR/var/log/mysqlshow.trace" EXTRA_MYSQLBINLOG_OPT="$EXTRA_MYSQLBINLOG_OPT \ @@ -629,6 +632,11 @@ if [ x$SOURCE_DIST = x1 ] ; then else MYSQL_DUMP="$BASEDIR/client/mysqldump" fi + if [ -f "$BASEDIR/client/.libs/mysqlslap" ] ; then + MYSQL_SLAP="$BASEDIR/client/.libs/mysqlslap" + else + MYSQL_SLAP="$BASEDIR/client/mysqlslap" + fi if [ -f "$BASEDIR/client/.libs/mysqlimport" ] ; then MYSQL_IMPORT="$BASEDIR/client/.libs/mysqlimport" else @@ -709,6 +717,7 @@ else MYSQL_TEST="$CLIENT_BINDIR/mysqltest" MYSQL_CHECK="$CLIENT_BINDIR/mysqlcheck" MYSQL_DUMP="$CLIENT_BINDIR/mysqldump" + MYSQL_SLAP="$CLIENT_BINDIR/mysqlslap" MYSQL_SHOW="$CLIENT_BINDIR/mysqlshow" MYSQL_IMPORT="$CLIENT_BINDIR/mysqlimport" MYSQL_BINLOG="$CLIENT_BINDIR/mysqlbinlog" @@ -796,6 +805,7 @@ MYSQL_DUMP_DIR="$MYSQL_DUMP" export MYSQL_DUMP_DIR MYSQL_CHECK="$MYSQL_CHECK --no-defaults -uroot --socket=$MASTER_MYSOCK --password=$DBPASSWD $EXTRA_MYSQLCHECK_OPT" MYSQL_DUMP="$MYSQL_DUMP --no-defaults -uroot --socket=$MASTER_MYSOCK --password=$DBPASSWD $EXTRA_MYSQLDUMP_OPT" +MYSQL_SLAP="$MYSQL_SLAP -uroot --socket=$MASTER_MYSOCK --password=$DBPASSWD $EXTRA_MYSQLSLAP_OPT" MYSQL_SHOW="$MYSQL_SHOW -uroot --socket=$MASTER_MYSOCK --password=$DBPASSWD $EXTRA_MYSQLSHOW_OPT" MYSQL_BINLOG="$MYSQL_BINLOG --no-defaults --local-load=$MYSQL_TMP_DIR --character-sets-dir=$CHARSETSDIR $EXTRA_MYSQLBINLOG_OPT" MYSQL_IMPORT="$MYSQL_IMPORT -uroot --socket=$MASTER_MYSOCK --password=$DBPASSWD $EXTRA_MYSQLDUMP_OPT" @@ -803,6 +813,7 @@ MYSQL_FIX_SYSTEM_TABLES="$MYSQL_FIX_SYSTEM_TABLES --no-defaults --host=localhost MYSQL="$MYSQL --no-defaults --host=localhost --port=$MASTER_MYPORT --socket=$MASTER_MYSOCK --user=root --password=$DBPASSWD" export MYSQL MYSQL_CHECK MYSQL_DUMP MYSQL_SHOW MYSQL_BINLOG MYSQL_FIX_SYSTEM_TABLES MYSQL_IMPORT export CLIENT_BINDIR MYSQL_CLIENT_TEST CHARSETSDIR MYSQL_MY_PRINT_DEFAULTS +export MYSQL_SLAP export NDB_TOOLS_DIR export NDB_MGM export NDB_BACKUP_DIR diff --git a/mysql-test/r/mysqlslap.result b/mysql-test/r/mysqlslap.result new file mode 100644 index 00000000000..08e64e25ef5 --- /dev/null +++ b/mysql-test/r/mysqlslap.result @@ -0,0 +1,68 @@ +/home/patg/mysql-build/mysql-5.1-slap/client/.libs/lt-mysqlslap Ver 0.1 Distrib 5.1.3-alpha, for suse-linux (i686) +Copyright (C) 2005 MySQL AB +This software comes with ABSOLUTELY NO WARRANTY. This is free software, +and you are welcome to modify and redistribute it under the GPL license + +Run a query multiple times against the server + +Usage: /home/patg/mysql-build/mysql-5.1-slap/client/.libs/lt-mysqlslap [OPTIONS] [database [table [column]]] + +Default options are read from the following files in the given order: +/etc/my.cnf ~/.my.cnf +The following groups are read: mysqlslap client +The following options may be given as the first argument: +--print-defaults Print the program argument list and exit +--no-defaults Don't read default options from any options file +--defaults-file=# Only read default options from the given file # +--defaults-extra-file=# Read this file after the global files are read + -a, --auto-generate-sql + Generate SQL where not supplied by file or command line. + -C, --compress Use compression in server/client protocol. + -l, --concurrency-load=# + Number of clients to simulate for data load. + -c, --concurrency=# Number of clients to simulate for query to run. + --create=name File or string to use for create. + -d, --data=name File or string with INSERT to use for populating + table(s). + -#, --debug[=name] Output debug log. Often this is 'd:t:o,filename'. + -F, --delimiter=name + Delimiter to use in SQL statements supplied in file or + command line. + -D, --drop-schema Drop schema if it exists prior to running, and after + running + -e, --engine=name Storage engine to use for creating the table. + -?, --help Display this help and exit. + -h, --host=name Connect to host. + -i, --iterations=# Number of iterations. + -x, --number-char-cols=# + Number of INT columns to create table with if specifying + --sql-generate-sql. + -y, --number-int-cols=# + Number of VARCHAR columns to create table with if + specifying --sql-generate-sql. + -n, --number-rows=# Number of rows to insert when loading data. + -p, --password[=name] + Password to use when connecting to server. If password is + not given it's asked from the tty. + -P, --port=# Port number to use for connection. + --protocol=name The protocol of connection (tcp,socket,pipe,memory). + -A, --skip-create-schema + Don't create a schema, use existing schema. + -L, --skip-data-load + Don't load any data, use existing data set. + -Q, --skip-query Don't run any queries. + -s, --silent Run program in silent mode - no output. + -q, --query=name Query to run or file containing query to run. + -S, --socket=name Socket file to use for connection. + --ssl Enable SSL for connection (automatically enabled with + other flags). Disable with --skip-ssl. + --ssl-key=name X509 key in PEM format (implies --ssl). + --ssl-cert=name X509 cert in PEM format (implies --ssl). + --ssl-ca=name CA file in PEM format (check OpenSSL docs, implies + --ssl). + --ssl-capath=name CA directory (check OpenSSL docs, implies --ssl). + --ssl-cipher=name SSL cipher to use (implies --ssl). + -u, --user=name User for login if not current user. + -v, --verbose More verbose output; You can use this multiple times to + get even more verbose output. + -V, --version Output version information and exit. diff --git a/mysql-test/t/mysqlslap.test b/mysql-test/t/mysqlslap.test new file mode 100644 index 00000000000..7df7f96f5ee --- /dev/null +++ b/mysql-test/t/mysqlslap.test @@ -0,0 +1,9 @@ +# Can't run test of external client with embedded server +--source include/not_embedded.inc + +--exec $MYSQL_SLAP --help +--exec $MYSQL_SLAP --silent --drop-schema --concurrency=5 --concurrency-load=5 --iterations=20 --number-int-cols=2 --number-char-cols=3 --number-rows=12 --auto-generate-sql + +--exec $MYSQL_SLAP --silent --drop-schema --concurrency=5 --concurrency-load=5 --iterations=20 --number-rows=10 --query="select * from t1" --data="INSERT INTO t1 VALUES (1, 'This is a test')" --create="CREATE TABLE t1 (id int, name varchar(64))" + +--exec $MYSQL_SLAP --silent --drop-schema --concurrency=5 --concurrency-load=5 --iterations=20 --delimiter=";" --number-rows=10 --query="select * from t1;select * from t2" --data="INSERT INTO t1 VALUES (1, 'This is a test'); insert into t2 values ('test', 'test2')" --create="CREATE TABLE t1 (id int, name varchar(64)); create table t2(foo1 varchar(32), foo2 varchar(32))" |