Bug #44055 | MTR2: check-testcase is wrong when a previous test was skipped | ||
---|---|---|---|
Submitted: | 2 Apr 2009 21:05 | Modified: | 11 Oct 2010 14:09 |
Reporter: | Guilhem Bichot | Email Updates: | |
Status: | Duplicate | Impact on me: | |
Category: | Tools: MTR / mysql-test-run | Severity: | S3 (Non-critical) |
Version: | 6.0-bzr | OS: | Linux |
Assigned to: | Bjørn Munch | CPU Architecture: | Any |
Tags: | pushbuild, sporadic, test failure |
[2 Apr 2009 21:05]
Guilhem Bichot
[6 Oct 2010 11:33]
Bjørn Munch
To avoid this, MTR probably has to always restart servers after a test founds out it has to be skipped. Bug #52828 implements a special case for this. Could perhaps find a way for a test to indicate it skipped "early" before having done anything.
[11 Oct 2010 13:45]
Bjørn Munch
This was in fact caused by a bug in include/have_blackhole.inc: ----- disable_query_log; --require r/true.require let $have_blackhole=`select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'blackhole'`; if (!$have_blackhole) { skip Test needs the Blackhole storage engine; } enable_query_log; ----- The test using the $have_blackhole variable works, but the --require (which should have been removed) is left dangling. It triggers on the first actual SQL statement, which is the CREATE. This causes the test to be skipped even if we do have the blackhole engine, because the CREATE does not output "TRUE 1" Since this code is in 6.0 only (not in current trunk), I close this as Won't Fix. If it should be fixed, the bug is in the .inc file, not in MTR.
[11 Oct 2010 14:09]
Bjørn Munch
Turns out this was actually fixed by Bug #42981.