| Bug #30560 | Valgrind option to mysql-test-run with spaces in cause strange error | ||
|---|---|---|---|
| Submitted: | 22 Aug 2007 11:33 | Modified: | 8 Dec 2007 15:39 |
| Reporter: | Mats Kindahl | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Tests | Severity: | S3 (Non-critical) |
| Version: | OS: | Any | |
| Assigned to: | Magnus BlÄudd | CPU Architecture: | Any |
[5 Oct 2007 16:36]
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/34998 ChangeSet@1.2533, 2007-10-05 18:36:23+02:00, msvensson@shellback.(none) +1 -0 Bug#30560 Valgrind option to mysql-test-run with spaces in cause strange error
[18 Oct 2007 21:34]
Bugs System
Pushed into 5.1.23-beta
[18 Oct 2007 21:36]
Bugs System
Pushed into 5.0.52
[23 Oct 2007 9:53]
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/36110 ChangeSet@1.2539, 2007-10-23 11:52:55+02:00, msvensson@pilot.mysql.com +1 -0 Bug#30560 Valgrind option to mysql-test-run with spaces in cause strange error
[7 Dec 2007 23:07]
Bugs System
Pushed into 6.0.5-alpha
[7 Dec 2007 23:09]
Bugs System
Pushed into 5.1.23-rc
[7 Dec 2007 23:10]
Bugs System
Pushed into 5.0.54
[8 Dec 2007 15:39]
Paul DuBois
Test suite change. No changelog entry needed.

Description: When using the ``--valgrind-option`` to supply a ``--db-command`` to Valgrind, it is necessary to insert spaces in the command, for example:: --valgrind-options="--db-command='gdb -nw %f %p'" Inside mysql-test-run.pl, the following snippet can be found:: # Add valgrind options, can be overriden by user mtr_add_arg($args, '%s', $_) for (split(' ', $opt_valgrind_options)); Since it splits the valgrind options at spaces, it will produce the list: "--db-command='gdb", "-nw", "%f", and "%p'", several of which are not recognized as options. How to repeat: :: $ ./mysql-test-run --valgrind-options="--db-command='gdb -nw %f %p'" ... TEST RESULT TIME (ms) ------------------------------------------------------- mysql-test-run: WARNING: Forcing kill of process 26520 mysql-test-run: WARNING: Process 26672 died main.1st [ fail ] ERROR: Failed to start master mysqld 0 $ cat var/log/master.err CURRENT_TEST: main.1st valgrind: %f: command not found Note: Forcing kill of process 26672 Suggested fix: Change code in mysql-test-run.pl to recognize separate options correctly. The simplest solution might be to just use the supplied string and instead of using the list version of ``exec`` (which calls ``execvp``) use the single scalar version of ``exec`` (which handles the separation of the string into arguments itself, basically by calling ``system``).