From 700397a8e2ac0435ac8142040cd746bce6dc8eb7 Mon Sep 17 00:00:00 2001 From: Elena Stepanova Date: Sun, 10 Nov 2013 14:37:32 +0400 Subject: [PATCH 1/2] Fix for overlayed include files on Windows and a test case --- client/mysqltest.cc | 3 +++ mysql-test/suite/mtr2/overlay.inc | 2 ++ mysql-test/suite/mtr2/single.result | 3 +++ mysql-test/suite/mtr2/single.test | 4 ++++ storage/myisam/mysql-test/mtr2/overlay.inc | 2 ++ storage/myisam/mysql-test/mtr2/single.rdiff | 12 ++++++++++++ 6 files changed, 26 insertions(+) create mode 100644 mysql-test/suite/mtr2/overlay.inc create mode 100644 storage/myisam/mysql-test/mtr2/overlay.inc create mode 100644 storage/myisam/mysql-test/mtr2/single.rdiff diff --git a/client/mysqltest.cc b/client/mysqltest.cc index 4bb4495631b..95b0170257d 100644 --- a/client/mysqltest.cc +++ b/client/mysqltest.cc @@ -2992,6 +2992,9 @@ void open_file(const char *name) char buff[FN_REFLEN]; size_t length; const char *curname= cur_file->file_name; +#ifdef __WIN__ + fix_win_paths(curname, sizeof(curname)); +#endif DBUG_ENTER("open_file"); DBUG_PRINT("enter", ("name: %s", name)); diff --git a/mysql-test/suite/mtr2/overlay.inc b/mysql-test/suite/mtr2/overlay.inc new file mode 100644 index 00000000000..669b8315fcb --- /dev/null +++ b/mysql-test/suite/mtr2/overlay.inc @@ -0,0 +1,2 @@ +select 2; + diff --git a/mysql-test/suite/mtr2/single.result b/mysql-test/suite/mtr2/single.result index 8f7c125196a..b0bd4a256d7 100644 --- a/mysql-test/suite/mtr2/single.result +++ b/mysql-test/suite/mtr2/single.result @@ -1,3 +1,6 @@ select 1; 1 1 +select 2; +2 +2 diff --git a/mysql-test/suite/mtr2/single.test b/mysql-test/suite/mtr2/single.test index 122e1bb00e4..5acf716d6cb 100644 --- a/mysql-test/suite/mtr2/single.test +++ b/mysql-test/suite/mtr2/single.test @@ -5,4 +5,8 @@ # three times - once for the parent suite, and once for each overlay. # even if the test files are not overlayed. # +# overlay.inc is overridden in mtr2-myisam, and there is an rdiff file. +# select 1; +source overlay.inc; + diff --git a/storage/myisam/mysql-test/mtr2/overlay.inc b/storage/myisam/mysql-test/mtr2/overlay.inc new file mode 100644 index 00000000000..4113a306496 --- /dev/null +++ b/storage/myisam/mysql-test/mtr2/overlay.inc @@ -0,0 +1,2 @@ +select 3; + diff --git a/storage/myisam/mysql-test/mtr2/single.rdiff b/storage/myisam/mysql-test/mtr2/single.rdiff new file mode 100644 index 00000000000..fd590d53d4a --- /dev/null +++ b/storage/myisam/mysql-test/mtr2/single.rdiff @@ -0,0 +1,12 @@ +--- suite/mtr2/single.result 2013-11-10 03:58:37.000000000 +0400 ++++ suite/mtr2/single.reject 2013-11-10 03:59:08.000000000 +0400 +@@ -1,6 +1,6 @@ + select 1; + 1 + 1 +-select 2; +-2 +-2 ++select 3; ++3 ++3 From 1f13733b507a1c46fff0af85d8a3b71e35c17b76 Mon Sep 17 00:00:00 2001 From: Elena Stepanova Date: Sun, 10 Nov 2013 23:19:21 +0400 Subject: [PATCH 2/2] MDEV-5272 MTR/mysqltest overlays for included files do not work on Windows Modified according to the review comment --- client/mysqltest.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/client/mysqltest.cc b/client/mysqltest.cc index 95b0170257d..22645c89067 100644 --- a/client/mysqltest.cc +++ b/client/mysqltest.cc @@ -2992,9 +2992,6 @@ void open_file(const char *name) char buff[FN_REFLEN]; size_t length; const char *curname= cur_file->file_name; -#ifdef __WIN__ - fix_win_paths(curname, sizeof(curname)); -#endif DBUG_ENTER("open_file"); DBUG_PRINT("enter", ("name: %s", name)); @@ -3037,6 +3034,10 @@ void open_file(const char *name) 5.try in basedir */ +#ifdef __WIN__ + fix_win_paths(curname, sizeof(curname)); +#endif + bool in_overlay= opt_overlay_dir && !strncmp(curname, opt_overlay_dir, overlay_dir_len); bool in_suiteir= opt_overlay_dir && !in_overlay &&