From 0a97f7bad39c00c268b94e25d3877e019ef06f99 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 16 Feb 2007 15:19:38 +0100 Subject: Workaround for problem where cygwin's bash/sh randomly fails with error 128 which mainly occurs on win2003 64bit. - Execute "exec" commands directly with cmd.exe and replace "--exec echo ..." with "--exec .\echo.exe ..." client/mysqltest.c: Workaround the problem with "echo" in windows not behaving like "echo" in Unix. - Replace "--exec echo ..." with "--exec \echo.exe" thus forcing use of our own echo implementation which baheves like on Unix. - The above change makes it possible to remove the need to execute all --exec's inside cygwin. Add ifdefs to only use use cygwin's bash conditionally mysql-test/lib/mtr_misc.pl: Add function for converting to the OS's native format mysql-test/mysql-test-run.pl: Convert path to executables to "windows native" (c:\\) instead of "mixed"(c:/) mode necessary for pipes and redirects to work properly in cmd.exe client/echo.c: New BitKeeper file ``client/echo.c'' --- mysql-test/lib/mtr_misc.pl | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'mysql-test/lib') diff --git a/mysql-test/lib/mtr_misc.pl b/mysql-test/lib/mtr_misc.pl index c016f3dc34f..880368be170 100644 --- a/mysql-test/lib/mtr_misc.pl +++ b/mysql-test/lib/mtr_misc.pl @@ -8,6 +8,7 @@ use strict; sub mtr_full_hostname (); sub mtr_short_hostname (); +sub mtr_native_path($); sub mtr_init_args ($); sub mtr_add_arg ($$@); sub mtr_path_exists(@); @@ -49,6 +50,16 @@ sub mtr_short_hostname () { return $hostname; } +# Convert path to OS native format +sub mtr_native_path($) +{ + my $path= shift; + $path=~ s/\//\\/g + if ($::glob_win32); + return $path; +} + + # FIXME move to own lib sub mtr_init_args ($) { -- cgit v1.2.1