Hi, Alex Budovski has done some work to debug why some tests (binlog tests in particular) are failing on Windows, and found that this is because mysql-test-run.pl set the TZ variable. This interacts poorly with the Windows Operating System.
It's actually only a few test cases that need to set TZ. Here is a quick patch that avoids the need to set TZ except for tests that specifically requests it (with the already existing --timezone=XXX mechanism in -master.opt). Opinions? - Kristian.
=== modified file 'mysql-test/include/ps_conv.inc' --- mysql-test/include/ps_conv.inc 2007-07-04 09:20:53 +0000 +++ mysql-test/include/ps_conv.inc 2010-01-16 11:40:42 +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' --- mysql-test/mysql-test-run.pl 2010-01-06 21:27:53 +0000 +++ mysql-test/mysql-test-run.pl 2010-01-16 11:53:58 +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' --- mysql-test/suite/binlog/r/binlog_unsafe.result 2010-01-15 15:27:55 +0000 +++ mysql-test/suite/binlog/r/binlog_unsafe.result 2010-01-16 11:36:09 +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' --- mysql-test/suite/binlog/t/binlog_unsafe.test 2010-01-15 15:27:55 +0000 +++ mysql-test/suite/binlog/t/binlog_unsafe.test 2010-01-16 11:35: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' --- mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result 2008-11-04 17:07:14 +0000 +++ mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result 2010-01-16 11:33:22 +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' --- mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test 2007-06-27 12:28:02 +0000 +++ mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test 2010-01-16 11:32:56 +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' --- mysql-test/t/mysqlbinlog2-master.opt 1970-01-01 00:00:00 +0000 +++ mysql-test/t/mysqlbinlog2-master.opt 2010-01-16 12:00:07 +0000 @@ -0,0 +1 @@ +--timezone=GMT-3
_______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp