#At lp:maria

 2802 [email protected]  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


_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to