diff options
author | msvensson@pilot.blaudden <> | 2007-02-20 12:48:15 +0100 |
---|---|---|
committer | msvensson@pilot.blaudden <> | 2007-02-20 12:48:15 +0100 |
commit | bcd368fcfb124338541b77fd6df234af4f991e94 (patch) | |
tree | 922846f67c49ea77b05035332ec2c467d5958a28 /mysql-test | |
parent | 00ee20edaa17eb88c1c0fc2fc737890fe68f1e2c (diff) | |
download | mariadb-git-bcd368fcfb124338541b77fd6df234af4f991e94.tar.gz |
Bug#20166 mysql-test-run.pl does not test system privilege tables creation
- Add test of bootstrap mode
- Make mysqld return error if bootstrap failed
Diffstat (limited to 'mysql-test')
-rwxr-xr-x | mysql-test/mysql-test-run.pl | 7 | ||||
-rw-r--r-- | mysql-test/r/bootstrap.result | 8 | ||||
-rw-r--r-- | mysql-test/t/bootstrap.test | 46 |
3 files changed, 59 insertions, 2 deletions
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 97c86024513..cefa1bae6d5 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -2890,8 +2890,6 @@ sub install_db ($$) { mtr_add_arg($args, "--no-defaults"); mtr_add_arg($args, "--bootstrap"); - mtr_add_arg($args, "--console"); - mtr_add_arg($args, "--skip-grant-tables"); mtr_add_arg($args, "--basedir=%s", $path_my_basedir); mtr_add_arg($args, "--datadir=%s", $data_dir); mtr_add_arg($args, "--skip-innodb"); @@ -2918,6 +2916,11 @@ sub install_db ($$) { # --bootstrap, to accommodate this. my $exe_mysqld_bootstrap = $ENV{'MYSQLD_BOOTSTRAP'} || $exe_mysqld; + # ---------------------------------------------------------------------- + # export MYSQLD_BOOTSTRAP_CMD variable containing <path>/mysqld <args> + # ---------------------------------------------------------------------- + $ENV{'MYSQLD_BOOTSTRAP_CMD'}= "$exe_mysqld_bootstrap " . join(" ", @$args); + # Log bootstrap command my $path_bootstrap_log= "$opt_vardir/log/bootstrap.log"; mtr_tofile($path_bootstrap_log, diff --git a/mysql-test/r/bootstrap.result b/mysql-test/r/bootstrap.result new file mode 100644 index 00000000000..3301ca74324 --- /dev/null +++ b/mysql-test/r/bootstrap.result @@ -0,0 +1,8 @@ +drop table if exists t1; +drop table t1; +drop table t1; +ERROR 42S02: Unknown table 't1' +set @my_max_allowed_packet= @@max_allowed_packet; +set global max_allowed_packet=100*@@max_allowed_packet; +set global max_allowed_packet=@my_max_allowed_packet; +drop table t1; diff --git a/mysql-test/t/bootstrap.test b/mysql-test/t/bootstrap.test new file mode 100644 index 00000000000..1c2952e93d0 --- /dev/null +++ b/mysql-test/t/bootstrap.test @@ -0,0 +1,46 @@ +# +# test mysqld in bootstrap mode +# +--disable_warnings +drop table if exists t1; +--enable_warnings + + +# +# Check that --bootstrap reads from stdin +# +--write_file $MYSQLTEST_VARDIR/tmp/bootstrap.sql +use test; +CREATE TABLE t1(a int); +EOF +--exec $MYSQLD_BOOTSTRAP_CMD < $MYSQLTEST_VARDIR/tmp/bootstrap.sql >> $MYSQLTEST_VARDIR/tmp/bootstrap.log 2>&1 +drop table t1; + +# +# Check that --bootstrap of file with SQL error returns error +# +--write_file $MYSQLTEST_VARDIR/tmp/bootstrap_error.sql +use test; +CREATE TABLE t1; +EOF +--error 1 +--exec $MYSQLD_BOOTSTRAP_CMD < $MYSQLTEST_VARDIR/tmp/bootstrap_error.sql >> $MYSQLTEST_VARDIR/tmp/bootstrap.log 2>&1 +# Table t1 should not exists +--error 1051 +drop table t1; + +# +# Bootstrap with a query larger than 2*thd->net.max_packet +# +set @my_max_allowed_packet= @@max_allowed_packet; +set global max_allowed_packet=100*@@max_allowed_packet; +--disable_query_log +create table t1 select 2 as a, concat(repeat('MySQL', @@max_allowed_packet/10), ';') as b; +eval select * into outfile '$MYSQLTEST_VARDIR/tmp/long_query.sql' from t1; +--enable_query_log +--error 1 +--exec $MYSQLD_BOOTSTRAP_CMD < $MYSQLTEST_VARDIR/tmp/long_query.sql >> $MYSQLTEST_VARDIR/tmp/bootstrap.log 2>&1 + +set global max_allowed_packet=@my_max_allowed_packet; +drop table t1; + |