Bug #75868 main.error_simulation fails on Mac OS X since 5.5.42
Submitted: 12 Feb 2015 6:48 Modified: 12 Feb 2015 13:04
Reporter: Laurynas Biveinis (OCA) Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Tests Severity:S3 (Non-critical)
Version:5.5.42 OS:MacOS
Assigned to: CPU Architecture:Any
Tags: Mac OS X, mtr, temp pool

[12 Feb 2015 6:48] Laurynas Biveinis
Description:
./mysql-test-run simulate_error
...
main.error_simulation                    [ fail ]
        Test ended at 2015-02-11 16:01:54

CURRENT_TEST: main.error_simulation
mysqltest: At line 135: query 'SELECT a FROM t1 ORDER BY rand(1)' succeeded - should have failed with errno 1...

The result from queries just before the failure was:
< snip >
INSERT INTO t2 VALUES (1),(2);
SET SESSION debug='d,bug11747970_simulate_error';
INSERT IGNORE INTO t2 SELECT f1 FROM t1 a WHERE NOT EXISTS (SELECT 1 FROM t2 b WHERE a.f1 = b.f1);
Warnings:
Error	1105	Unknown error
SET SESSION debug = DEFAULT;
DROP TABLE t1,t2;
#
# End of 5.1 tests
#
#
# BUG#11747548:DETECT ORPHAN TEMP-POOL FILES, AND HANDLE GRACEFULLY.
#
#Set up.
CREATE TABLE pid_table(pid_no INT);
CREATE TABLE t1 (a BLOB);
INSERT INTO t1 VALUES (1), (2);
#Create MYD and MYI files for intrinsic temp table.
LOAD DATA LOCAL INFILE 'pid_file' INTO TABLE pid_table;
#Reports an error since the temp file already exists.

How to repeat:
./mysql-test-run simulate_error on Mac OS X

Suggested fix:
This is introduced by https://github.com/mysql/mysql-server/commit/5a587b6d2897e786b515d05a09b37ef81695dab7. The testcase depends on Linux temp pool temp file naming schema, which is used only on Linux.

It should be fixed by moving the failing bit to a new testcase and adding a (non-existing yet) --source include/have_temp_pool.inc there.
[12 Feb 2015 11:53] MySQL Verification Team
Thank you for the bug report.

Creating var directory '/Users/miguel/Downloads/mysql-5.5.42/mysql-test/var'...
Installing system database...

==============================================================================

TEST                                      RESULT   TIME (ms) or COMMENT
--------------------------------------------------------------------------

worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009
main.error_simulation                    [ fail ]
        Test ended at 2015-02-12 09:53:56

CURRENT_TEST: main.error_simulation
mysqltest: At line 135: query 'SELECT a FROM t1 ORDER BY rand(1)' succeeded - should have failed with errno 1...

The result from queries just before the failure was:
[12 Feb 2015 13:04] Laurynas Biveinis
5.6 fixed this at https://github.com/mysql/mysql-server/commit/432078dc748a79a631c8e54e83ffe548060fc859. This commit should be back ported to 5.5.