Documentation Home
MySQL Internals Manual
Download this Manual
EPUB - 1.2Mb

26.7 Notes on MTR2

MTR2 has brought some new utility that can improve testing, but also some elements that can be pitfalls. This section attempts to describe both.

  • Changes


  • This change was introduced to work with parallel. Since MTR2 can run several instances of itself, one path is needed for each instance.

  • You must also use let $MYSQLD_DATADIR= `SELECT @@datadir`;

  • New options

  • max-test-fail: The number of test cases that can fail before the test run aborts. Default=10, set to 0 to continue the run regardless of failure count.

NOTE: --force alone is no longer sufficient to guarantee a full test suite run. If the number of failing tests == max-test-fail, then the test run will abort.

  • parallel: Set n number of workers to run tests in parallel. The current recommendation is 2x the number of processors on your machine.

NOTE: You can no longer be sure of executing test cases in a particular order due to this and other changes brought on by MTR2. *Do not* try to create multi-part tests (test_pt1.test, test_pt2.test, etc).

NOTE: Be cautious when using a high (>2) value for parallel and --mem in combination. It is possible to use vast amounts of resources on your system and cause problematic performance till a crash of the operating system while MTR2 is running.

  • repeat: Run the input test(s) n times in succession. Very good for diagnosing random failures - set a high value for 'n', create a high load on your machine, and see if you can duplicate the failure.

User Comments
Sign Up Login You must be logged in to post a comment.