Bug #33155 Tests cannot run on Unix after directory is 'dirtied' by Windows build.
Submitted: 11 Dec 2007 23:47 Modified: 3 Apr 2011 12:19
Reporter: Antony Curtis Email Updates:
Status: Won't fix Impact on me:
None 
Category:MySQL Server: Tests Severity:S3 (Non-critical)
Version:6.0 OS:Any
Assigned to: CPU Architecture:Any

[11 Dec 2007 23:47] Antony Curtis
Description:
If a repository directory has been made dirty by building for windows in it, an attempt to build for Unix afterwards succeeds but is unable to run test suite.

How to repeat:
From a clean clone of the repository, configure and build on Windows (Visual Studio 2005).

Use 'Clean solution' to delete the built files.

From same repository, build on Unix using BUILD/compile-xxx-debug-max

Change into the mysql-test directory and attempt to run mysql-test-run

Tests will not start properly reporting the following error:

mysql-test-run: *** ERROR: Could not find /home/antony/work/mysql-6.0/client/debug//mysqlcheck

Running 'make distclean' or 'make maintainer-clean' does not solve this.
[11 Dec 2007 23:50] Antony Curtis
Executing the following from the root of the repository seemed to fix it.

find . -type d -name debug | xargs rm -rf
[7 Jan 2011 12:32] Joerg Bruehe
With 5.5, we switched to use "cmake" on all platforms.

Using cmake, the recommended way of building is to do it out of the source directory, for example:
   mkdir /path/to/build
   cd /path/to/build
   tar xzvf /download/mysql-5.5.8.tar.gz

Then, for each platform:
   cd /path/to/build
   mkdir platform-W
   cd platform-W
   cmake .. && make

As a build for a new platform X should use a different "platform-X" subdirectory, that one will be "clean" automatically, and no separate cleanup should be needed.
[3 Apr 2011 12:19] Valeriy Kravchuk
Based on the last comment, I assume we are not going to fix/change anything. Just apply the procedure described.