Bug #32512 All Falcon tests in the "funcs_1" suite are skipped
Submitted: 20 Nov 2007 11:43 Modified: 25 Feb 2008 18:02
Reporter: Joerg Bruehe Email Updates:
Status: Closed Impact on me:
None 
Category:Tests: Server Severity:S3 (Non-critical)
Version:6.0.4-alpha (pre) OS:Linux (x86 (SuSE 9.3))
Assigned to: Horst Hunger CPU Architecture:Any
Triage: D3 (Medium)

[20 Nov 2007 11:43] Joerg Bruehe
Description:
Found in local tests of the current "6.0-build" tree:

funcs_1.falcon__load           [ skipped ]   Test requires: 'true'
funcs_1.falcon_bitdata         [ skipped ]   Test requires: 'true'
funcs_1.falcon_cursors         [ skipped ]   Test requires: 'true'
funcs_1.falcon_func_view       [ skipped ]   Test requires: 'true'
funcs_1.falcon_storedproc      [ disabled ]  (changes of WL#2984, using storeproc_nn instead)
funcs_1.falcon_storedproc_02   [ skipped ]   Test requires: 'true'
funcs_1.falcon_storedproc_03   [ skipped ]   Test requires: 'true'
funcs_1.falcon_storedproc_06   [ skipped ]   Test requires: 'true'
funcs_1.falcon_storedproc_07   [ skipped ]   Test requires: 'true'
funcs_1.falcon_storedproc_08   [ skipped ]   Test requires: 'true'
funcs_1.falcon_storedproc_10   [ fail ]
           ### This will be reported separately: Test uses MyISAM
funcs_1.falcon_trig_0102       [ skipped ]   Test requires: 'true'
funcs_1.falcon_trig_03         [ skipped ]   Test requires: 'true'
funcs_1.falcon_trig_03e        [ skipped ]   Test requires: 'true'
funcs_1.falcon_trig_0407       [ skipped ]   Test requires: 'true'
funcs_1.falcon_trig_08         [ skipped ]   Test requires: 'true'
funcs_1.falcon_trig_09         [ skipped ]   Test requires: 'true'
funcs_1.falcon_trig_1011ext    [ skipped ]   Test requires: 'true'
funcs_1.falcon_trig_frkey      [ skipped ]   Test requires: 'true'
funcs_1.falcon_views           [ skipped ]   Test requires: 'true'

Build is done using "BUILD/compile-pentium-max".

The server claims to have support for Falcon:

===== ENGINES =====
Engine  Support Comment Transactions    XA      Savepoints
FEDERATED       YES     Federated MySQL storage engine  NO      NO      NO
MRG_MYISAM      YES     Collection of identical MyISAM tables   NO      NO      NO
CSV     YES     CSV storage engine      NO      NO      NO
Falcon  YES     Falcon storage engine   YES     NO      YES
BLACKHOLE       YES     /dev/null storage engine (anything you write to it disappears)  NO      NO      NO
MEMORY  YES     Hash based, stored in memory, useful for temporary tables       NO      NO      NO
ARCHIVE YES     Archive storage engine  NO      NO      NO
InnoDB  YES     Supports transactions, row-level locking, and foreign keys      YES     YES     YES
MyISAM  DEFAULT Default engine as of MySQL 3.23 with great performance  NO      NO      NO
===== VARIABLES =====
...
falcon_checkpoint_schedule      7 * * * * *
falcon_debug_mask       0
falcon_debug_server     OFF
falcon_disable_fsync    OFF
falcon_index_chill_threshold    4
falcon_initial_allocation       0
falcon_max_transaction_backlog  150
falcon_page_cache_size  4194304
falcon_page_size        4096
falcon_record_chill_threshold   5
falcon_record_memory_max        262144000
falcon_record_scavenge_floor    50
falcon_record_scavenge_threshold        67
falcon_scavenge_schedule        15,45 * * * * *
falcon_serial_log_buffers       10
falcon_serial_log_dir

How to repeat:
Run the "funcs_1" suite,
for example by "make test-bt".

Suggested fix:
1) Is the letter case "Falcon" vs "falcon" significant ?
   "have_falcon.inc" uses the first,
   but "engine = ..." directives use the second spelling.

2) Does Falcon require some plugin to be installed ?
   "have_falcon.inc" has such a line, but it is commented.

--disable_query_log
# Ignore errors when trying to install the Falcon plugin
--disable_abort_on_error
# Install the plugin first. This should handle platform differences.
#install plugin falcon soname 'ha_falcon.so';
--enable_abort_on_error
--require r/true.require
select support = 'YES' or support = 'DEFAULT' as `TRUE` from information_schema.engines where engine = 'Falcon';
--enable_query_log
[14 Feb 2008 14:02] Magnus Blåudd
msvensson@pilot:~/mysql/mysql-6.0-build/mysql-test$ ./mtr --suite=funcs_1 --do-test=falcon
<snip>
funcs_1.falcon__load           [ skipped ]   Test requires: 'true'
<snip>
[14 Feb 2008 14:20] Magnus Blåudd
That was with a server missing falcon support. In general I think we should rewrite the "have_something.inc" files that does a require r/true.require since it's hard to know why it said "[skip} Requires true".

The proposed solution is to write something like:
if (!`SELECT count(*) FROM information_schema.engines WHERE
      (support = 'YES' OR support = 'DEFAULT') AND
      engine = 'Falcon'`){
  skip Need Falcon engine;
}

The would say "[skip] Need falcon engine" which is much easier to understand.
[14 Feb 2008 14:28] Magnus Blåudd
Trying to compile mysql-6.0-build with falcon to see why it does not work
[14 Feb 2008 15:46] Magnus Blåudd
The funcs1 suite have a suite.opt that turns off falcon
[15 Feb 2008 15:30] 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/42365

ChangeSet@1.2543, 2008-02-15 16:33:36+01:00, hhunger@hh-nb.hungers +21 -0
  Patch for bug#32512 : falcon test where skipped. Reason: In suite.opt falcon was suppressed.
[15 Feb 2008 20:28] 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/42396

ChangeSet@1.2552, 2008-02-15 21:31:38+01:00, hhunger@hh-nb.hungers +21 -0
  Patch for bug#32512. Options in suite.opt suppressed the execution of falcon. Falcon tests updated to run successfully.
[18 Feb 2008 20:48] 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/42517

ChangeSet@1.2552, 2008-02-18 21:51:15+01:00, hhunger@hh-nb.hungers +18 -0
  Patch for bug#32512. Options in suite.opt suppressed execution of falcon tests. Updated results of falcon tests.
[25 Feb 2008 16:05] Bugs System
Pushed into 6.0.5-alpha
[25 Feb 2008 18:02] Paul Dubois
Test case changes. No changelog entry needed.