summaryrefslogtreecommitdiff
path: root/mysql-test/lib/My
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch '10.5' into 10.6Oleksandr Byelkin2022-08-101-2/+9
|\
| * Merge branch '10.4' into 10.5mariadb-10.5.17Oleksandr Byelkin2022-08-101-2/+9
| |\
| | * Merge branch '10.3' into bb-10.4-releasemariadb-10.4.26Oleksandr Byelkin2022-08-101-2/+9
| | |\
| | | * my_safe_process: try to kill the process softly firstSergei Golubchik2022-08-101-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | first SIGTERM and if the process didn't die in 10 seconds, SIGKILL it. This allows various tools like `rr`, `gcov`, `gprof`, etc to flush their data to disk properly
* | | | Merge 10.5 into 10.6Marko Mäkelä2022-07-272-72/+287
|\ \ \ \ | |/ / /
| * | | Merge 10.4 into 10.5Marko Mäkelä2022-07-272-72/+287
| |\ \ \ | | |/ /
| | * | Merge branch '10.3' into 10.4Oleksandr Byelkin2022-07-272-72/+287
| | |\ \ | | | |/
| | | * MDEV-29025 Refactoring: moved out core_wanted() out of mysql-test-run.plAleksey Midenkov2022-07-181-1/+35
| | | |
| | | * MDEV-28931 MTR prints detailed stack trace unconditionallyAleksey Midenkov2022-07-181-33/+204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 66832e3a introduced change that prints core dumps in very detailed format. That's completely out of user-friendliness but serves as a measure for debugging hard-reproducible bugs. The proper way to implement this: 1. it must be controlled by command-line and environment variable; 2. detailed traces must be default for buildbots only, for user invocations normal stack traces should be printed. Options for control are: MTR_PRINT_CORE and --print-core that accept the following values: no Don't print core short Print stack trace of failed thread medium Print stack traces of all threads detailed Print all stack traces with debug context custom:<code> Use debugger commands <code> to print stack trace Default setting is: short (see env_or_default() call in pre_setup()) For environment variable wrong values are silently ignored (falls back to default setting, see env_or_default()). Command-line option --print-core (or -C) overrides environment variable. Its default value is 'short' if not specified explicitly (same env_or_default() call in pre_setup()). Explicit values are checked for validity. --print-method option can specify by which debugger we print cores. For Windows there is only one choice: cdb. For Unix the values are: gdb, dbx, lldb, auto. Default value is: auto In 'auto' we try to use all possible debuggers until success.
| | | * MDEV-28931 Debugger.pm readability fixAleksey Midenkov2022-07-181-38/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | setup_boot_args(), setup_client_args(), setup_args() traversing datastructures on each invocation. Even if performance is not important to perl script (though it definitely saves some CO2), this nonetheless provokes some code-reading questions. Reading and debugging such code is not convenient. The better way is to prepare all the data in advance in an easily readable form as well as do the validation step before any further processing. Use mtr_report() instead of die() like the other code does. TODO: do_args() does even more data processing magic. Prepare that data according the above strategy in advance in pre_setup() if possible.
| | | * MDEV-28931 Cleanup: try GDB to print core firstAleksey Midenkov2022-07-181-4/+1
| | | | | | | | | | | | | | | | Do we still need this Sun Studio hack?
* | | | Merge branch '10.5' into 10.6Sergei Golubchik2022-05-101-1/+4
|\ \ \ \ | |/ / /
| * | | Merge branch '10.4' into 10.5Sergei Golubchik2022-05-091-1/+4
| |\ \ \ | | |/ /
| | * | Merge branch '10.3' into 10.4Sergei Golubchik2022-05-081-1/+4
| | |\ \ | | | |/
| | | * Merge branch '10.2' into 10.3Sergei Golubchik2022-04-211-1/+4
| | | |\
| | | | * mtr: extend gdb backtace infoDaniel Black2022-04-141-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bt full - to include args and locals. set print sevenbit on - it is more useful to be able to see the exact bytes (in case something is dumped as a string and not hexadecimal digits) set print static-members off - there are many interesting (non-const) static members set frame-arguments all - even non-printables are useful to see. Let's make our bb logs give a little bit more detail on those hard to reproduce bugs. Tests on rhel7's gdb-7.6.1-120.el7
* | | | | Merge branch '10.5' into 10.6Oleksandr Byelkin2022-02-031-2/+2
|\ \ \ \ \ | |/ / / /
| * | | | Merge branch '10.4' into 10.5Oleksandr Byelkin2022-02-011-2/+2
| |\ \ \ \ | | |/ / /
| | * | | Merge branch '10.3' into 10.4Oleksandr Byelkin2022-01-301-2/+2
| | |\ \ \ | | | |/ /
| | | * | Merge branch '10.2' into 10.3mariadb-10.3.33Oleksandr Byelkin2022-01-291-2/+2
| | | |\ \ | | | | |/
| | | | * mtr failed to detect when a combination is forcedSergei Golubchik2022-01-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mtr detects a forced combination if the command line for a test already includes all options from this combination. options are stored in a perl hash as (key,value) pairs. this breaks if the command line has two options with the same name, like --plugin-load-add=foo --plugin-load-add=bar, and the combination forces plugin foo. In particular, this resulted in warnings when running federated.federatedx_versioning test
* | | | | Merge 10.5 into 10.6Marko Mäkelä2021-11-091-1/+2
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.4 into 10.5Marko Mäkelä2021-11-091-1/+2
| |\ \ \ \ | | |/ / /
| | * | | Merge 10.3 into 10.4Marko Mäkelä2021-11-091-1/+2
| | |\ \ \ | | | |/ /
| | | * | Merge 10.2 into 10.3Marko Mäkelä2021-11-091-1/+2
| | | |\ \ | | | | |/
| | | | * MDEV-26949 --debug-gdb installs redundant signal handlersMarko Mäkelä2021-11-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a server startup option --gdb a.k.a. --debug-gdb that requests signals to be set for more convenient debugging. Most notably, SIGINT (ctrl-c) will not be ignored, and you will be able to interrupt the execution of the server while GDB is attached to it. When we are debugging, the signal handlers that would normally display a terse stack trace are useless. When we are debugging with rr, the signal handlers may interfere with a SIGKILL that could be sent to the process by the environment, and ruin the rr replay trace, due to a Linux kernel bug https://lkml.org/lkml/2021/10/31/311 To be able to diagnose bugs in kill+restart tests, we may really need both a trace before the SIGKILL and a trace of the failure after a subsequent server startup. So, we had better avoid hitting the problem by simply not installing those signal handlers.
* | | | | Merge 10.5 into 10.6Marko Mäkelä2021-10-271-1/+1
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.4 into 10.5Marko Mäkelä2021-10-211-1/+1
| |\ \ \ \ | | |/ / /
| | * | | Merge 10.3 into 10.4st-10.4-mergeMarko Mäkelä2021-10-211-1/+1
| | |\ \ \ | | | |/ /
| | | * | Merge 10.2 into 10.3Marko Mäkelä2021-10-211-1/+1
| | | |\ \ | | | | |/
| | | | * MDEV-19129: Xcode compatibility update: mysql-test-run.pl: rename ↵Sergei Krivonos2021-10-211-1/+1
| | | | | | | | | | | | | | | | | | | | $opt_vs_config to $multiconfig to use with other cmake multiconfig generators
* | | | | Merge 10.5 into 10.6Marko Mäkelä2021-09-302-108/+4
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.4 into 10.5Marko Mäkelä2021-09-242-108/+4
| |\ \ \ \ | | |/ / /
| | * | | Merge branch '10.3' into 10.4Vladislav Vaintroub2021-09-242-108/+4
| | |\ \ \ | | | |/ /
| | | * | MDEV-11499 mysqltest, Windows : improve diagnostics if server fails to shutdownVladislav Vaintroub2021-09-242-108/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create minidump when server fails to shutdown. If process is being debugged, cause a debug break. Moves some code which is part of safe_kill into mysys, as both safe_kill, and mysqltest produce minidumps on different timeouts. Small cleanup in wait_until_dead() - replace inefficient loop with a single wait.
* | | | | Merge 10.5 into 10.6Marko Mäkelä2021-08-311-15/+7
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.4 into 10.5Marko Mäkelä2021-08-311-15/+7
| |\ \ \ \ | | |/ / /
| | * | | Merge 10.3 into 10.4Marko Mäkelä2021-08-311-15/+7
| | |\ \ \ | | | |/ /
| | | * | Merge 10.2 into 10.3Marko Mäkelä2021-08-311-15/+7
| | | |\ \ | | | | |/
| | | | * mtr: fix the check where a combination is pre-selectedSergei Golubchik2021-08-291-15/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | if all options from a combination from the combinations file are already present in the server's list of options, then don't try to run tests in other combinations from this file. old behavior was: if at least one option from a combination is already present in the list...
* | | | | Merge branch '10.5' into 10.6Oleksandr Byelkin2021-08-021-9/+9
|\ \ \ \ \ | |/ / / /
| * | | | Merge branch '10.4' into 10.5Oleksandr Byelkin2021-07-311-9/+9
| |\ \ \ \ | | |/ / /
| | * | | Merge branch '10.3' into 10.4Oleksandr Byelkin2021-07-311-9/+9
| | |\ \ \ | | | |/ /
| | | * | Merge branch '10.2' into 10.3Sergei Golubchik2021-07-211-9/+9
| | | |\ \ | | | | |/
| | | | * MDEV-25802 mtr: race condition if the test quickly restarts twiceSergei Golubchik2021-07-061-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | part II need to tell SafeProcess not to collect the exited mysqld in sleep_until_file_created(), so that it would be found in the later wait_any_timeout() in run_testcase() Removed a strange condition in SafeProcess::wait_one() that treated return value of -1 from waitpid() as "process exists" instead of as "no such child process" (see `perldoc -f waitpid`)
| | | * | MDEV-25894: support AIX as a platform in mtrDaniel Black2021-07-021-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | Parital backport of 48938c57c7f75b2a7627212b01cd65cfd6830261 so platform dependent AIX tests can be done.
| | * | | MDEV-25894: support AIX as a platform in mtrDaniel Black2021-07-021-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | Parital backport of 48938c57c7f75b2a7627212b01cd65cfd6830261 so platform dependent AIX tests can be done.
* | | | | make --rr work with InnoDB againSergei Golubchik2021-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | Since 420f8e24ab7 InnoDB uses O_DIRECT by default
* | | | | Merge 10.5 into 10.6Marko Mäkelä2021-06-181-1/+10
|\ \ \ \ \ | |/ / / /
| * | | | MDEV-25894: support AIX as a platform in mtrDaniel Black2021-06-161-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add fixed for tests mysqld--help,aix.rdiff and sysvars_server_notembedded,aix.rdiff AIX couldn't compile in embedded mode so leaving sysvars_server_embedded for later (if required).