Bug #41916 Some falcon tests do not check that required character sets are supported
Submitted: 7 Jan 2009 10:34 Modified: 7 May 2009 16:57
Reporter: John Embretsen Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S3 (Non-critical)
Version:6.0.10-bzr OS:Any
Assigned to: John Embretsen CPU Architecture:Any
Tags: F_TEST

[7 Jan 2009 10:34] John Embretsen
Description:
This basically is an extension of Bug#41877 - falcon_bugs test fails if MySQL is compiled without ucs2 support.

It turns out that there are more tests which will fail if support for the ucs2 character set or other non-default character sets are not compiled in (latin1 in the default character set). 

I grepped for tests using ucs2, utf8, utf16 and utf32 (the risk of missing the UTF character sets is not big, but still). The following list shows Falcon tests missing checks (include (.inc) files) for any of those character sets:

 falcon_bug_22180.test - utf8
 falcon_bug_23689.test - utf8
 falcon_bug_24511.test - utf8
 falcon_bug_24858.test - utf8
 falcon_bug_24921.test - utf8
 falcon_bug_25555.test - utf8
 falcon_bug_26057.test - utf8
 falcon_bug_27697.test - utf8
 falcon_bug_30480_A.test - utf8
 falcon_bug_30480_B.test - ucs2
 falcon_bug_32833.test - utf8, utf32
 falcon_bug_38304.test - utf8
 falcon_bug_39708.test - utf8
 falcon_bugs2.test - utf8
 falcon_select.test - utf8
 falcon_unicode-big.test - utf8

How to repeat:
Compile the MySQL 6.0 source with Falcon and other test resources, but exclude as many character sets as possible except latin1. Run the falcon test suite.

Alternatively, grep for "CHARSET", "CHARACTER SET" and "SET NAMES" in the directory mysql-test/suite/falcon/t/.

Suggested fix:
Source the appropriate include file in each listed test case to make sure the test is skipped if there is no support for the given character set.
[7 Jan 2009 10:41] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/62580

2958 John H. Embretsen	2009-01-07
      Fix for Bug#41916 - Some falcon tests do not check that required character sets are supported.
      
      This patch adds --source commands in order to run a check for character sets ucs2, utf8, utf16 or utf32 if any of those character sets are used in the test.
      If the tested binary does not support the given character set, the test will be skipped.
[7 Jan 2009 12:06] John Embretsen
Patch pushed to mysql-6.0-falcon-team branch.
Push Revision   john.embretsen@sun.com-20090107104107-wd99xqbm0impzkly
Push Date       2009-01-07 12:47:07 CET
[13 Feb 2009 7:23] Bugs System
Pushed into 6.0.10-alpha (revid:alik@sun.com-20090211182317-uagkyj01fk30p1f8) (version source revid:olav@sun.com-20090113103017-41jbad7qlvlwpwxh) (merge vers: 6.0.10-alpha) (pib:6)
[7 May 2009 16:57] MC Brown
Internal/test fix. No changelog entry required.