Bug #36034 Test parts.part_supported_sql_func_<eng> fails on Windows
Submitted: 13 Apr 2008 17:45 Modified: 1 May 2008 19:14
Reporter: Patrick Crews Email Updates:
Status: Closed Impact on me:
None 
Category:Tests: Server Severity:S3 (Non-critical)
Version:5.1 OS:Windows
Assigned to: Patrick Crews CPU Architecture:Any
Tags: partition, parts, Tests, windows

[13 Apr 2008 17:45] Patrick Crews
Description:
Test parts.part_supported_sql_func_<eng> fails on Windows

Receive the following error:
22668: mysqltest: In included file ".\suite\parts\inc\partition_supported_sql_funcs.inc": At line 86: query 'load data infile '../std_data_ln/parts/$infile' into table t4' failed: 29: File 'f:\build\mysql-5.1.24-rc-winbuild\mysql-5.1.24-rc-win32\mysql-test\var\std_data_ln\parts\part_supported_sql_funcs_int_int.inc' not found (Errcode: 2)

This problem should have been fixed as part of Bug#30576 - part_supported_sql_func_innodb.test tries to LOAD DATA outside of var dir

The change moved the files into mysql-test/std_data/parts (the files are in this path location), but for some reason, the changes to the .test and .inc files which call them are not present.

How to repeat:
Run the test for one of the engines, here we will use myisam

From the mysql-test directory, execute the following command:

./mysql-test-run --suite=parts --ps-protocol part_supported_sql_func_myisam.

You should see a similar error.

You can also verify that the named file is indeed missing from mysql-test/var/std_data_ln, but are present in mysql-test/std_data/parts

Suggested fix:
Correct the .test and .inc files to call the files using the revised path values.

Try to determine how this fix became 'unfixed'
[14 Apr 2008 22:39] Patrick Crews
kent helped me pinpoint the problem -- it was an error in mysql-test-run.pl  Will commit his patch with a few other bug changes.

Here it is in the interim:
--- mysql-test-run.pl.ORIG      2008-04-15 00:14:50.000000000 +0200
+++ mysql-test-run.pl   2008-04-15 00:16:46.000000000 +0200
@@ -2420,13 +2420,7 @@
   {
     # on windows, copy all files from std_data into var/std_data_ln
     mkpath("$opt_vardir/std_data_ln");
-    opendir(DIR, "$glob_mysql_test_dir/std_data")
-      or mtr_error("Can't find the std_data directory: $!");
-    for(readdir(DIR)) {
-      next if -d "$glob_mysql_test_dir/std_data/$_";
-      copy("$glob_mysql_test_dir/std_data/$_", "$opt_vardir/std_data_ln/$_");
-    }
-    closedir(DIR);
+    mtr_copy_dir("$glob_mysql_test_dir/std_data", "$opt_vardir/std_data_ln");
   }
 
   # Remove old log files
[1 May 2008 6:16] Bugs System
Pushed into 5.1.25-rc
[1 May 2008 6:18] Bugs System
Pushed into 6.0.6-alpha
[1 May 2008 19:14] Paul DuBois
Test suite changes. No changelog entry needed.