diff options
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/include/not_valgrind.inc | 4 | ||||
-rwxr-xr-x | mysql-test/mysql-test-run.pl | 5 | ||||
-rw-r--r-- | mysql-test/r/events_bugs.result | 42 | ||||
-rw-r--r-- | mysql-test/r/events_scheduling.result | 6 | ||||
-rw-r--r-- | mysql-test/r/not_valgrind.require | 2 | ||||
-rw-r--r-- | mysql-test/t/events.test | 28 | ||||
-rw-r--r-- | mysql-test/t/events_bugs.test | 20 | ||||
-rw-r--r-- | mysql-test/t/events_scheduling.test | 4 |
8 files changed, 57 insertions, 54 deletions
diff --git a/mysql-test/include/not_valgrind.inc b/mysql-test/include/not_valgrind.inc new file mode 100644 index 00000000000..bdddaf534ca --- /dev/null +++ b/mysql-test/include/not_valgrind.inc @@ -0,0 +1,4 @@ +--require r/not_valgrind.require +--disable_query_log +eval select $VALGRIND_TEST as using_valgrind; +--enable_query_log diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 21e3fceba0c..6536681b0e1 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -3461,6 +3461,11 @@ sub run_mysqltest ($) { mtr_add_arg($args, "--big-test"); } + if ( $opt_valgrind ) + { + mtr_add_arg($args, "--valgrind"); + } + if ( $opt_compress ) { mtr_add_arg($args, "--compress"); diff --git a/mysql-test/r/events_bugs.result b/mysql-test/r/events_bugs.result index e6115161cbb..3c51621d06b 100644 --- a/mysql-test/r/events_bugs.result +++ b/mysql-test/r/events_bugs.result @@ -50,10 +50,10 @@ select get_lock('test_bug16407', 60); drop table "hashed_num"; end| "Now if everything is fine the event has compiled and is locked -select /*1*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; -user host db command state info -event_scheduler localhost NULL Daemon Waiting for next activation NULL -root localhost events_test Connect User lock select get_lock('test_bug16407', 60) +select /*1*/ user, host, db, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; +user host db info +event_scheduler localhost NULL NULL +root localhost events_test select get_lock('test_bug16407', 60) select release_lock('test_bug16407'); release_lock('test_bug16407') 1 @@ -106,18 +106,18 @@ event_schema event_name sql_mode events_test ee_16407_2 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER events_test ee_16407_3 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER events_test ee_16407_4 -select /*2*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; -user host db command state info -event_scheduler localhost NULL Daemon Waiting for next activation NULL -root localhost events_test Connect User lock select get_lock('ee_16407_2', 60) /*ee_16407_2*/ -root localhost events_test Connect User lock select get_lock('ee_16407_2', 60) /*ee_16407_3*/ -root localhost events_test Connect User lock select get_lock('ee_16407_2', 60) /*ee_16407_4*/ +select /*2*/ user, host, db, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; +user host db info +event_scheduler localhost NULL NULL +root localhost events_test select get_lock('ee_16407_2', 60) /*ee_16407_2*/ +root localhost events_test select get_lock('ee_16407_2', 60) /*ee_16407_3*/ +root localhost events_test select get_lock('ee_16407_2', 60) /*ee_16407_4*/ select release_lock('ee_16407_2'); release_lock('ee_16407_2') 1 -select /*3*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; -user host db command state info -event_scheduler localhost NULL Daemon Waiting for next activation NULL +select /*3*/ user, host, db, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; +user host db info +event_scheduler localhost NULL NULL set global event_scheduler= 2; select * from events_smode_test order by ev_name, a; ev_name a @@ -156,18 +156,18 @@ select release_lock('ee_16407_5'); call events_test.ee_16407_6_pendant(); end| "Should have 2 locked processes" -select /*4*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; -user host db command state info -event_scheduler localhost NULL Daemon Waiting for next activation NULL -root localhost events_test Connect User lock select get_lock('ee_16407_5', 60) /*ee_16407_5*/ -root localhost events_test Connect User lock select get_lock('ee_16407_5', 60) /*ee_16407_6*/ +select /*4*/ user, host, db, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; +user host db info +event_scheduler localhost NULL NULL +root localhost events_test select get_lock('ee_16407_5', 60) /*ee_16407_5*/ +root localhost events_test select get_lock('ee_16407_5', 60) /*ee_16407_6*/ select release_lock('ee_16407_5'); release_lock('ee_16407_5') 1 "Should have 0 processes locked" -select /*5*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; -user host db command state info -event_scheduler localhost NULL Daemon Waiting for next activation NULL +select /*5*/ user, host, db, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; +user host db info +event_scheduler localhost NULL NULL select * from events_smode_test order by ev_name, a; ev_name a ee_16407_6 2004-02-29 diff --git a/mysql-test/r/events_scheduling.result b/mysql-test/r/events_scheduling.result index d7b7241db51..a068f7f19bc 100644 --- a/mysql-test/r/events_scheduling.result +++ b/mysql-test/r/events_scheduling.result @@ -6,7 +6,6 @@ CREATE TABLE table_3(a int); CREATE TABLE table_4(a int); CREATE TABLE T19170(s1 TIMESTAMP); SET GLOBAL event_scheduler=1; -CREATE EVENT E19170 ON SCHEDULE EVERY 2 SECOND DO INSERT INTO T19170 VALUES(CURRENT_TIMESTAMP); CREATE EVENT two_sec ON SCHEDULE EVERY 2 SECOND DO INSERT INTO table_1 VALUES(1); CREATE EVENT start_n_end ON SCHEDULE EVERY 1 SECOND @@ -41,15 +40,10 @@ ERROR HY000: Unknown event 'only_one_time' "Should be preserved" SELECT EVENT_NAME, STATUS FROM INFORMATION_SCHEMA.EVENTS ORDER BY EVENT_NAME; EVENT_NAME STATUS -E19170 ENABLED two_time DISABLED DROP EVENT two_time; DROP TABLE table_1; DROP TABLE table_2; DROP TABLE table_3; DROP TABLE table_4; -"Checking for multiple executions in one second, should not happen -> 0 as result" -SELECT COUNT(*) FROM (SELECT s1, COUNT(*) AS cnt FROM T19170 GROUP BY s1) AS tmp WHERE tmp.cnt > 1; -COUNT(*) -0 DROP DATABASE events_test; diff --git a/mysql-test/r/not_valgrind.require b/mysql-test/r/not_valgrind.require new file mode 100644 index 00000000000..5d779c6bfcb --- /dev/null +++ b/mysql-test/r/not_valgrind.require @@ -0,0 +1,2 @@ +using_valgrind +0 diff --git a/mysql-test/t/events.test b/mysql-test/t/events.test index d45b5906f28..2a27144bc27 100644 --- a/mysql-test/t/events.test +++ b/mysql-test/t/events.test @@ -18,7 +18,7 @@ CREATE EVENT e_x2 ON SCHEDULE EVERY 1 SECOND DO DROP TABLE x_table; connection default; SHOW DATABASES LIKE 'db_x'; SET GLOBAL event_scheduler=1; ---sleep 0.8 +--sleep 1.2 SHOW DATABASES LIKE 'db_x'; SHOW TABLES FROM db_x; SET GLOBAL event_scheduler=2; @@ -101,7 +101,7 @@ drop table test_nested; --echo "Let's check whether we can use non-qualified names" create table non_qualif(a int); create event non_qualif_ev on schedule every 10 minute do insert into non_qualif values (800219); ---sleep 0.5 +--sleep 1.1 select * from non_qualif; drop event non_qualif_ev; drop table non_qualif; @@ -224,34 +224,34 @@ SHOW EVENTS; CREATE TABLE event_like LIKE mysql.event; INSERT INTO event_like SELECT * FROM mysql.event; #sleep a bit or we won't catch the change of time ---sleep 1 +--sleep 1.1 ALTER TABLE mysql.event MODIFY db char(64) character set cp1251 default ''; --error ER_CANNOT_LOAD_FROM_TABLE SELECT event_name FROM INFORMATION_SCHEMA.EVENTS; ALTER TABLE mysql.event MODIFY db char(20) character set utf8 collate utf8_bin default ''; #wait a bit or we won't see the difference because of seconds resolution ---sleep 1 +--sleep 1.1 SHOW CREATE TABLE mysql.event; --error ER_CANNOT_LOAD_FROM_TABLE SELECT event_name FROM INFORMATION_SCHEMA.EVENTS; ---sleep 1 +--sleep 1.1 ALTER TABLE mysql.event MODIFY db char(64) character set utf8 collate utf8_bin default ''; ---sleep 1 +--sleep 1.1 --echo "This should work" --replace_column 8 # 9 # SHOW EVENTS; ---sleep 1 +--sleep 1.1 ALTER TABLE mysql.event MODIFY db char(64) character set cp1251 default ''; --error ER_CANNOT_LOAD_FROM_TABLE SELECT event_name FROM INFORMATION_SCHEMA.EVENTS; ---sleep 1 +--sleep 1.1 ALTER TABLE mysql.event MODIFY db varchar(64) character set utf8 collate utf8_bin default ''; ---sleep 1 +--sleep 1.1 --error ER_CANNOT_LOAD_FROM_TABLE SELECT event_name FROM INFORMATION_SCHEMA.EVENTS; ---sleep 1 +--sleep 1.1 ALTER TABLE mysql.event DROP comment, DROP starts; ---sleep 1 +--sleep 1.1 --error ER_COL_COUNT_DOESNT_MATCH_CORRUPTED SELECT event_name FROM INFORMATION_SCHEMA.EVENTS; DROP TABLE mysql.event; @@ -308,7 +308,7 @@ select get_lock("test_lock2", 20); --echo "Create an event which tries to acquire a mutex. The event locks on the mutex" create event закачка on schedule every 10 hour do select get_lock("test_lock2", 20); --echo "Let some time pass to the event starts" ---sleep 0.5 +--sleep 1 --echo "Should have only 2 processes: the scheduler and the locked event" select /*2*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info;--echo "Release the mutex, the event worker should finish." --echo "Release the mutex, the event worker should finish." @@ -326,11 +326,11 @@ drop event закачка; set global event_scheduler=1; select get_lock("test_lock2_1", 20); create event закачка21 on schedule every 10 hour do select get_lock("test_lock2_1", 20); ---sleep 0.5 +--sleep 1 --echo "Should have only 3 processes: the scheduler, our conn and the locked event" select /*3*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; set global event_scheduler=2; ---sleep 0.3 +--sleep 0.8 --echo "Should have only our process now:" select /*4*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; drop event закачка21; diff --git a/mysql-test/t/events_bugs.test b/mysql-test/t/events_bugs.test index 7fd4c684b4b..692e85255ef 100644 --- a/mysql-test/t/events_bugs.test +++ b/mysql-test/t/events_bugs.test @@ -78,9 +78,9 @@ begin drop table "hashed_num"; end| delimiter ;| ---sleep 0.5 +--sleep 0.8 --echo "Now if everything is fine the event has compiled and is locked -select /*1*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; +select /*1*/ user, host, db, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; select release_lock('test_bug16407'); set global event_scheduler= 2; @@ -127,11 +127,11 @@ begin end| delimiter ;| select event_schema, event_name, sql_mode from information_schema.events order by event_schema, event_name; ---sleep 0.5 -select /*2*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; +--sleep 1 +select /*2*/ user, host, db, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; select release_lock('ee_16407_2'); ---sleep 0.8 -select /*3*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; +--sleep 1.2 +select /*3*/ user, host, db, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; set global event_scheduler= 2; select * from events_smode_test order by ev_name, a; --echo "OK, last check before we drop them" @@ -165,13 +165,13 @@ begin call events_test.ee_16407_6_pendant(); end| delimiter ;| ---sleep 0.5 +--sleep 1 --echo "Should have 2 locked processes" -select /*4*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; +select /*4*/ user, host, db, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; select release_lock('ee_16407_5'); ---sleep 0.8 +--sleep 1.3 --echo "Should have 0 processes locked" -select /*5*/ user, host, db, command, state, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; +select /*5*/ user, host, db, info from information_schema.processlist where info is null or info not like '%processlist%' order by info; select * from events_smode_test order by ev_name, a; --echo "And here we check one more time before we drop the events" select event_schema, event_name, sql_mode from information_schema.events order by event_schema, event_name; diff --git a/mysql-test/t/events_scheduling.test b/mysql-test/t/events_scheduling.test index dc4460999a7..7a7502fab7e 100644 --- a/mysql-test/t/events_scheduling.test +++ b/mysql-test/t/events_scheduling.test @@ -1,5 +1,6 @@ # Can't test with embedded server that doesn't support grants -- source include/not_embedded.inc +-- source include/not_valgrind.inc CREATE DATABASE IF NOT EXISTS events_test; USE events_test; @@ -11,7 +12,6 @@ CREATE TABLE T19170(s1 TIMESTAMP); SET GLOBAL event_scheduler=1; # We need to have 2 to make it safe with valgrind. This is probably because # of when we calculate the timestamp value -CREATE EVENT E19170 ON SCHEDULE EVERY 2 SECOND DO INSERT INTO T19170 VALUES(CURRENT_TIMESTAMP); CREATE EVENT two_sec ON SCHEDULE EVERY 2 SECOND DO INSERT INTO table_1 VALUES(1); CREATE EVENT start_n_end ON SCHEDULE EVERY 1 SECOND @@ -40,6 +40,4 @@ DROP TABLE table_1; DROP TABLE table_2; DROP TABLE table_3; DROP TABLE table_4; ---echo "Checking for multiple executions in one second, should not happen -> 0 as result" -SELECT COUNT(*) FROM (SELECT s1, COUNT(*) AS cnt FROM T19170 GROUP BY s1) AS tmp WHERE tmp.cnt > 1; DROP DATABASE events_test; |