Bug #20634 Unable to run the mysql-test suite on Windows platform.
Submitted: 22 Jun 2006 20:14 Modified: 23 Jun 2006 19:15
Reporter: Iggy Galarza Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: Tests Severity:S3 (Non-critical)
Version:5.0.23 OS:
Assigned to: CPU Architecture:Any

[22 Jun 2006 20:14] Iggy Galarza
Description:
./mysql-test-run.pl generates errors when attempting to run the test suite on Windows.  Here's the typical output:

win2003-x86:/cygdrive/c/iggy/mysql-5.0.23/mysql-test> ./mysql-test-run. pl --do-test=create mysql-test-run: *** ERROR: Could not find any of c:/iggy/mysql-5.0.23/client_deb ug/mysqld-max.exe c:/iggy/mysql-5.0.23/client_debug/mysqld-nt.exe c:/iggy/mysql- 5.0.23/client_debug/mysqld.exe c:/iggy/mysql-5.0.23/client_debug/mysqld-debug.ex e c:/iggy/mysql-5.0.23/client_debug/mysqld-max.exe

How to repeat:
1. Generate mysql-5.0.23-win-src.zip
2. Extract and build mysql-5.0.23-win-src.zip.
3. Open cygwin session and attempt the following command from the mysql-test directory in the extracted source:

./mysql-test-run.pl

Suggested fix:
Apply the 5.1 solution to 5.0
[23 Jun 2006 6:17] Carsten Segieth
I'm not aware of the mentioned '5.1-solution', but in I remember I used something like 

 chmod +x ../bin/*.exe

to get the mysql-test-run.pl running from cygwin.
[23 Jun 2006 8:10] Sveta Smirnova
I can't repeat it using last 5.0.23 sources:

Sveta@TOSHA /cygdrive/c/bk/win_build/mysql-5.0.23/mysql-test
$ perl mysql-test-run.pl
Skipping ndbcluster, mysqld not compiled with ndbcluster
Setting mysqld to support SSL connections
Using MTR_BUILD_THREAD = 0
Using MASTER_MYPORT    = 9306
...
[23 Jun 2006 19:13] Elliot Murphy
I was able to repeat this:
1) built 5.0 tree from BK on linux
2) ran scripts/make_win_src_distribution
3) transfer zip to Windows machine
4) Open mysql.sln in Visual Studio 2005
5) Build Max Nt configuration
6) open cygwin, change to mysql-test directory, and run ./mysql-test-run.pl
[23 Jun 2006 19:15] Iggy Galarza
The 5.1 solution is to change the subroutine mtr_exe_exists in the file mysql-test/lib/mtr_misc.pl to that it is the same as the 5.1 version (shown below)

sub mtr_exe_exists (@) {
  my @path= @_;
  map {$_.= ".exe"} @path if $::glob_win32;
  foreach my $path ( @path )
  {
    if($::glob_win32)
    {
      return $path if -f $path;
    }
    else
    {
      return $path if -x $path;
    }
  }
  if ( @path == 1 )
  {
    mtr_error("Could not find $path[0]");
  }
  else
  {
    mtr_error("Could not find any of " . join(" ", @path));
  }
 }