1MYSQL-TEST-RUN() MYSQL-TEST-RUN()
2
3
4
6 mysql-test-run.pl - run MariaDB test suite
7
9 mysql-test-run.pl [options]
10
12 The mysql-test-run.pl Perl script is the main application used to run
13 the MariaDB test suite. It invokes mysqltest to run individual test
14 cases.
15
16 Invoke mysql-test-run.pl in the mysql-test directory like this:
17
18 shell> mysql-test-run.pl [options] [test_name] ...
19
20 Each test_name argument names a test case. The test case file that
21 corresponds to the test name is t/test_name.test.
22
23 For each test_name argument, mysql-test-run.pl runs the named test
24 case. With no test_name arguments, mysql-test-run.pl runs all .test
25 files in the t subdirectory.
26
27 If no suffix is given for the test name, a suffix of .test is assumed.
28 Any leading path name is ignored. These commands are equivalent:
29
30 shell> mysql-test-run.pl mytest
31 shell> mysql-test-run.pl mytest.test
32 shell> mysql-test-run.pl t/mytest.test
33
34 A suite name can be given as part of the test name. That is, the syntax
35 for naming a test is:
36
37 [suite_name.]test_name[.suffix]
38
39 If a suite name is given, mysql-test-run.pl looks in that suite for the
40 test. The test file corresponding to a test named suite_name.test_name
41 is found in suite/suite_name/t/test_name.test. There is also an
42 implicit suite name main for the tests in the top t directory. With no
43 suite name, mysql-test-run.pl looks in the default list of suites for a
44 match and runs the test in any suites where it finds the test. Suppose
45 that the default suite list is main, binlog, rpl, and that a test
46 mytest.test exists in the main and rpl suites. With an argument of
47 mytest or mytest.test, mysql-test-run.pl will run mytest.test from the
48 main and rpl suites.
49
50 To run a family of test cases for which the names share a common
51 prefix, use the --do-test=prefix option. For example, --do-test=rpl
52 runs the replication tests (test cases that have names beginning with
53 rpl). --skip-test has the opposite effect of skipping test cases for
54 which the names share a common prefix.
55
56 The argument for the --do-test and --skip-test options also allows more
57 flexible specification of which tests to perform or skip. If the
58 argument contains a pattern metacharacter other than a lone period, it
59 is interpreted as a Perl regular expression and applies to test names
60 that match the pattern. If the argument contains a lone period or does
61 not contain any pattern metacharacters, it is interpreted the same way
62 as previously and matches test names that begin with the argument
63 value. For example, --do-test=testa matches tests that begin with
64 testa, --do-test=main.testa matches tests in the main test suite that
65 begin with testa, and --do-test=main.*testa matches test names that
66 contain main followed by testa with anything in between. In the latter
67 case, the pattern match is not anchored to the beginning of the test
68 name, so it also matches names such as xmainytesta.
69
70 To perform setup prior to running tests, mysql-test-run.pl needs to
71 invoke mysqld with the --bootstrap and --skip-grant-tables options. If
72 MySQL was configured with the --disable-grant-options option,
73 --bootstrap, --skip-grant-tables, and --init-file will be disabled. To
74 handle this, set the MYSQLD_BOOTSTRAP environment variable to the full
75 path name of a server that has all options enabled. mysql-test-run.pl
76 will use that server to perform setup; it is not used to run the tests.
77
78 The init_file test will fail if --init-file is disabled. This is an
79 expected failure that can be handled as follows:
80
81 shell> export MYSQLD_BOOTSTRAP
82 shell> MYSQLD_BOOTSTRAP=/full/path/to/mysqld
83 shell> make test force="--skip-test=init_file"
84
85 To run mysql-test-run.pl on Windows, you´ll need either Cygwin or
86 ActiveState Perl to run it. You may also need to install the modules
87 required by the script. To run the test script, change location into
88 the mysql-test directory, set the MTR_VS_CONFIG environment variable to
89 the configuration you selected earlier (or use the --vs-config option),
90 and invoke mysql-test-run.pl. For example (using Cygwin and the bash
91 shell):
92
93 shell> cd mysql-test
94 shell> export MTR_VS_CONFIG=debug
95 shell> ./mysqltest-run.pl --force --timer
96 shell> ./mysqltest-run.pl --force --timer --ps-protocol
97
98 mysql-test-run.pl uses several environment variables. Some of them are
99 listed in the following table. Some of these are set from the outside
100 and used by mysql-test-run.pl, others are set by mysql-test-run.pl
101 instead, and may be referred to in tests.
102
103 ┌─────────────────┬────────────────────────────┐
104 │Variable │ Meaning │
105 ├─────────────────┼────────────────────────────┤
106 │MTR_VERSION │ If set to 1, will run the │
107 │ │ older version 1 of │
108 │ │ mysql-test-run.pl. This │
109 │ │ will affect what │
110 │ │ functionailty is available │
111 │ │ and what command line │
112 │ │ options are supported. │
113 ├─────────────────┼────────────────────────────┤
114 │MTR_MEM │ If set to anything, will │
115 │ │ run tests with files in │
116 │ │ "memory" using tmpfs or │
117 │ │ ramdisk. │
118 │ │ Not available on Windows. │
119 │ │ Same as │
120 │ │ --mem │
121 │ │ option │
122 ├─────────────────┼────────────────────────────┤
123 │MTR_PARALLEL │ If set, defines number of │
124 │ │ parallel threads executing │
125 │ │ tests. Same as │
126 │ │ --parallel │
127 │ │ option │
128 ├─────────────────┼────────────────────────────┤
129 │MTR_BUILD_THREAD │ If set, defines which port │
130 │ │ number range is used for │
131 │ │ the server │
132 ├─────────────────┼────────────────────────────┤
133 │MTR_PORT_BASE │ If set, defines which port │
134 │ │ number range is used for │
135 │ │ the server │
136 ├─────────────────┼────────────────────────────┤
137 │MTR_NAME_TIMEOUT │ Setting of a timeout in │
138 │ │ minutes or seconds, │
139 │ │ corresponding to command │
140 │ │ line option │
141 │ │ --name-timeout. Available │
142 │ │ timeout names are │
143 │ │ TESTCASE, SUITE (both in │
144 │ │ minutes) and START, │
145 │ │ SHUTDOWN (both in │
146 │ │ seconds). These variables │
147 │ │ are supported from MySQL │
148 │ │ 5.1.44. │
149 ├─────────────────┼────────────────────────────┤
150 │MYSQL_TEST │ Path name to mysqltest │
151 │ │ binary │
152 ├─────────────────┼────────────────────────────┤
153 │MYSQLD_BOOTSTRAP │ Full path name to mysqld │
154 │ │ that has all options │
155 │ │ enabled │
156 ├─────────────────┼────────────────────────────┤
157 │MYSQLTEST_VARDIR │ Path name to the var │
158 │ │ directory that is used for │
159 │ │ logs, │
160 │ │ temporary files, and so │
161 │ │ forth │
162 ├─────────────────┼────────────────────────────┤
163 │MYSQL_TEST_DIR │ Full path to the │
164 │ │ mysql-test directory where │
165 │ │ tests │
166 │ │ are being │
167 │ │ run from │
168 ├─────────────────┼────────────────────────────┤
169 │MYSQL_TMP_DIR │ Path to temp directory │
170 │ │ used for temporary files │
171 │ │ during tests │
172 └─────────────────┴────────────────────────────┘
173
174 The variable MTR_PORT_BASE was added in MySQL 5.1.45 as a more logical
175 replacement for MTR_BUILD_THREAD. It gives the actual port number
176 directly (will be rounded down to a multiple of 10). If you use
177 MTR_BUILD_THREAD, the port number is found by multiplying this by 10
178 and adding 10000.
179
180 Tests sometimes rely on certain environment variables being defined.
181 For example, certain tests assume that MYSQL_TEST is defined so that
182 mysqltest can invoke itself with exec $MYSQL_TEST.
183
184 Other tests may refer to the last three variables listed in the
185 preceding table, to locate files to read or write. For example, tests
186 that need to create files will typically put them in
187 $MYSQL_TMP_DIR/file_name.
188
189 If you are running mysql-test-run.pl version 1 by setting MTR_VERSION,
190 note that this only affects the test driver, not the test client (and
191 its language) or the tests themselves.
192
193 A few tests might not run with version 1 because they depend on some
194 feature of version 2. You may have those tests skipped by adding the
195 test name to the file lib/v1/incompatible.tests. This feature is
196 available from MySQL 5.1.40.
197
198 mysql-test-run.pl supports the options in the following list. An
199 argument of -- tells mysql-test-run.pl not to process any following
200 arguments as options.
201
202 • --help, -h
203
204 Display a help message and exit.
205
206 • --big-test
207
208 Allow tests marked as "big" to run. Tests can be thus marked by
209 including the line --source include/big_test.inc, and they will
210 only be run if this option is given, or if the environment variable
211 BIG_TEST is set to 1. Repeat this option twice to run only "big"
212 tests.
213
214 This is typically used for tests that take a very long to run, or
215 that use many resources, so that they are not suitable for running
216 as part of a normal test suite run.
217
218 • --boot-dbx
219
220 Run the mysqld server used for bootstrapping the database through
221 the dbx debugger.
222
223 • --boot-ddd
224
225 Run the mysqld server used for bootstrapping the database through
226 the ddd debugger.
227
228 • --boot-gdb
229
230 Run the mysqld server used for bootstrapping the database through
231 the gdb debugger.
232
233 • --[mtr-]build-thread=number
234
235 Specify a number to calculate port numbers from. The formula is 10
236 * build_thread + 10000. Instead of a number, it can be set to auto,
237 which is also the default value, in which case mysql-test-run.pl
238 will allocate a number unique to this host.
239
240 The value (number or auto) can also be set with the
241 MTR_BUILD_THREAD environment variable.
242
243 The more logical --port-base is supported as an alternative.
244
245 • --callgrind
246
247 Instructs valgrind to use callgrind.
248
249 • --check-testcases
250
251 Check test cases for side effects. This is done by checking system
252 state before and after each test case; if there is any difference,
253 a warning to that effect will be written, but the test case will
254 not be marked as failed because of it. This check is enabled by
255 default.
256
257 • --client-bindir=path
258
259 The path to the directory where client binaries are located.
260
261 • --client-dbx
262
263 Start mysqltest in the dbx debugger.
264
265 • --client-ddd
266
267 Start mysqltest in the ddd debugger.
268
269 • --client-debugger=debugger
270
271 Start mysqltest in the named debugger.
272
273 • --client-gdb
274
275 Start mysqltest in the gdb debugger.
276
277 • --client-libdir=path
278
279 The path to the directory where client libraries are located.
280
281 • --combination=value
282
283 Extra options to pass to mysqld. The value should consist of one or
284 more comma-separated mysqld options. This option is similar to
285 --mysqld but should be given two or more times. mysql-test-run.pl
286 executes multiple test runs, using the options for each instance of
287 --combination in successive runs. If --combination is given only
288 once, it has no effect. For test runs specific to a given test
289 suite, an alternative to the use of --combination is to create a
290 combinations file in the suite directory. The file should contain a
291 section of options for each test run.
292
293 • --comment=str
294
295 Write str to the output within lines filled with #, as a form of
296 banner.
297
298 • --compress
299
300 Compress all information sent between the client and the server if
301 both support compression.
302
303 • --cursor-protocol
304
305 Use the cursor protocol between client and server (implies
306 --ps-protocol).
307
308 • --dbx
309
310 Start the mysqld(s) in the dbx debugger.
311
312 • --ddd
313
314 Start the mysqld(s) in the ddd debugger.
315
316 • --debug
317
318 Dump trace output for all clients and servers.
319
320 • --debug-common
321
322 Same as --debug, but sets the 'd' debug flags to
323 "query,info,error,enter,exit".
324
325 • --debug-server
326
327 Use debug version of server, but without turning on tracing.
328
329 • --debugger=debugger
330
331 Start mysqld using the named debugger.
332
333 • --debug-sync-timeout=N
334
335 Controls whether the Debug Sync facility for testing and debugging
336 is enabled. The option value is a timeout in seconds. The default
337 value is 300. A value of 0 disables Debug Sync. The value of this
338 option also becomes the default timeout for individual
339 synchronization points.
340
341 mysql-test-run.pl passes --loose-debug-sync-timeout=N to mysqld.
342 The --loose prefix is used so that mysqld does not fail if Debug
343 Sync is not compiled in.
344
345 • --defaults-file=file_name
346
347 Use the named file as fixed config file template for all tests.
348
349 • --defaults_extra_file=file_name
350
351 Add setting from the named file to all generated configs.
352
353 • --do-test=prefix|regex
354
355 Run all test cases having a name that begins with the given prefix
356 value, or fulfils the regex. This option provides a convenient way
357 to run a family of similarly named tests.
358
359 The argument for the --do-test option also allows more flexible
360 specification of which tests to perform. If the argument contains a
361 pattern metacharacter other than a lone period, it is interpreted
362 as a Perl regular expression and applies to test names that match
363 the pattern. If the argument contains a lone period or does not
364 contain any pattern metacharacters, it is interpreted the same way
365 as previously and matches test names that begin with the argument
366 value. For example, --do-test=testa matches tests that begin with
367 testa, --do-test=main.testa matches tests in the main test suite
368 that begin with testa, and --do-test=main.*testa matches test names
369 that contain main followed by testa with anything in between. In
370 the latter case, the pattern match is not anchored to the beginning
371 of the test name, so it also matches names such as xmainytestz.
372
373 • --dry-run
374
375 Don't run any tests, print the list of tests that were selected for
376 execution.
377
378 • --embedded-server
379
380 Use a version of mysqltest built with the embedded server.
381
382 • --enable-disabled
383
384 Ignore any disabled.def file, and also run tests marked as
385 disabled. Success or failure of those tests will be reported the
386 same way as other tests.
387
388 • --experimental=file_name
389
390 Specify a file that contains a list of test cases that should be
391 displayed with the [ exp-fail ] code rather than [ fail ] if they
392 fail.
393
394 For an example of a file that might be specified via this option,
395 see mysql-test/collections/default.experimental.
396
397 • --extern option=value
398
399 Use an already running server. The option/value pair is what is
400 needed by the mysql client to connect to the server. Each --extern
401 option can only take one option/value pair as an argument, so you
402 need to repeat --extern for each pair needed. Example:
403
404 ./mysql-test-run.pl --extern socket=var/tmp/mysqld.1.sock alias
405
406 Note: If a test case has an .opt file that requires the server to
407 be restarted with specific options, the file will not be used. The
408 test case likely will fail as a result.
409
410 • --fast
411
412 Do not perform controlled shutdown when servers need to be
413 restarted or at the end of the test run. This is equivalent to
414 using --shutdown-timeout=0.
415
416 • --force-restart
417
418 Always restart servers between tests.
419
420 • --force
421
422 Normally, mysql-test-run.pl exits if a test case fails. --force
423 causes execution to continue regardless of test case failure.
424
425 • --gcov
426
427 Collect coverage information after the test. The result is a gcov
428 file per source and header file.
429
430 • --gcov-src-dir
431
432 Colllect coverage only within the given subdirectory. For example,
433 if you're only developing the SQL layer, it makes sense to use
434 --gcov-src-dir=sql.
435
436 • --gdb
437
438 Start the mysqld(s) in the gdb debugger.
439
440 • --gprof
441
442 Collect profiling information using the gprof profiling tool.
443
444 • --manual-dbx
445
446 Use a server that has already been started by the user in the dbx
447 debugger.
448
449 • --manual-ddd
450
451 Use a server that has already been started by the user in the ddd
452 debugger.
453
454 • --manual-debug
455
456 Use a server that has already been started by the user in a
457 debugger.
458
459 • --manual-gdb
460
461 Use a server that has already been started by the user in the gdb
462 debugger.
463
464 • --manual-lldb
465
466 Use a server that has already been started by the user in the lldb
467 debugger.
468
469 • --mark-progress
470
471 Marks progress with timing (in milliseconds) and line number in
472 var/log/testname.progress.
473
474 • --max-connections=num
475
476 The maximum number of simultaneous server connections that may be
477 used per test. If not set, the maximum is 128. Minimum allowed
478 limit is 8, maximum is 5120. Corresponds to the same option for
479 mysqltest.
480
481 • --max-save-core=N
482
483 Limit the number of core files saved, to avoid filling up disks in
484 case of a frequently crashing server. Defaults to 5, set to 0 for
485 no limit. May also be set with the environment variable
486 MTR_MAX_SAVE_CORE
487
488 • --max-save-datadir=N
489
490 Limit the number of data directories saved after failed tests, to
491 avoid filling up disks in case of frequent failures. Defaults to
492 20, set to 0 for no limit. May also be set with the environment
493 variable MTR_MAX_SAVE_DATADIR
494
495 • --max-test-fail=N
496
497 Stop execution after the specified number of tests have failed, to
498 avoid using up resources (and time) in case of massive failures.
499 retries are not counted, nor are failures of tests marked
500 experimental. Defaults to 10, set to 0 for no limit. May also be
501 set with the environment variable MTR_MAX_TEST_FAIL
502
503 • --mem
504
505 This option is not supported on Windows.
506
507 Run the test suite in memory, using tmpfs or ramdisk. This can
508 decrease test times significantly, in particular if you would
509 otherwise be running over a remote file system. mysql-test-run.pl
510 attempts to find a suitable location using a built-in list of
511 standard locations for tmpfs and puts the var directory there. This
512 option also affects placement of temporary files, which are created
513 in var/tmp.
514
515 The default list includes /dev/shm. You can also enable this option
516 by setting the environment variable MTR_MEM[=dir_name]. If dir_name
517 is given, it is added to the beginning of the list of locations to
518 search, so it takes precedence over any built-in locations.
519
520 Once you have run tests with --mem within a mysql-testdirectory, a
521 soflink var will have been set up to the temporary directory, and
522 this will be re-used the next time, until the soflink is deleted.
523 Thus, you do not have to repeat the --mem option next time.
524
525 • --mysqld=value
526
527 Extra options to pass to mysqld. The value should consist of one or
528 more comma-separated mysqld options.
529
530 • --mysqld-env=VAR=VAL
531
532 Specify additional environment settings for "mysqld". Use
533 additional --mysqld-env options to set more than one variable.
534
535 • --nocheck-testcases
536
537 Disable the check for test case side effects; see --check-testcases
538 for a description.
539
540 • --noreorder
541
542 Do not reorder tests to reduce number of restarts, but run them in
543 exactly the order given. If a whole suite is to be run, the tests
544 are run in alphabetical order, though similar combinations will be
545 grouped together. If more than one suite is listed, the tests are
546 run one suite at a time, in the order listed.
547
548 • --notimer
549
550 Cause mysqltest not to generate a timing file. The effect of this
551 is that the report from each test case does not include the timing
552 in milliseconds as it normally does.
553
554 • --nowarnings
555
556 Do not look for and report errors and warning in the server logs.
557
558 • --parallel={N|auto}
559
560 Run tests using N parallel threads. By default, 1 thread is used.
561 Use --parallel=auto for auto-setting of N.
562
563 • --[mtr-]port-base=P
564
565 Specify base of port numbers to be used; a block of 10 will be
566 allocated. P should be divisible by 10; if it is not, it will be
567 rounded down. If running with more than one parallel test thread,
568 thread 2 will use the next block of 10 and so on.
569
570 If the port number is given as auto, which is also the default,
571 mysql-test-run.pl will allocate a number unique to this host. The
572 value may also be given with the environment variable
573 MTR_PORT_BASE.
574
575 If both --build-thread and --port-base are used, --port-base takes
576 precedence.
577
578 • --print-testcases
579
580 Do not run any tests, but print details about all tests, in the
581 order they would have been run.
582
583 • --ps-protocol
584
585 Use the binary protocol between client and server.
586
587 • --record
588
589 Pass the --record option to mysqltest. This option requires a
590 specific test case to be named on the command line.
591
592 • --reorder
593
594 Reorder tests to minimize the number of server restarts needed.
595 This is the default behavior. There is no guarantee that a
596 particular set of tests will always end up in the same order.
597
598 • --repeat=N
599
600 Run each test N number of times.
601
602 • --report-features
603
604 First run a "test" that reports MariaDB features, displaying the
605 output of SHOW ENGINES and SHOW VARIABLES. This can be used to
606 verify that binaries are built with all required features.
607
608 • --report-times
609
610 Report how much time has been spent on different phases of test
611 execution.
612
613 • --retry=N
614
615 If a test fails, it is retried up to a maximum of N runs (default
616 1). Retries are also limited by the maximum number of failures
617 before stopping, set with the --retry-failure option. This option
618 has no effect unless --force is also used; without it, test
619 execution will terminate after the first failure.
620
621 The --retry and --retry-failure options do not affect how many
622 times a test repeated with --repeat may fail in total, as each
623 repetition is considered a new test case, which may in turn be
624 retried if it fails.
625
626 • --retry-failure=N
627
628 When using the --retry option to retry failed tests, stop when N
629 failures have occurred (default 2). Setting it to 0 or 1
630 effectively turns off retries.
631
632 • --shutdown-timeout=SECONDS
633
634 Max number of seconds to wait for servers to do controlled shutdown
635 before killing them. Default is 10.
636
637 • --skip-combinations
638
639 Do not apply combinations; ignore combinations file or option.
640
641 • --skip-rpl
642
643 Skip replication test cases.
644
645 • --skip-ssl
646
647 Do not start mysqld with support for SSL connections.
648
649 • --skip-test=regex|regex
650
651 Specify a regular expression to be applied to test case names.
652 Cases with names that match the expression are skipped. tests to
653 skip.
654
655 The argument for the --skip-test option allows more flexible
656 specification of which tests to skip. If the argument contains a
657 pattern metacharacter other than a lone period, it is interpreted
658 as a Perl regular expression and applies to test names that match
659 the pattern. See the description of the --do-test option for
660 details.
661
662 • --skip-test-list=FILE
663
664 Skip the tests listed in FILE. Each line in the file is an entry
665 and should be formatted as: <TESTNAME> : <COMMENT>
666
667 • --skip-*
668
669 --skip-* options not otherwise recognized by mysql-test-run.pl are
670 passed to the master server.
671
672 • --sleep=N
673
674 Pass --sleep=N to mysqltest.
675
676 • --sp-protocol
677
678 Create a stored procedure to execute all queries.
679
680 • --ssl
681
682 If mysql-test-run.pl is started with the --ssl option, it sets up a
683 secure connection for all test cases. In this case, if mysqld does
684 not support SSL, mysql-test-run.pl exits with an error message:
685 Couldn´t find support for SSL
686
687 • --staging-run
688
689 Run a limited number of tests (no slow tests). Used for running
690 staging trees with valgrind.
691
692 • --start
693
694 Initialize and start servers with the startup settings for the
695 specified test case. You can use this option to start a server to
696 which you can connect later. For example, after building a source
697 distribution you can start a server and connect to it with the
698 mysql client like this:
699
700 shell> cd mysql-test
701 shell> ./mysql-test-run.pl --start alias &
702 shell> ../mysql -S ./var/tmp/master.sock -h localhost -u root
703
704 If no tests are named on the command line, the server(s) will be
705 started with settings for the first test that would have been run
706 without the --start option.
707
708 mysql-test-run.pl will stop once the server has been started, but
709 will terminate if the server dies. If killed, it will also shut
710 down the server.
711
712 • --start-and-exit
713
714 Same --start, but mysql-test-run terminates and leaves just the
715 server running.
716
717 • --start-dirty
718
719 This is similar to --start, but will skip the database
720 initialization phase and assume that database files are already
721 available. Usually this means you must have run another test first.
722
723 • --start-from=test_name
724
725 mysql-test-run.pl sorts the list of names of the test cases to be
726 run, and then begins with test_name.
727
728 • --strace
729
730 Run the "mysqld" executables using strace. Default options are -f
731 -o var/log/'mysqld-name'.strace.
732
733 • --strace-client
734
735 Create strace output for mysqltest, optionally specifying name and
736 path to the trace program to use.
737
738 Example: ./mysql-test-run.pl --strace-client=ktrace
739
740 • --strace-option=ARGS
741
742 Option to give strace, replaces default option(s).
743
744 • --stress=ARGS
745
746 Run stress test, providing options to mysql-stress-test.pl. Options
747 are separated by comma.
748
749 • --suite[s]=suite_name...
750
751 Comma separated list of suite names to run. The default is:
752 "main-,archive-,binlog-,csv-,federated-,funcs_1-,funcs_2-,
753 handler-,heap-,innodb-,innodb_fts-,innodb_zip-,maria-,
754 multi_source-,optimizer_unfixed_bugs-,parts-,perfschema-,
755 plugins-,roles-,rpl-,sys_vars-,unit-,vcol-".
756
757 • --stop-file=file
758
759 If this file is detected, mysqltest will not start new tests until
760 the file is removed (also MTR_STOP_FILE environment variable).
761
762 • --stop-keep-alive=sec
763
764 Works with --stop-file, print messages every sec seconds when
765 mysqltest is waiting to remove the file (for buildbot) (also
766 MTR_STOP_KEEP_ALIVE environment variable).
767
768 • --suite-timeout=minutes
769
770 Specify the maximum test suite runtime in minutes. The default is
771 360.
772
773 • --testcase-timeout
774
775 Specify the maximum test case runtime in minutes. The default is
776 15.
777
778 • --timediff
779
780 Used with --timestamp, also print time passed since the previous
781 test started.
782
783 • --timer
784
785 Cause mysqltest to generate a timing file. The default file is
786 named ./var/log/timer.
787
788 • --timestamp
789
790 Prints a timestamp before the test case name in each test report
791 line, showing when the test ended.
792
793 • --tmpdir=path
794
795 The directory where temporary file are stored. The default location
796 is ./var/tmp. The environment variable MYSQL_TMP_DIR will be set to
797 the path for this directory, whether it has the default value or
798 has been set explicitly. This may be referred to in tests.
799
800 • --user=user_name
801
802 The MariaDB user name to use when connecting to the server (default
803 root).
804
805 • --user-args
806
807 In combination with start* and no test name, drops arguments to
808 mysqld except those specified with --mysqld (if any).
809
810 • --valgrind[-all]
811
812 Run mysqltest and mysqld with valgrind. This and the following
813 --valgrind options require that the executables have been built
814 with valgrind support.
815
816 • --valgrind-mysqld
817
818 Run the mysqld server with valgrind.
819
820 • --valgrind-mysqltest
821
822 Run the mysqltest and mysql_client_test executables with valgrind.
823
824 • --valgrind-option=str
825
826 Option to give valgrind. Replaces default option(s). Can be
827 specified more then once&.
828
829 • --valgrind-path=path
830
831 Path to the valgrind executable.
832
833 • --vardir=path
834
835 Specify the path where files generated during the test run are
836 stored. The default location is ./var. The environment variable
837 MYSQLTEST_VARDIR will be set to the path for this directory,
838 whether it has the default value or has been set explicitly. This
839 may be referred to in tests.
840
841 • --verbose
842
843 Give more verbose output regarding test execution. Use the option
844 twice to get even more output. Note that the output generated
845 within each test case is not affected.
846
847 • --verbose-restart
848
849 Write when and why servers are restarted between test cases.
850
851 • --view-protocol
852
853 Create a view to execute all non updating queries.
854
855 • --vs-config=config_val
856
857 Visual Studio configuration used to create executables (default:
858 MTR_VS_CONFIG environment variable) This option is for Windows
859 only.
860
861 • --wait-all
862
863 If --start or --start-dirty is used, wait for all servers to exit
864 before termination. Otherwise, it will terminate if one (of
865 several) servers is restarted.
866
867 • --warnings
868
869 Search the server log for errors or warning after each test and
870 report any suspicious ones; if any are found, the test will be
871 marked as failed. This is the default behavior, it may be turned
872 off with --nowarnings.
873
874
876 Copyright © 2007, 2010, Oracle and/or its affiliates, 2010-2019 MariaDB
877 Foundation
878
879 This documentation is free software; you can redistribute it and/or
880 modify it only under the terms of the GNU General Public License as
881 published by the Free Software Foundation; version 2 of the License.
882
883 This documentation is distributed in the hope that it will be useful,
884 but WITHOUT ANY WARRANTY; without even the implied warranty of
885 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
886 General Public License for more details.
887
888 You should have received a copy of the GNU General Public License along
889 with the program; if not, write to the Free Software Foundation, Inc.,
890 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see
891 http://www.gnu.org/licenses/.
892
893
895 For more information, please refer to the MariaDB Knowledge Base,
896 available online at https://mariadb.com/kb/
897
899 MariaDB Foundation (http://www.mariadb.org/).
900
901
902
903 MYSQL-TEST-RUN()