summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <msvensson@neptunus.(none)>2006-02-07 17:57:26 +0100
committerunknown <msvensson@neptunus.(none)>2006-02-07 17:57:26 +0100
commit0522905ac3270e5ddcef79e96169d1d972d1fc13 (patch)
tree4a5ae6ef2c5f066164a167c072e40d4b207f10da
parent59bd66d36905e21db4c3080d359452aaefa97279 (diff)
parent3b8004329627ea643f9c59c9ee683b38dd976d4f (diff)
downloadmariadb-git-0522905ac3270e5ddcef79e96169d1d972d1fc13.tar.gz
Merge neptunus.(none):/home/msvensson/mysql/mysqltestrun_check_testcases/my51-mysqltestrun_check_testcases
into neptunus.(none):/home/msvensson/mysql/mysql-5.1-new mysql-test/mysql-test-run.pl: Auto merged mysql-test/r/ps_1general.result: Auto merged mysql-test/r/query_cache.result: Auto merged mysql-test/r/rpl_loaddata_m.result: Auto merged mysql-test/r/sp-security.result: Auto merged mysql-test/r/variables.result: Auto merged mysql-test/r/view_grant.result: Auto merged mysql-test/t/query_cache.test: Auto merged mysql-test/t/read_only.test: Auto merged mysql-test/t/sp-security.test: Auto merged mysql-test/t/trigger-compat.test: Auto merged mysql-test/t/view_grant.test: Auto merged mysql-test/r/trigger-compat.result: Merge 5.0 -> 5.1
-rw-r--r--mysql-test/extra/rpl_tests/rpl_flsh_tbls.test3
-rw-r--r--mysql-test/extra/rpl_tests/rpl_stm_000001.test1
-rw-r--r--mysql-test/include/check-testcase.test51
-rwxr-xr-xmysql-test/mysql-test-run.pl64
-rw-r--r--mysql-test/r/analyze.result1
-rw-r--r--mysql-test/r/create_select_tmp.result1
-rw-r--r--mysql-test/r/ctype_recoding.result1
-rw-r--r--mysql-test/r/grant2.result2
-rw-r--r--mysql-test/r/join_outer.result1
-rw-r--r--mysql-test/r/ps_1general.result2
-rw-r--r--mysql-test/r/query_cache.result1
-rw-r--r--mysql-test/r/read_only.result1
-rw-r--r--mysql-test/r/rpl000017.result1
-rw-r--r--mysql-test/r/rpl_failed_optimize.result1
-rw-r--r--mysql-test/r/rpl_ignore_revoke.result1
-rw-r--r--mysql-test/r/rpl_insert_id.result1
-rw-r--r--mysql-test/r/rpl_loaddata.result1
-rw-r--r--mysql-test/r/rpl_loaddata_s.result1
-rw-r--r--mysql-test/r/rpl_misc_functions.result2
-rw-r--r--mysql-test/r/rpl_multi_update3.result1
-rw-r--r--mysql-test/r/rpl_replicate_do.result1
-rw-r--r--mysql-test/r/rpl_skip_error.result1
-rw-r--r--mysql-test/r/rpl_slave_status.result1
-rw-r--r--mysql-test/r/rpl_stm_000001.result1
-rw-r--r--mysql-test/r/rpl_stm_flsh_tbls.result1
-rw-r--r--mysql-test/r/sp-prelocking.result3
-rw-r--r--mysql-test/r/sp-security.result7
-rw-r--r--mysql-test/r/subselect_innodb.result1
-rw-r--r--mysql-test/r/trigger-compat.result10
-rw-r--r--mysql-test/r/type_bit.result1
-rw-r--r--mysql-test/r/variables.result1
-rw-r--r--mysql-test/r/view_grant.result1
-rw-r--r--mysql-test/t/analyze.test1
-rw-r--r--mysql-test/t/create_select_tmp.test1
-rw-r--r--mysql-test/t/ctype_recoding.test2
-rw-r--r--mysql-test/t/fulltext_var.test8
-rw-r--r--mysql-test/t/grant2.test2
-rw-r--r--mysql-test/t/innodb_cache.test4
-rw-r--r--mysql-test/t/join_outer.test1
-rw-r--r--mysql-test/t/ps_1general.test2
-rw-r--r--mysql-test/t/query_cache.test1
-rw-r--r--mysql-test/t/read_only.test2
-rw-r--r--mysql-test/t/rpl000017.test1
-rw-r--r--mysql-test/t/rpl_ignore_revoke.test4
-rw-r--r--mysql-test/t/rpl_misc_functions.test4
-rw-r--r--mysql-test/t/rpl_replicate_do.test4
-rw-r--r--mysql-test/t/rpl_skip_error.test3
-rw-r--r--mysql-test/t/rpl_slave_status.test4
-rw-r--r--mysql-test/t/sp-prelocking.test3
-rw-r--r--mysql-test/t/sp-security.test10
-rw-r--r--mysql-test/t/subselect_innodb.test1
-rw-r--r--mysql-test/t/trigger-compat.test13
-rw-r--r--mysql-test/t/type_bit.test1
-rw-r--r--mysql-test/t/variables-master.opt2
-rw-r--r--mysql-test/t/variables.test2
-rw-r--r--mysql-test/t/view_grant.test2
56 files changed, 235 insertions, 10 deletions
diff --git a/mysql-test/extra/rpl_tests/rpl_flsh_tbls.test b/mysql-test/extra/rpl_tests/rpl_flsh_tbls.test
index c046487729e..c5db667e29b 100644
--- a/mysql-test/extra/rpl_tests/rpl_flsh_tbls.test
+++ b/mysql-test/extra/rpl_tests/rpl_flsh_tbls.test
@@ -46,5 +46,8 @@ sleep 1;
--error 1192
stop slave;
+connection master;
+drop table t3, t4, t5;
+
# End of 4.1 tests
diff --git a/mysql-test/extra/rpl_tests/rpl_stm_000001.test b/mysql-test/extra/rpl_tests/rpl_stm_000001.test
index fb2749a0764..2914af7e7d0 100644
--- a/mysql-test/extra/rpl_tests/rpl_stm_000001.test
+++ b/mysql-test/extra/rpl_tests/rpl_stm_000001.test
@@ -124,6 +124,7 @@ select n from t1;
select select_priv,user from mysql.user where user = _binary'blafasel2';
connection master1;
drop table t1;
+delete from mysql.user where user="blafasel2";
save_master_pos;
connection slave;
sync_with_master;
diff --git a/mysql-test/include/check-testcase.test b/mysql-test/include/check-testcase.test
new file mode 100644
index 00000000000..30cb7391f30
--- /dev/null
+++ b/mysql-test/include/check-testcase.test
@@ -0,0 +1,51 @@
+#
+# This test is executed twice for each test case if mysql-test-run is passed
+# the flag --check-testcase.
+# Before every testcase it's run with mysqltest in record mode and will
+# thus produce an output file
+# that can be compared to output from after the tescase.
+# In that way it's possible to check that a testcase does not have
+# any unwanted side affects.
+#
+
+#
+# Dump all global variables
+#
+show global variables;
+
+#
+# Dump all databases
+#
+show databases;
+
+#
+# Dump the "test" database, all it's tables and their data
+#
+--exec $MYSQL_DUMP --skip-comments test
+
+#
+# Dump the "mysql" database and it's tables
+# Select data separately to add "order by"
+#
+--exec $MYSQL_DUMP --skip-comments --no-data mysql
+use mysql;
+select * from columns_priv;
+select * from db order by host, db, user;
+select * from func;
+select * from help_category;
+select * from help_keyword;
+select * from help_relation;
+select * from help_relation;
+select * from host;
+select * from proc;
+select * from procs_priv;
+select * from tables_priv;
+select * from time_zone;
+select * from time_zone_leap_second;
+select * from time_zone_name;
+select * from time_zone_transition;
+select * from time_zone_transition_type;
+select * from user;
+
+
+
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
index 1861b9e35e5..fa797c8653f 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -246,6 +246,7 @@ our $opt_manager_port; # Does nothing now, we never use manager
our $opt_old_master;
our $opt_record;
+our $opt_check_testcases;
our $opt_result_ext;
@@ -571,6 +572,7 @@ sub command_line_setup () {
# Test case authoring
'record' => \$opt_record,
+ 'check-testcases' => \$opt_check_testcases,
# ???
'mysqld=s' => \@opt_extra_mysqld_opt,
@@ -2730,6 +2732,54 @@ sub im_stop($) {
$instance_manager->{'pid'} = undef;
}
+#
+# Run include/check-testcase.test
+# Before a testcase, run in record mode, save result file to var
+# After testcase, run and compare with the recorded file, they should be equal!
+#
+sub run_check_testcase ($) {
+
+ my $mode= shift;
+
+ my $args;
+ mtr_init_args(\$args);
+
+ mtr_add_arg($args, "--no-defaults");
+ mtr_add_arg($args, "--silent");
+ mtr_add_arg($args, "-v");
+ mtr_add_arg($args, "--skip-safemalloc");
+ mtr_add_arg($args, "--tmpdir=%s", $opt_tmpdir);
+
+ mtr_add_arg($args, "--socket=%s", $master->[0]->{'path_mysock'});
+ mtr_add_arg($args, "--port=%d", $master->[0]->{'path_myport'});
+ mtr_add_arg($args, "--database=test");
+ mtr_add_arg($args, "--user=%s", $opt_user);
+ mtr_add_arg($args, "--password=");
+
+ mtr_add_arg($args, "-R");
+ mtr_add_arg($args, "$opt_vardir/tmp/check-testcase.result");
+
+ if ( $mode eq "before" )
+ {
+ mtr_add_arg($args, "--record");
+ }
+
+ my $res = mtr_run_test($exe_mysqltest,$args,
+ "include/check-testcase.test", "", "", "");
+
+ if ( $res == 1 and $mode = "after")
+ {
+ mtr_run("diff",["-u",
+ "$opt_vardir/tmp/check-testcase.result",
+ "$opt_vardir/tmp/check-testcase.reject"],
+ "", "", "", "");
+ }
+ elsif ( $res )
+ {
+ mtr_error("Could not execute 'check-testcase' $mode testcase");
+ }
+}
+
sub run_mysqltest ($) {
my $tinfo= shift;
@@ -2983,7 +3033,18 @@ sub run_mysqltest ($) {
mtr_add_arg($args, "--record");
}
- return mtr_run_test($exe,$args,$tinfo->{'path'},"",$path_timefile,"");
+ if ( $opt_check_testcases )
+ {
+ run_check_testcase("before");
+ }
+
+ my $res = mtr_run_test($exe,$args,$tinfo->{'path'},"",$path_timefile,"");
+
+ if ( $opt_check_testcases )
+ {
+ run_check_testcase("after");
+ }
+ return $res;
}
@@ -3067,6 +3128,7 @@ Options that specify ports
Options for test case authoring
record TESTNAME (Re)genereate the result file for TESTNAME
+ check-testcases Check testcases for sideeffects
Options that pass on options
diff --git a/mysql-test/r/analyze.result b/mysql-test/r/analyze.result
index 17686d597a4..65c6955a959 100644
--- a/mysql-test/r/analyze.result
+++ b/mysql-test/r/analyze.result
@@ -46,3 +46,4 @@ Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_
execute stmt1;
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
deallocate prepare stmt1;
+drop table t1;
diff --git a/mysql-test/r/create_select_tmp.result b/mysql-test/r/create_select_tmp.result
index b99bf3e3591..668547bcff9 100644
--- a/mysql-test/r/create_select_tmp.result
+++ b/mysql-test/r/create_select_tmp.result
@@ -17,3 +17,4 @@ CREATE TEMPORARY TABLE t2 ( PRIMARY KEY (a) ) ENGINE=MYISAM SELECT a FROM t1;
ERROR 23000: Duplicate entry '1' for key 1
select * from t2;
ERROR 42S02: Table 'test.t2' doesn't exist
+drop table t1;
diff --git a/mysql-test/r/ctype_recoding.result b/mysql-test/r/ctype_recoding.result
index 1b92da2a7a3..996f6fa8645 100644
--- a/mysql-test/r/ctype_recoding.result
+++ b/mysql-test/r/ctype_recoding.result
@@ -247,3 +247,4 @@ lpad(c1,3,'ö') lpad('ö',3,c1)
select rpad(c1,3,'ö'), rpad('ö',3,c1) from t1;
rpad(c1,3,'ö') rpad('ö',3,c1)
ßöö ößß
+drop table t1;
diff --git a/mysql-test/r/grant2.result b/mysql-test/r/grant2.result
index 246aaa3a93e..e38953b6446 100644
--- a/mysql-test/r/grant2.result
+++ b/mysql-test/r/grant2.result
@@ -238,6 +238,7 @@ ERROR HY000: Operation DROP USER failed for 'mysqltest_2b'@'%'
create user 'mysqltest_2' identified by 'Mysqltest-2';
drop user 'mysqltest_2' identified by 'Mysqltest-2';
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'Mysqltest-2'' at line 1
+drop user 'mysqltest_2';
create user '%@b'@'b';
show grants for '%@b'@'b';
Grants for %@b@b
@@ -279,6 +280,7 @@ Warning 1364 Field 'x509_subject' doesn't have a default value
create user mysqltest_A@'%';
rename user mysqltest_B@'%' to mysqltest_C@'%';
drop user mysqltest_C@'%';
+drop user mysqltest_A@'%';
drop user mysqltest_3@localhost;
set @@sql_mode='';
create database mysqltest_1;
diff --git a/mysql-test/r/join_outer.result b/mysql-test/r/join_outer.result
index 92b352aa608..bd725d9ac84 100644
--- a/mysql-test/r/join_outer.result
+++ b/mysql-test/r/join_outer.result
@@ -992,6 +992,7 @@ SELECT * FROM v1 WHERE EMPNUM < 10;
EMPNUM NAME GRP
0 KERI 10
9 BARRY NULL
+DROP VIEW v1;
DROP TABLE t1,t2;
CREATE TABLE t1 (c11 int);
CREATE TABLE t2 (c21 int);
diff --git a/mysql-test/r/ps_1general.result b/mysql-test/r/ps_1general.result
index cf858cc1d32..859050fd4a3 100644
--- a/mysql-test/r/ps_1general.result
+++ b/mysql-test/r/ps_1general.result
@@ -785,4 +785,4 @@ prepare stmt1 from @string ;
execute stmt1 ;
prepare stmt1 from ' select * from t5 ' ;
execute stmt1 ;
-drop table t5, t9;
+drop table t1, t5, t9;
diff --git a/mysql-test/r/query_cache.result b/mysql-test/r/query_cache.result
index 8d76f8fc701..942eca42c93 100644
--- a/mysql-test/r/query_cache.result
+++ b/mysql-test/r/query_cache.result
@@ -1076,6 +1076,7 @@ a f1()
1 2
2 2
drop procedure p1//
+drop function f1//
drop table t1//
flush query cache;
reset query cache;
diff --git a/mysql-test/r/read_only.result b/mysql-test/r/read_only.result
index 55a14bcaec8..1a1991a6255 100644
--- a/mysql-test/r/read_only.result
+++ b/mysql-test/r/read_only.result
@@ -41,3 +41,4 @@ insert into t1 values(1);
ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
drop table t1,t2;
drop user test@localhost;
+set global read_only=0;
diff --git a/mysql-test/r/rpl000017.result b/mysql-test/r/rpl000017.result
index 245848a07e4..1c611357e64 100644
--- a/mysql-test/r/rpl000017.result
+++ b/mysql-test/r/rpl000017.result
@@ -15,3 +15,4 @@ select * from t1;
n
24
drop table t1;
+delete from mysql.user where user="replicate";
diff --git a/mysql-test/r/rpl_failed_optimize.result b/mysql-test/r/rpl_failed_optimize.result
index fd711f89222..c2c07dc6343 100644
--- a/mysql-test/r/rpl_failed_optimize.result
+++ b/mysql-test/r/rpl_failed_optimize.result
@@ -18,3 +18,4 @@ Table Op Msg_type Msg_text
test.non_existing optimize error Table 'test.non_existing' doesn't exist
Warnings:
Error 1146 Table 'test.non_existing' doesn't exist
+drop table t1;
diff --git a/mysql-test/r/rpl_ignore_revoke.result b/mysql-test/r/rpl_ignore_revoke.result
index 094b571f4f4..42625119f28 100644
--- a/mysql-test/r/rpl_ignore_revoke.result
+++ b/mysql-test/r/rpl_ignore_revoke.result
@@ -26,3 +26,4 @@ select select_priv from mysql.user where user='user_foo' /* slave:must get Y */;
select_priv
Y
revoke select on *.* FROM 'user_foo';
+delete from mysql.user where user="user_foo";
diff --git a/mysql-test/r/rpl_insert_id.result b/mysql-test/r/rpl_insert_id.result
index 8482f631553..d7b6946f7e5 100644
--- a/mysql-test/r/rpl_insert_id.result
+++ b/mysql-test/r/rpl_insert_id.result
@@ -73,3 +73,4 @@ CREATE TABLE t1 ( a INT UNIQUE );
SET FOREIGN_KEY_CHECKS=0;
INSERT INTO t1 VALUES (1),(1);
ERROR 23000: Duplicate entry '1' for key 1
+drop table t1;
diff --git a/mysql-test/r/rpl_loaddata.result b/mysql-test/r/rpl_loaddata.result
index 0b2e108843b..4d1aa3a9205 100644
--- a/mysql-test/r/rpl_loaddata.result
+++ b/mysql-test/r/rpl_loaddata.result
@@ -79,3 +79,4 @@ terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by
ERROR 23000: Duplicate entry '2003-03-22' for key 1
drop table t2;
drop table t2;
+drop table t1;
diff --git a/mysql-test/r/rpl_loaddata_s.result b/mysql-test/r/rpl_loaddata_s.result
index 8d50d9cc0d9..9d2b21bc9d8 100644
--- a/mysql-test/r/rpl_loaddata_s.result
+++ b/mysql-test/r/rpl_loaddata_s.result
@@ -12,3 +12,4 @@ count(*)
2
show binlog events from 102;
Log_name Pos Event_type Server_id End_log_pos Info
+drop table t1;
diff --git a/mysql-test/r/rpl_misc_functions.result b/mysql-test/r/rpl_misc_functions.result
index a687063706d..864b9660bf7 100644
--- a/mysql-test/r/rpl_misc_functions.result
+++ b/mysql-test/r/rpl_misc_functions.result
@@ -19,3 +19,5 @@ load data local infile './var/master-data/test/rpl_misc_functions.outfile' into
select * from t1, t2 where (t1.id=t2.id) and not(t1.i=t2.i and t1.r1=t2.r1 and t1.r2=t2.r2 and t1.p=t2.p);
id i r1 r2 p id i r1 r2 p
stop slave;
+drop table t1;
+drop table t1;
diff --git a/mysql-test/r/rpl_multi_update3.result b/mysql-test/r/rpl_multi_update3.result
index b81af7c6e39..bf454c7bb48 100644
--- a/mysql-test/r/rpl_multi_update3.result
+++ b/mysql-test/r/rpl_multi_update3.result
@@ -194,3 +194,4 @@ idpro price nbprice
1 1.0000 3
2 1.0000 2
3 2.0000 1
+drop table t1, t2;
diff --git a/mysql-test/r/rpl_replicate_do.result b/mysql-test/r/rpl_replicate_do.result
index 438671fb103..71768caa267 100644
--- a/mysql-test/r/rpl_replicate_do.result
+++ b/mysql-test/r/rpl_replicate_do.result
@@ -40,3 +40,4 @@ set one_shot time_zone='met';
select * from t1;
ts
2005-08-12 00:00:00
+drop table t1;
diff --git a/mysql-test/r/rpl_skip_error.result b/mysql-test/r/rpl_skip_error.result
index e52426c381c..adc61f8c2c8 100644
--- a/mysql-test/r/rpl_skip_error.result
+++ b/mysql-test/r/rpl_skip_error.result
@@ -13,3 +13,4 @@ n
1
2
3
+drop table t1;
diff --git a/mysql-test/r/rpl_slave_status.result b/mysql-test/r/rpl_slave_status.result
index 2146132aeb0..9a4ec4131b0 100644
--- a/mysql-test/r/rpl_slave_status.result
+++ b/mysql-test/r/rpl_slave_status.result
@@ -52,3 +52,4 @@ Master_SSL_Cert
Master_SSL_Cipher
Master_SSL_Key
Seconds_Behind_Master NULL
+drop table t1;
diff --git a/mysql-test/r/rpl_stm_000001.result b/mysql-test/r/rpl_stm_000001.result
index de9f6f16b2a..3017a2b76ce 100644
--- a/mysql-test/r/rpl_stm_000001.result
+++ b/mysql-test/r/rpl_stm_000001.result
@@ -79,3 +79,4 @@ select select_priv,user from mysql.user where user = _binary'blafasel2';
select_priv user
Y blafasel2
drop table t1;
+delete from mysql.user where user="blafasel2";
diff --git a/mysql-test/r/rpl_stm_flsh_tbls.result b/mysql-test/r/rpl_stm_flsh_tbls.result
index 8a813c57451..a6123d75cb3 100644
--- a/mysql-test/r/rpl_stm_flsh_tbls.result
+++ b/mysql-test/r/rpl_stm_flsh_tbls.result
@@ -30,3 +30,4 @@ flush tables with read lock;
start slave;
stop slave;
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+drop table t3, t4, t5;
diff --git a/mysql-test/r/sp-prelocking.result b/mysql-test/r/sp-prelocking.result
index 0ba31155790..b4728b278cc 100644
--- a/mysql-test/r/sp-prelocking.result
+++ b/mysql-test/r/sp-prelocking.result
@@ -208,7 +208,8 @@ select f3() //
f3()
1
call sp1() //
-drop table t1,t2,t3;
+drop view v1;
+drop table t1,t2,t3,t4;
drop function f1;
drop function f2;
drop function f3;
diff --git a/mysql-test/r/sp-security.result b/mysql-test/r/sp-security.result
index fbc6d64f9c9..b223c0cd487 100644
--- a/mysql-test/r/sp-security.result
+++ b/mysql-test/r/sp-security.result
@@ -134,7 +134,11 @@ drop database db2;
select type,db,name from mysql.proc;
type db name
delete from mysql.user where user='user1' or user='user2';
+delete from mysql.user where user='' and host='%';
delete from mysql.procs_priv where user='user1' or user='user2';
+delete from mysql.procs_priv where user='' and host='%';
+delete from mysql.db where user='user2';
+flush privileges;
grant usage on *.* to usera@localhost;
grant usage on *.* to userb@localhost;
grant usage on *.* to userc@localhost;
@@ -195,6 +199,9 @@ use test;
drop database sptest;
delete from mysql.user where user='usera' or user='userb' or user='userc';
delete from mysql.procs_priv where user='usera' or user='userb' or user='userc';
+delete from mysql.tables_priv where user='usera';
+flush privileges;
+drop table t1;
drop function if exists bug_9503;
create database mysqltest//
use mysqltest//
diff --git a/mysql-test/r/subselect_innodb.result b/mysql-test/r/subselect_innodb.result
index 4dec7882d58..6c6d563e284 100644
--- a/mysql-test/r/subselect_innodb.result
+++ b/mysql-test/r/subselect_innodb.result
@@ -243,4 +243,5 @@ x
NULL
x
NULL
+drop procedure p1;
drop tables t1,t2,t3;
diff --git a/mysql-test/r/trigger-compat.result b/mysql-test/r/trigger-compat.result
index 71682376ab5..068bf6c6968 100644
--- a/mysql-test/r/trigger-compat.result
+++ b/mysql-test/r/trigger-compat.result
@@ -35,3 +35,13 @@ SELECT * FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_name;
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER
NULL mysqltest_db1 wl2818_trg1 INSERT NULL mysqltest_db1 t1 0 NULL INSERT INTO t2 VALUES(CURRENT_USER()) ROW BEFORE NULL NULL OLD NEW NULL
NULL mysqltest_db1 wl2818_trg2 INSERT NULL mysqltest_db1 t1 0 NULL INSERT INTO t2 VALUES(CURRENT_USER()) ROW AFTER NULL NULL OLD NEW NULL mysqltest_dfn@localhost
+DROP TRIGGER wl2818_trg1;
+Warnings:
+Warning 1454 No definer attribute for trigger 'mysqltest_db1'.'wl2818_trg1'. The trigger will be activated under the authorization of the invoker, which may have insufficient privileges. Please recreate the trigger.
+DROP TRIGGER wl2818_trg2;
+use mysqltest_db1;
+DROP TABLE t1;
+DROP TABLE t2;
+DROP USER mysqltest_dfn@localhost;
+DROP USER mysqltest_inv@localhost;
+DROP DATABASE mysqltest_db1;
diff --git a/mysql-test/r/type_bit.result b/mysql-test/r/type_bit.result
index 942e165649e..590ce08c80d 100644
--- a/mysql-test/r/type_bit.result
+++ b/mysql-test/r/type_bit.result
@@ -563,3 +563,4 @@ b1+0 sum(b1) sum(b2)
0 0 0
1 4 4
2 2 2
+drop table t1, t2;
diff --git a/mysql-test/r/variables.result b/mysql-test/r/variables.result
index 8ee6dfe53cf..5a8926e0638 100644
--- a/mysql-test/r/variables.result
+++ b/mysql-test/r/variables.result
@@ -71,6 +71,7 @@ c_id c_name c_country
1 Bozo USA
4 Mr. Floppy GB
drop table t1;
+set GLOBAL max_join_size=10;
set max_join_size=100;
show variables like 'max_join_size';
Variable_name Value
diff --git a/mysql-test/r/view_grant.result b/mysql-test/r/view_grant.result
index f7156bbb701..8da8805b14b 100644
--- a/mysql-test/r/view_grant.result
+++ b/mysql-test/r/view_grant.result
@@ -9,6 +9,7 @@ revoke create view on test.* from test@localhost;
show grants for test@localhost;
Grants for test@localhost
GRANT USAGE ON *.* TO 'test'@'localhost'
+drop user test@localhost;
create database mysqltest;
create table mysqltest.t1 (a int, b int);
create table mysqltest.t2 (a int, b int);
diff --git a/mysql-test/t/analyze.test b/mysql-test/t/analyze.test
index 656ff752c9b..a8fd0a4283e 100644
--- a/mysql-test/t/analyze.test
+++ b/mysql-test/t/analyze.test
@@ -61,5 +61,6 @@ prepare stmt1 from "SELECT * FROM t1 PROCEDURE ANALYSE()";
execute stmt1;
execute stmt1;
deallocate prepare stmt1;
+drop table t1;
# End of 4.1 tests
diff --git a/mysql-test/t/create_select_tmp.test b/mysql-test/t/create_select_tmp.test
index dad83942806..144bccc5871 100644
--- a/mysql-test/t/create_select_tmp.test
+++ b/mysql-test/t/create_select_tmp.test
@@ -30,5 +30,6 @@ select * from t2;
CREATE TEMPORARY TABLE t2 ( PRIMARY KEY (a) ) ENGINE=MYISAM SELECT a FROM t1;
--error 1146
select * from t2;
+drop table t1;
# End of 4.1 tests
diff --git a/mysql-test/t/ctype_recoding.test b/mysql-test/t/ctype_recoding.test
index 5648cea7fd3..2d6b55600b1 100644
--- a/mysql-test/t/ctype_recoding.test
+++ b/mysql-test/t/ctype_recoding.test
@@ -186,5 +186,5 @@ select rpad(c1,3,'ö'), rpad('ö',3,c1) from t1;
# TODO
#select case c1 when 'ß' then 'ß' when 'ö' then 'ö' else 'c' end from t1;
#select export_set(5,c1,'ö'), export_set(5,'ö',c1) from t1;
-
+drop table t1;
# End of 4.1 tests
diff --git a/mysql-test/t/fulltext_var.test b/mysql-test/t/fulltext_var.test
index 6b0b8aa463b..a048dab7f40 100644
--- a/mysql-test/t/fulltext_var.test
+++ b/mysql-test/t/fulltext_var.test
@@ -5,6 +5,9 @@
drop table if exists t1;
--enable_warnings
+# Save ft_boolean_syntax variable
+let $saved_ft_boolean_syntax=`select @@global.ft_boolean_syntax`;
+
show variables like "ft\_%";
create table t1 (b text not null);
@@ -25,4 +28,9 @@ set global ft_boolean_syntax='@ -><()~*:""@|';
set global ft_boolean_syntax='+ -><()~*:""@!|';
drop table t1;
+# Restore ft_boolean_syntax variable
+--disable_query_log
+eval set global ft_boolean_syntax='$saved_ft_boolean_syntax';
+--enable_query_log
+
# End of 4.1 tests
diff --git a/mysql-test/t/grant2.test b/mysql-test/t/grant2.test
index c19bb1482d6..430a3a5dd4a 100644
--- a/mysql-test/t/grant2.test
+++ b/mysql-test/t/grant2.test
@@ -286,6 +286,7 @@ drop user 'mysqltest_1b', 'mysqltest_2b', 'mysqltest_3b';
create user 'mysqltest_2' identified by 'Mysqltest-2';
--error 1064
drop user 'mysqltest_2' identified by 'Mysqltest-2';
+drop user 'mysqltest_2';
#
# Strange user names
create user '%@b'@'b';
@@ -325,6 +326,7 @@ insert into mysql.user set host='%', user='mysqltest_B';
create user mysqltest_A@'%';
rename user mysqltest_B@'%' to mysqltest_C@'%';
drop user mysqltest_C@'%';
+drop user mysqltest_A@'%';
disconnect user4;
connection default;
drop user mysqltest_3@localhost;
diff --git a/mysql-test/t/innodb_cache.test b/mysql-test/t/innodb_cache.test
index a811d660bd7..8ed2853e4f7 100644
--- a/mysql-test/t/innodb_cache.test
+++ b/mysql-test/t/innodb_cache.test
@@ -63,6 +63,7 @@ drop table t1;
#
# one statement roll back inside transation
#
+let $save_query_cache_size=`select @@global.query_cache_size`;
set GLOBAL query_cache_size=1355776;
CREATE TABLE t1 ( id int(10) NOT NULL auto_increment, a varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY a (a)) ENGINE=innodb;
CREATE TABLE t2 ( id int(10) NOT NULL auto_increment, b varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY b (b)) ENGINE=innodb;
@@ -79,5 +80,8 @@ insert into t3 VALUES ( NULL, 1, 1, 2 );
commit;
select t1.* from t1, t2, t3 where t3.state & 1 = 0 and t3.t1_id = t1.id and t3.t2_id = t2.id and t1.id = 1 order by t1.a asc;
drop table t3,t2,t1;
+--disable_query_log
+eval set GLOBAL query_cache_size=$save_query_cache_size;
+--enable_query_log
# End of 4.1 tests
diff --git a/mysql-test/t/join_outer.test b/mysql-test/t/join_outer.test
index 367b98f2485..03ad56ed2b6 100644
--- a/mysql-test/t/join_outer.test
+++ b/mysql-test/t/join_outer.test
@@ -700,6 +700,7 @@ SELECT COALESCE(t2.EMPNUM,t1.EMPNUM) AS EMPNUM, NAME, GRP
SELECT * FROM v1;
SELECT * FROM v1 WHERE EMPNUM < 10;
+DROP VIEW v1;
DROP TABLE t1,t2;
#
diff --git a/mysql-test/t/ps_1general.test b/mysql-test/t/ps_1general.test
index fa844f02ace..6b168711de8 100644
--- a/mysql-test/t/ps_1general.test
+++ b/mysql-test/t/ps_1general.test
@@ -834,7 +834,7 @@ execute stmt1 ;
--disable_metadata
--horizontal_results
-drop table t5, t9;
+drop table t1, t5, t9;
##### RULES OF THUMB TO PRESERVE THE SYSTEMATICS OF THE PS TEST CASES #####
#
diff --git a/mysql-test/t/query_cache.test b/mysql-test/t/query_cache.test
index a99d802e5a5..15559d75d6c 100644
--- a/mysql-test/t/query_cache.test
+++ b/mysql-test/t/query_cache.test
@@ -787,6 +787,7 @@ begin
end//
call p1()//
drop procedure p1//
+drop function f1//
drop table t1//
delimiter ;//
diff --git a/mysql-test/t/read_only.test b/mysql-test/t/read_only.test
index 1e92e438122..175a5bba6fa 100644
--- a/mysql-test/t/read_only.test
+++ b/mysql-test/t/read_only.test
@@ -104,3 +104,5 @@ insert into t1 values(1);
connection default;
drop table t1,t2;
drop user test@localhost;
+
+set global read_only=0;
diff --git a/mysql-test/t/rpl000017.test b/mysql-test/t/rpl000017.test
index 792801dd3d2..2ba321cd8c3 100644
--- a/mysql-test/t/rpl000017.test
+++ b/mysql-test/t/rpl000017.test
@@ -16,6 +16,7 @@ sync_slave_with_master;
select * from t1;
connection master;
drop table t1;
+delete from mysql.user where user="replicate";
sync_slave_with_master;
# End of 4.1 tests
diff --git a/mysql-test/t/rpl_ignore_revoke.test b/mysql-test/t/rpl_ignore_revoke.test
index e5b5bafb3c5..cdeb40df069 100644
--- a/mysql-test/t/rpl_ignore_revoke.test
+++ b/mysql-test/t/rpl_ignore_revoke.test
@@ -41,3 +41,7 @@ connection slave;
--disable_abort_on_error
revoke select on *.* FROM 'user_foo';
--enable_abort_on_error
+
+connection master;
+delete from mysql.user where user="user_foo";
+sync_slave_with_master;
diff --git a/mysql-test/t/rpl_misc_functions.test b/mysql-test/t/rpl_misc_functions.test
index f20d0aa83e4..ca9c6419cb6 100644
--- a/mysql-test/t/rpl_misc_functions.test
+++ b/mysql-test/t/rpl_misc_functions.test
@@ -28,5 +28,9 @@ load data local infile './var/master-data/test/rpl_misc_functions.outfile' into
# compare them with the replica; the SELECT below should return no row
select * from t1, t2 where (t1.id=t2.id) and not(t1.i=t2.i and t1.r1=t2.r1 and t1.r2=t2.r2 and t1.p=t2.p);
stop slave;
+drop table t1;
+
+connection master;
+drop table t1;
# End of 4.1 tests
diff --git a/mysql-test/t/rpl_replicate_do.test b/mysql-test/t/rpl_replicate_do.test
index 5a2cb50d53a..1aa57f6afe6 100644
--- a/mysql-test/t/rpl_replicate_do.test
+++ b/mysql-test/t/rpl_replicate_do.test
@@ -53,4 +53,8 @@ connection slave;
set one_shot time_zone='met';
select * from t1;
+connection master;
+drop table t1;
+sync_slave_with_master;
+
# End of 4.1 tests
diff --git a/mysql-test/t/rpl_skip_error.test b/mysql-test/t/rpl_skip_error.test
index e0e569a65b7..f6fc73f58f2 100644
--- a/mysql-test/t/rpl_skip_error.test
+++ b/mysql-test/t/rpl_skip_error.test
@@ -13,4 +13,7 @@ connection slave;
sync_with_master;
select * from t1;
+connection master;
+drop table t1;
+sync_with_master;
# End of 4.1 tests
diff --git a/mysql-test/t/rpl_slave_status.test b/mysql-test/t/rpl_slave_status.test
index 67d3816f443..985cebabe7e 100644
--- a/mysql-test/t/rpl_slave_status.test
+++ b/mysql-test/t/rpl_slave_status.test
@@ -29,4 +29,8 @@ start slave;
--vertical_results
show slave status;
+connection master;
+drop table t1;
+sync_with_master;
+
# end of 4.1 tests
diff --git a/mysql-test/t/sp-prelocking.test b/mysql-test/t/sp-prelocking.test
index bae144f51ac..cd48025188b 100644
--- a/mysql-test/t/sp-prelocking.test
+++ b/mysql-test/t/sp-prelocking.test
@@ -234,7 +234,8 @@ select f3() //
call sp1() //
delimiter ;//
-drop table t1,t2,t3;
+drop view v1;
+drop table t1,t2,t3,t4;
drop function f1;
drop function f2;
drop function f3;
diff --git a/mysql-test/t/sp-security.test b/mysql-test/t/sp-security.test
index 0b24881a056..223bc09b9fc 100644
--- a/mysql-test/t/sp-security.test
+++ b/mysql-test/t/sp-security.test
@@ -196,7 +196,6 @@ use db2;
call q();
select * from t2;
-
#
# BUG#6030: Stored procedure has no appropriate DROP privilege
# (or ALTER for that matter)
@@ -233,9 +232,13 @@ drop database db2;
select type,db,name from mysql.proc;
# Get rid of the users
delete from mysql.user where user='user1' or user='user2';
+delete from mysql.user where user='' and host='%';
# And any routine privileges
delete from mysql.procs_priv where user='user1' or user='user2';
-
+# Delete the grants to user ''@'%' that was created above
+delete from mysql.procs_priv where user='' and host='%';
+delete from mysql.db where user='user2';
+flush privileges;
#
# Test the new security acls
#
@@ -304,6 +307,9 @@ use test;
drop database sptest;
delete from mysql.user where user='usera' or user='userb' or user='userc';
delete from mysql.procs_priv where user='usera' or user='userb' or user='userc';
+delete from mysql.tables_priv where user='usera';
+flush privileges;
+drop table t1;
#
# BUG#9503: reseting correct parameters of thread after error in SP function
diff --git a/mysql-test/t/subselect_innodb.test b/mysql-test/t/subselect_innodb.test
index 4bfc4d17588..573fe0c1810 100644
--- a/mysql-test/t/subselect_innodb.test
+++ b/mysql-test/t/subselect_innodb.test
@@ -236,4 +236,5 @@ delimiter ;//
call p1();
call p1();
call p1();
+drop procedure p1;
drop tables t1,t2,t3;
diff --git a/mysql-test/t/trigger-compat.test b/mysql-test/t/trigger-compat.test
index 5b2483cc3ea..62ddd3b8930 100644
--- a/mysql-test/t/trigger-compat.test
+++ b/mysql-test/t/trigger-compat.test
@@ -80,3 +80,16 @@ SELECT trigger_name, definer FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_n
--echo
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_name;
+
+# Clean up
+DROP TRIGGER wl2818_trg1;
+DROP TRIGGER wl2818_trg2;
+disconnect wl2818_definer_con;
+connection default;
+use mysqltest_db1;
+DROP TABLE t1;
+DROP TABLE t2;
+DROP USER mysqltest_dfn@localhost;
+DROP USER mysqltest_inv@localhost;
+DROP DATABASE mysqltest_db1;
+
diff --git a/mysql-test/t/type_bit.test b/mysql-test/t/type_bit.test
index 0c45dea21bb..1f05a9574d6 100644
--- a/mysql-test/t/type_bit.test
+++ b/mysql-test/t/type_bit.test
@@ -226,3 +226,4 @@ select a1, a2, b1+0, b2+0 from t1 join t2 on b1 = b2;
select sum(a1), b1+0, b2+0 from t1 join t2 on b1 = b2 group by b1 order by 1;
select 1 from t1 join t2 on b1 = b2 group by b1 order by 1;
select b1+0,sum(b1), sum(b2) from t1 join t2 on b1 = b2 group by b1 order by 1;
+drop table t1, t2;
diff --git a/mysql-test/t/variables-master.opt b/mysql-test/t/variables-master.opt
index a0577107f74..abd826bc7fa 100644
--- a/mysql-test/t/variables-master.opt
+++ b/mysql-test/t/variables-master.opt
@@ -1 +1 @@
---max_join_size=10
+--max_join_size=100
diff --git a/mysql-test/t/variables.test b/mysql-test/t/variables.test
index 76761f9177d..fec47e6aaf0 100644
--- a/mysql-test/t/variables.test
+++ b/mysql-test/t/variables.test
@@ -48,7 +48,7 @@ drop table t1;
#
# Test system variables
#
-
+set GLOBAL max_join_size=10;
set max_join_size=100;
show variables like 'max_join_size';
--replace_result 18446744073709551615 HA_POS_ERROR 4294967295 HA_POS_ERROR
diff --git a/mysql-test/t/view_grant.test b/mysql-test/t/view_grant.test
index 26a4a7e1ec5..1327436d6c3 100644
--- a/mysql-test/t/view_grant.test
+++ b/mysql-test/t/view_grant.test
@@ -12,6 +12,8 @@ grant create view on test.* to test@localhost;
show grants for test@localhost;
revoke create view on test.* from test@localhost;
show grants for test@localhost;
+# The grant above creates a new user test@localhost, delete it
+drop user test@localhost;
# grant create view test
#