Bug #48931 Test script run_vp_test.pl does not detect that InnoDB is missing.
Submitted: 20 Nov 2009 8:55
Reporter: Rafal Somla Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Tests Severity:S4 (Feature request)
Version:mysql-6.0 OS:Any
Assigned to: CPU Architecture:Any

[20 Nov 2009 8:55] Rafal Somla
Description:
Perl script mysql-test/suite/backup_extra/vptest/run_vp-test.pl requires InnoDB storage engine. If I try to use it in environment where server is compiled without InnoDB support, I observe this output:

mkdir /ext/mysql/bzr/mysql-6.0-backup//mysql-test//suite/backup_extra/vptest/tmp/
mkdir /ext/mysql/bzr/mysql-6.0-backup//mysql-test//suite/backup_extra/stress_basedir
Starting server with additional argument: 
Creating database...ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (111)
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (111)
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (111)

Failed to create database - Aborting
Shutdown server
/ext/mysql/bzr/mysql-6.0-backup/client/.libs/lt-mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to MySQL server on 'localhost' (111)'
Check that mysqld is running on localhost and that the port is 10740.
You can check this by doing 'telnet localhost 10740'
/ext/mysql/bzr/mysql-6.0-backup/client/.libs/lt-mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to MySQL server on 'localhost' (111)'
Check that mysqld is running on localhost and that the port is 10741.
You can check this by doing 'telnet localhost 10741'

This is not very informative. Would be better to see an information that server does not support InnoDB and this is why script is aborting.

What happens now, is that script starts mysqld server via ./mtr with "--start" option on a test which requires InnoDB. Since there is no InnoDB support, test is skipped and ./mtr silently exits without starting servers. Then the followings attempts to connect to the server fail.

How to repeat:
In a tree which is configured without InnoDB support, run "perl suite/backup_extra/vptest/run_vp_test.pl --datadump-dir=..." from mysql-test/ dir.

Suggested fix:
In run_vp_test.pl script, after spawning thread for starting the server, do some sanity checks to verify that server has been started.