[Maria-developers] bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2802)
#At lp:maria 2802 knielsen@knielsen-hq.org 2010-01-19 Fix Windows test failures in binlog tests in certain time zones. On Unix systems TZ can be set to change the time zone for specific processes only. But on Windows this does not fully work. It changes some aspects of time zones in the system but not others (notably localtime() vs. file system time stamps). This causes test failures in Windows in certain time zones (but not all), where PURGE BEFORE DATE statements get the wrong files when TZ is set to +03:00 by default. Fix by only setting TZ in the small number of tests that really need it, and leave it untouched in the rest. Thanks to Alex Budovski for helping with this. added: mysql-test/t/mysqlbinlog2-master.opt modified: mysql-test/include/ps_conv.inc mysql-test/mysql-test-run.pl mysql-test/suite/binlog/r/binlog_unsafe.result mysql-test/suite/binlog/t/binlog_unsafe.test mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test per-file messages: mysql-test/include/ps_conv.inc Explicitly set TIME_ZONE, as mysql-test-run.pl now does not set it. mysql-test/mysql-test-run.pl Do not set TZ by default, as it causes problems on Windows. mysql-test/suite/binlog/r/binlog_unsafe.result Explicitly set TIME_ZONE, as mysql-test-run.pl now does not set it. mysql-test/suite/binlog/t/binlog_unsafe.test Explicitly set TIME_ZONE, as mysql-test-run.pl now does not set it. mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result Explicitly set TIME_ZONE, as mysql-test-run.pl now does not set it. mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test Explicitly set TIME_ZONE, as mysql-test-run.pl now does not set it. mysql-test/t/mysqlbinlog2-master.opt mysql-test-run.pl no longer sets TZ by default, so set it explicitly for this particular test. === modified file 'mysql-test/include/ps_conv.inc' --- a/mysql-test/include/ps_conv.inc 2007-07-04 09:20:53 +0000 +++ b/mysql-test/include/ps_conv.inc 2010-01-19 10:36:52 +0000 @@ -30,6 +30,9 @@ --disable_warnings drop table if exists t5 ; --enable_warnings +--disable_query_log +SET TIME_ZONE= '+03:00'; +--enable_query_log set @arg01= 8; set @arg02= 8.0; set @arg03= 80.00000000000e-1; === modified file 'mysql-test/mysql-test-run.pl' --- a/mysql-test/mysql-test-run.pl 2010-01-06 21:27:53 +0000 +++ b/mysql-test/mysql-test-run.pl 2010-01-19 10:36:52 +0000 @@ -3425,7 +3425,7 @@ sub restart_forced_by_test # Return timezone value of tinfo or default value sub timezone { my ($tinfo)= @_; - return $tinfo->{timezone} || "GMT-3"; + return $tinfo->{timezone} || "DEFAULT"; } @@ -3455,7 +3455,9 @@ sub run_testcase ($$) { # Init variables that can change between each test case # ------------------------------------------------------- my $timezone= timezone($tinfo); - $ENV{'TZ'}= $timezone; + if ($timezone ne 'DEFAULT') { + $ENV{'TZ'}= $timezone; + } mtr_verbose("Setting timezone: $timezone"); if ( ! using_extern() ) === modified file 'mysql-test/suite/binlog/r/binlog_unsafe.result' --- a/mysql-test/suite/binlog/r/binlog_unsafe.result 2010-01-15 15:27:55 +0000 +++ b/mysql-test/suite/binlog/r/binlog_unsafe.result 2010-01-19 10:36:52 +0000 @@ -380,6 +380,7 @@ INSERT INTO t1 VALUES (VERSION()); Warnings: Note 1592 Statement may not be safe to log in statement format. DELETE FROM t1; +SET TIME_ZONE= '+03:00'; SET TIMESTAMP=1000000; INSERT INTO t1 VALUES (CURDATE()), === modified file 'mysql-test/suite/binlog/t/binlog_unsafe.test' --- a/mysql-test/suite/binlog/t/binlog_unsafe.test 2010-01-15 15:27:55 +0000 +++ b/mysql-test/suite/binlog/t/binlog_unsafe.test 2010-01-19 10:36:52 +0000 @@ -422,6 +422,7 @@ DELETE FROM t1; # following following functions depend on the TIMESTAMP variable and # don't generate a warning. +SET TIME_ZONE= '+03:00'; SET TIMESTAMP=1000000; INSERT INTO t1 VALUES (CURDATE()), === modified file 'mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result' --- a/mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result 2008-11-04 17:07:14 +0000 +++ b/mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result 2010-01-19 10:36:52 +0000 @@ -18,6 +18,7 @@ Server_id Host Port Rpl_recovery_rank Ma drop table t1; stop slave; create table t2(id int auto_increment primary key, created datetime); +SET TIME_ZONE= '+03:00'; set timestamp=12345; insert into t2 set created=now(); select * from t2; === modified file 'mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test' --- a/mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test 2007-06-27 12:28:02 +0000 +++ b/mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test 2010-01-19 10:36:52 +0000 @@ -23,6 +23,7 @@ connection master; # Test replication of timestamp create table t2(id int auto_increment primary key, created datetime); +SET TIME_ZONE= '+03:00'; set timestamp=12345; insert into t2 set created=now(); select * from t2; === added file 'mysql-test/t/mysqlbinlog2-master.opt' --- a/mysql-test/t/mysqlbinlog2-master.opt 1970-01-01 00:00:00 +0000 +++ b/mysql-test/t/mysqlbinlog2-master.opt 2010-01-19 10:36:52 +0000 @@ -0,0 +1 @@ +--timezone=GMT-3
participants (1)
-
knielsen@knielsen-hq.org