maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #01935
Patch for Windows problem with setting TZ
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
Follow ups