Commit graph

1360 commits

Author SHA1 Message Date
Bjorn Munch
013c46cb36 Bug #46973 MTR: extract_warning_lines does not check it's extracting lines for current test
Rewrote logic (first commit was incomplete, sorry)
2009-08-28 15:02:48 +02:00
Bjorn Munch
d458d55755 Bug #46322 Sporadic timeout in mysql_upgrade.test
Apparently caused by logging to table
Turn on logging to file only, add to .opt file for tests needing log to table
2009-08-27 15:17:09 +02:00
Bjorn Munch
4994e66783 Bug #42408 Faulty regex for detecting [Warning] and [ERROR] in mysqld error log
Enabled proper pattern for Warnings and ERRORs
Added some suppressions
2009-08-25 15:56:50 +02:00
Bjorn Munch
1a0b63c27a Bug #44222 mysql-test-run --start analyses which tests it would skip. This is redundant.
Quicker test collection and better output with --start[-dirty]
2009-08-18 09:38:18 +02:00
Bjorn Munch
9407780994 Bug #44979 Enhance MTR --experimental to support platform qualifier
Adding @<platform> syntax
2009-08-13 15:29:19 +02:00
Bjorn Munch
c368771314 Bug #45847 make --gdb disable all the timeouts by default
Set to one week for testcase and suite timeout
Also set one day timeout for PID file creation (not currently needed in 5.1 but might become, and is needed in azalea)
2009-08-11 15:59:05 +02:00
Bjorn Munch
687612c8c4 Bug #44479 mysql-test-run does not detect that external server has Innodb support
Variable name mismatch
Map variable have_innodb=YES to innodb=ON
2009-08-11 12:59:43 +02:00
Sergey Vojtovich
d805c1214a This patch implements testing InnoDB plugin milestone. 2009-06-24 22:18:58 +05:00
Bjorn Munch
c63b8f402a Bug #45532 MTR displays wrong option name 'print_testcases' in usage text
Fix the name....
2009-06-22 16:29:02 +02:00
Bjorn Munch
89000a3c15 Bug #45298 plugin.test is skipped in PB2 on UNIX platforms
Added search for example plugin in lib/mysql/plugin
2009-06-16 15:26:17 +02:00
Vladislav Vaintroub
31b79618e3 Backport WL#3653 to 5.1 to enable bundled innodb plugin.
Remove custom DLL loader code from innodb plugin code, use 
symbols exported from mysqld.
2009-06-10 10:59:49 +02:00
Bjorn Munch
912f971849 Bug #45256 Enable 'auto' for mtr --parallel
Let the user specify 'auto' for parallel value
Also set --parallel=auto in default.push so we can get this tested.
2009-06-03 12:46:04 +02:00
Bjorn Munch
5ce3d7a202 Bug #45190 mtr should report some statistics even if aborting after too many tests fail
Added calls to mtr_report_stats() also after timeout or too many failures
2009-06-02 10:00:45 +02:00
Bjorn Munch
763579e65b Bug #43659 MTR2 should report worker data for tests when using --parallel > 1
Adding "w# " before the test result
Also enable --parallel=2 so this can be tested.
2009-05-28 13:02:03 +02:00
Bjorn Munch
82f3628eca Bug #42988 MTR2's --help output does not document --parallel
Several options were not documented
Added missing options and removed a few
Fixed use of --skip-combinations
2009-05-12 14:53:46 +02:00
Bjorn Munch
8d7f2d26e5 merge from main 2009-05-11 12:18:20 +02:00
Bjorn Munch
92637e32d2 Bug #44561 mtr2 --start-dirty is broken
start-dirty would remove stored procs etc.
Skip the copying back from stored system dir if using --start-dirty
2009-04-30 13:23:36 +02:00
Bjorn Munch
a4252ac0c7 Bug #44511 MTR2: add an option not to kill other servers when one from the group exits
MTR would die as soon as one server terminates
Implemented --wait-all option and associated subroutine
2009-04-29 16:13:38 +02:00
Vladislav Vaintroub
24e7fb05b5 Bug #44530 mtr v2 startup very slow on Windows.
MTR is stuck for about 20 seconds checking for free ports.
The reason is that perl's connect()  takes 1 second on windows
if port is not opened.

This patch fixes the mtr_ping_port implementation on Windows
to use Net::Ping for the port checking with small (0.1sec) timeout.

This patch also removes pointless second call to check_ports_free() 
in case of auto build thread.
2009-04-28 23:06:36 +02:00
Vladislav Vaintroub
361fa97258 Bug #42804 --parallel option does not work for MTR under ActiveState
perl 

The problem here was the method how MTR gets its unique thread ids.
Prior to this patch, the method to do it was to maintain a global 
table of pid,mtr_unique_id) pairs. The table was backed by a text 
file. The table was cleaned up one in a while and dead processes leaking
unique_ids were determined with with kill(0) or with scripting tasklist
on Windows.

This method is flawed specifically on native Windows Perl. fork() is 
implemented with starting a new thread, give it a syntetic negative PID
(threadID*(-1)), until this thread creates a new process with exec()
However,  neither tasklist nor any other native Windows tool can cope with
negative perl PIDs. This lead to incorrect determination of dead process 
and reusing already used mtr_unique_id.

The patch introduces alternative portable  method of solving unique-id 
problem. When a process needs a unique id in range [min...max], it just 
starts  to open files named min, min+1,...max in a loop . After file is 
opened, we do non-blocking flock(). When flock() succeeds, process has 
allocated the ID. When process dies, file is unlocked . Checks for zombies 
are not necessary.

Since the change would create a co-existence problems with older version
of MTR, because of different way to calculate IDs, the default ID range
is changed from 250-299 to 300-349.

Another fix that was necessary enable --parallel option was to serialize 
spawn() calls on Windows. specifically, IO redirects needed to be protected.

This patch also fixes hanging CRTL-C (as described in Bug #38629) for the
"new"  MTR. The fix was already in 6.0 and is now downported.
2009-04-23 13:35:02 +02:00
He Zhenxing
435d6631aa Manually merge BUG#37145 to 5.1-bugteam 2009-04-09 07:42:51 +08:00
Bjorn Munch
0f7e647944 Bug #41649 sporadic pb failure: mtr stopped, message "TIMEOUT (1200 seconds), ABORTING."
Potentially infinite loop in check_expected_crash_and_restart 
Replace with finite loop and some additional logic
2009-04-08 14:54:36 +02:00
Bjorn Munch
86b0f7aae6 Bug #43917 MTR2 does not report accurate test statistics when using the 'repeat=n'
option
In practice, only the last run of the test was counted
Add a separate counter rep_failures for failures before last run
2009-04-01 13:58:30 +02:00
Magnus Svensson
b43656bd96 Merge 2009-03-31 16:10:44 +02:00
Magnus Svensson
ce65f283a5 Bug#43983 Support force restart of all servers after test ended
- Some tests need to modify the server(s) so much that a total restart of all servers are
   necessary after test. Make it possible for a test to signal it want mtr.pl to restart
   all servers.
2009-03-31 15:39:40 +02:00
Bjorn Munch
5273835566 Bug #43840 "too many tests failed" includes retries
Only count non-retried tests, and increment before testing
2009-03-31 13:15:52 +02:00
He Zhenxing
9530126822 BUG#37145 Killing a statement doing DDL may log binlog event with error code 1053
When the thread executing a DDL was killed after finished its
execution but before writing the binlog event, the error code in
the binlog event could be set wrongly to ER_SERVER_SHUTDOWN or
ER_QUERY_INTERRUPTED.

This patch fixed the problem by ignoring the kill status when
constructing the event for DDL statements.

This patch also included the following changes in order to
provide the test case.

 1) modified mysqltest to support variable for connection command

 2) modified mysql-test-run.pl, add new variable MYSQL_SLAVE to
    run mysql client against the slave mysqld.
2009-03-27 13:19:50 +08:00
Bjorn Munch
ca3db65c9f Bug #43074 MTR2 is not accessing core dumps when a path is too long
Executable path is truncated in core
If we see truncated path, try to guess using strings and grep
If that doesn't work either, use known mysqld path
2009-03-20 16:39:06 +01:00
Georgi Kodinov
68fcdd97da merged 5.1-main -> 5.1-bugteam 2009-03-11 15:03:25 +02:00
Bjorn Munch
8179ed2649 Bug #43410 --skip-core-file has no effect if core file size is set
Would not prevent mysqld from core dumping
Passes --nocore arg to safe_process, which then sets rlimit core to 0 for child
2009-03-09 14:31:39 +01:00
Georgi Kodinov
93a58abe87 merged 5.1-main -> 5.1-pe-stage 2009-03-09 12:52:08 +02:00
Daniel Fischer
a732b40951 merge from parent 2009-03-09 11:33:08 +01:00
Daniel Fischer
6c0308f6b7 merge 42888 to 5.1-mtr 2009-03-09 11:11:27 +01:00
Bjorn Munch
affe300a48 merge from 5.1 main 2009-03-07 20:42:11 +01:00
Bjorn Munch
6dbc7df463 merge 42797 2009-03-04 16:41:45 +01:00
Bjorn Munch
7c1ea06e63 Bug #42986 MTR2 should not allow 0 as a value for --parallel
Add sanity check that $opt_parallel > 0
2009-03-04 12:12:57 +01:00
Bjorn Munch
23b7f4e4b2 Bug #43132 Pusbbuild 2 host sol10 sparc64 max is not running tests due to port unavailble
MTR gives up if wanted port not available
Try next range if set to 'auto'
Also, use next number for additional threads if explicitly set
2009-03-04 11:34:47 +01:00
Bjorn Munch
0314eb7e40 Bug #40978 Error log gets truncated during testsuite, prevents debugging
Error log gets truncated when mysqld is restarted by MTR
2009-03-02 13:48:35 +01:00
Bjorn Munch
a892ad5c62 Bug #43256 Bug#39026 got re-surrected
Problems with use of share/mysql dir
Explicitly look for "english" language file
2009-02-27 13:07:01 +01:00
Ingo Struewing
29ca5d019c Bug#40446 - mysql-test-run --gcov is broken
Some variable values were missing and perl constructs failed.

Initialized the variables and refactored the gcov functions.
2009-02-27 12:20:53 +01:00
Daniel Fischer
0d097d80e2 address review comments 2009-02-25 15:00:17 +01:00
Daniel Fischer
4943ffde54 Bug#42888 for MySQL 5.1. Add collections of test runs to make it both configurable and transparent what kinds of tests we run during integration testing. Implement filter list in mysql-test-run.pl to filter out failures of experimental test cases, using a new status code "exp-fail", so we can tell regressions ("fail") from failures of test cases that are still in development ("exp-fail"). 2009-02-24 12:53:34 +01:00
Magnus Svensson
2a001d9cc4 Bug#43112 mtr.pl --embedded fails to stop cluster processes 2009-02-23 15:52:23 +01:00
Rafal Somla
060c89940f Modifications to MTR and mysqltest to improve feedback from the latter when
testcase checks are made.
      
MTR spawns mysqltest to run check-testcase test before and after each testcase 
it runs. It can also run check-warnings using mysqltest. Since it happened on PB 
that these checks hanged, this patch provides additional feedback to help 
investigating such failures:
      
- mysqltest is modified to give feedback about main steps in execution of a 
testcase if run in verbose mode (including connection to the server),
     
- MTR is modified to run mysqltest in verbose mode when doing check-testcase or 
check-warnings. The diagnostic output from mysqltest is preserved so that it is 
saved upon test failure.
2009-02-13 16:27:33 +01:00
magnus.svensson@sun.com
7a4046988d Work around for bug in some versions of the File::Temp Perl module 2009-02-13 10:38:53 +01:00
Magnus Svensson
07fad74238 Bug#42797 mtr.pl - temporary directory are deleted when child exit's
- Since we are only using the auto cleanup in one place of mtr.pl today, disable the
autocleanup and write our own END handler that clean up the tmpdir only when the process
that created it exits.
2009-02-12 17:36:58 +01:00
Bjorn Munch
b6ece6aafa Bug #42590 MTR v1 crashes under Active State Perl
Perl crashes when MTR 2 tries to start v1
Replaced require with system()
2009-02-10 11:00:16 +01:00
Magnus Svensson
95d9bb3009 Bug#42366 server-cert.pem expired: "Not After : Jan 27 08:54:13 2009 GMT
- remove the disbling of all ssl_* tests now when certs are fixed.
2009-02-06 15:09:15 +01:00
Magnus Svensson
15dc0c2a74 Bug#42588 system_mysql_db_fix30020 fails when run from bin dist with mtr2
- Properly set --bindir=$path_client_bindir and --basedir=$basedir by adding %s format specifier
2009-02-04 10:49:52 +01:00
Georgi Kodinov
fb9ab04078 Fix from magnus for the "The socket file path is too long (> 107)" failure. 2009-02-02 12:18:38 +02:00
Magnus Svensson
f3f31c9ede WL#4189 mtr.pl v2
- Fix faulty regex used for filtering out suspicious warnings, causing
   warnings/errors from previous tests to be reported
2009-01-28 17:46:00 +01:00
Magnus Svensson
7ea8e52529 Bug#42408 Faulty regex for detecting [Warning] and [ERROR] in mysqld error log
- Disable the two patterns that previously have been faulty - for now.
2009-01-28 11:24:55 +01:00
Magnus Svensson
d4c34f24fd WL#4189 mtr.pl v2
- Fix the regex for finding core files ie. anything that starts with "core" 
 - Add collection of *.dmp files on windows.
2009-01-27 18:56:24 +01:00
Magnus Svensson
ef397ddce2 WL#4189 mtr.pl v2
- Remove double escape of [ and ]
2009-01-27 16:44:50 +01:00
Magnus Svensson
6ad47b97e9 Bug#42366 server-cert.pem expired: "Not After : Jan 27 08:54:13 2009 GMT 2009-01-27 15:12:08 +01:00
Magnus Svensson
d4c402db64 Merge 2009-01-27 15:10:15 +01:00
Magnus Svensson
5a1e073fc7 WL#4189 mtr.pl v2
- Make a rough filtering of the servers error log and write
   all suspicious warnings to $error_log.warnings
   The .warnings file is then examined more carefully by check_warnings.test
 - This will speed things up, doing all of this in a server running
   under valgrind takes far too long time.
2009-01-27 14:53:58 +01:00
Magnus Svensson
d850730333 WL#4189 mtr.pl v2
- Add a "skip-ssl=1" to [mysqltest] section so that 
   mysqltest will not run with ssl turned on by default 
   but stil be able to turn it on when requested
 - This avoids that check_warnings and check_testcase
   connects to the server woth SSL turned on
2009-01-27 14:21:18 +01:00
Magnus Svensson
c7c0dc6882 Bug#42358 fulltext_plugin test fails on pushbuild: Too many arguments (first extra is '')
- pass empty "--plugin-dir" if simple parser was not found.
2009-01-27 10:45:39 +01:00
Magnus Svensson
5112fcebdb WL#4189 mtr.pl v2
- Pass verbose flag to My::SafeProcess also when starting
   check_warnings and run_on_all
2009-01-27 10:39:42 +01:00
Luis Soares
5a7314099d merge: 5.1-rpl (with merge from main) -> 5.1-rpl 2009-01-26 17:06:39 +01:00
Magnus Svensson
3bec589bec mtr.pl
- default parallel to 1(again)
2009-01-24 23:40:08 +01:00
Magnus Svensson
1dc963216a WL#4189 mtr.pl v2
- turn auto detection of parallelism value ON again
2009-01-24 18:32:57 +01:00
Magnus Svensson
90509b22b5 WL#4189 mtr.pl v2
- Clear test variables "comment" and "logfile" to make sure thay aren't
  already set from previous run of same test
 - Print warning if test result already set and set it anyway
2009-01-24 13:02:27 +01:00
Magnus Svensson
ead3853f34 WL#4189 mtr.pl v2
- Don't save ndb_*_fs directory after test failure
2009-01-24 12:18:52 +01:00
Magnus Svensson
73e96ec9ce Remove debug printouts of all remaining tests when test suite has been terminated in the middle 2009-01-24 11:07:54 +01:00
Luis Soares
14d4576bfe merge: 5.1 -> 5.1-rpl
conflicts:
  Text conflict in client/mysqltest.cc
  Text conflict in mysql-test/include/wait_until_connected_again.inc
  Text conflict in mysql-test/lib/mtr_report.pm
  Text conflict in mysql-test/mysql-test-run.pl
  Text conflict in mysql-test/r/events_bugs.result
  Text conflict in mysql-test/r/log_state.result
  Text conflict in mysql-test/r/myisam_data_pointer_size_func.result
  Text conflict in mysql-test/r/mysqlcheck.result
  Text conflict in mysql-test/r/query_cache.result
  Text conflict in mysql-test/r/status.result
  Text conflict in mysql-test/suite/binlog/r/binlog_index.result
  Text conflict in mysql-test/suite/binlog/r/binlog_innodb.result
  Text conflict in mysql-test/suite/rpl/r/rpl_packet.result
  Text conflict in mysql-test/suite/rpl/t/rpl_packet.test
  Text conflict in mysql-test/t/disabled.def
  Text conflict in mysql-test/t/events_bugs.test
  Text conflict in mysql-test/t/log_state.test
  Text conflict in mysql-test/t/myisam_data_pointer_size_func.test
  Text conflict in mysql-test/t/mysqlcheck.test
  Text conflict in mysql-test/t/query_cache.test
  Text conflict in mysql-test/t/rpl_init_slave_func.test
  Text conflict in mysql-test/t/status.test
2009-01-23 13:22:05 +01:00
He Zhenxing
43290f9935 Auto merge 2009-01-21 18:39:11 +08:00
Bjorn Munch
8a0c984f01 Bug #40399 Please make mtr print stack trace after every failure
SIGABRT is sent to relevant processes after a timeout
2009-01-21 10:34:01 +01:00
He Zhenxing
65ca6ce37c BUG#41177 mtr gives no debug info after failing to execute check-testcase/check-warnings
Log output of mysqltest when running check-testcase together
with errput. Remove --silent option for mysqltest when running
check-testcase/check-warnings
2009-01-21 17:32:05 +08:00
Luis Soares
9d8c117598 merge: 5.1 -> 5.1-rpl
conflicts:
  Text conflict in mysql-test/lib/mtr_report.pm
  Text conflict in mysql-test/mysql-test-run.pl
2009-01-08 19:03:56 +00:00
Georgi Kodinov
8c25823f94 merged 5.1-main -> 5.1-bugteam 2009-01-05 18:10:20 +02:00
Georgi Kodinov
8d16eb71b3 merge 5.0 -> 5.0-bugteam 2009-01-05 18:04:14 +02:00
Magnus Svensson
176c06a79f Merge 2008-12-18 19:54:47 +01:00
Magnus Svensson
fdd665443c Bug#41480 Tests that do LOAD DATA INFILE fail when run locally 2008-12-18 13:58:55 +01:00
Sergey Vojtovich
7df22ce11e BUG#39746 - Debug flag breaks struct definition
(server crash)

Altering a table with fulltext index[es] which use
pluggable fulltext parser may cause server crash
in debug builds.

The problem was that ALTER TABLE code wrongly assigned
fulltext parser name.

Also fixed that altering a table with fulltext index[es]
leave stale fulltext parser locks, which prevent
fulltext parsers from being uninstalled after
ALTER TABLE.
2008-12-17 17:24:34 +04:00
John H. Embretsen
b4781e3072 Fix (preliminary?) for Bug#41502 - MTR v2 should not load plugins during server bootstrap.
Adding --loose-skip-falcon option to the mysqld options provided by MTR (v2) during mysqld bootstrap in order to avoid plugin (in this case Falcon) initialization of static variables etc. Options --loose-skip-innodb and --loose-skip-ndbcluster were already included.

This will fix Bug#41014 (falcon_bug_39708 fails in pushbuild in 6.0-rpl: "succeeded - should have failed")
in the case of MTR v2 (which currently is available in -rpl branches only). 
MTR v1 (e.g. in main 6.0 branch) does not have this problem.

It would be more ideal to remove the --loose-skip-* options and provide a single option disabling all plugin initialization instead, or have bootstrap do this by default. Server modifications are (most likely) needed to be able to do that.
2008-12-17 09:39:01 +01:00
Bjorn Munch
60a2e4a90c Bug #31983 Running mysql-test from RPM fails for NDB
Adds $glob_basedir/sbin to search path when needed
2008-12-15 15:14:56 +01:00
Bjorn Munch
ff1161eb58 Bug #31983 Running mysql-test from RPM fails for NDB
Added $glob_basedir/sbin to search path for relevant binaries
2008-12-12 15:10:56 +01:00
Leonard Zhou
bc2095c19e BUG#27477 Remove tmp-directory on MTR start 2008-12-09 18:52:10 +08:00
Patrick Crews
33cf11b428 Bug#41258: mysql-test-run does not copy subdirectories of std_data on Windows (5.0 only)
Altered how we copy data from mysql-test/std_data on Windows to match what we are doing in 5.1 and 6.0
2008-12-05 08:21:03 -05:00
Sven Sandberg
1b228849e9 Clarified the error message printed when mtr's test cleanup check fails. 2008-11-25 17:51:02 +01:00
Magnus Svensson
aeb6b5af88 Bug#40891 test suite timeouts on valgrind host in pushbuild 2008-11-21 13:45:28 +01:00
Magnus Svensson
6dc9b2ab9f mtr - temporarily turn on verbose 2008-11-21 08:57:46 +01:00
Serge Kozlov
53bf864735 Bug#39861, added comment to mtr 2008-11-15 14:40:40 +03:00
Serge Kozlov
bf9d1b565c fix for bug#39861 2008-11-15 00:44:56 +03:00
Serge Kozlov
f51cfbbc26 Bug#39861:
1. mysqltest.cc - added flush to log file after each executed command in a testcase.
2. mtr shows 20 last lines from test case log file if timeout reached.
3. Optimizing the code by Magnus review.
4. It is partially fix bug#40150
2008-11-14 23:35:32 +03:00
Magnus Svensson
41fdb64682 Bug#40705 mtr's check-warnings fails sporadically in pushbuild
- Change the logic slightly for when and how errors from
   check-warnings and check-testcase are reported. The prevoius logic
   reporting testfailed twice and that might have caused this.
 - Also print result code returned from mysqltest when it is "unexpected"
2008-11-14 13:19:37 +01:00
Magnus Svensson
acf0a1c32c WL#4189 Temporarily set parallel=1 by default 2008-11-14 10:22:44 +01:00
Magnus Svensson
d2773d34f5 WL#4189 Add full backward compatibility to mysql-test-run.pl
- Add copy of mtr v1 and make it possible to run it using MTR_VERSION=1
2008-11-14 09:45:32 +01:00
Magnus Svensson
5fd1c9768a WL#4189 Use only one worker for --record 2008-11-10 16:10:49 +01:00
Magnus Svensson
4b739dcf45 Bug#40193 mtr --record is currently broken in 5.1-rpl and 6.0-rpl 2008-11-10 14:53:53 +01:00
Magnus Svensson
6a58dc5180 WL#4189 removed unused variables 2008-11-10 14:53:21 +01:00
Magnus Svensson
3fb892bf79 WL#4189 - fix for running from bin dist 2008-11-07 16:22:53 +01:00
Chad MILLER
60b8b18f08 Symlink master sock if it is moved elsewhere for path-length reasons. 2008-11-03 13:10:59 -05:00
Magnus Svensson
b7967587e6 WL#4189 Set parallel to 1 if running under vmware on windows 2008-10-11 17:30:26 +02:00
Magnus Svensson
ac24a79290 BUG#39008 Additional fix after review, remove files that could potentially be set to path outside datadir 2008-10-10 16:19:04 +02:00
Magnus Svensson
2359d44c61 Merge 2008-10-08 22:30:56 +02:00
Magnus Svensson
22a893895c WL#4189 add verbose also when starting check testcase 2008-10-06 19:34:00 +02:00
Vladislav Vaintroub
08aaf07de5 merge fix for 38629 from 5.0 2008-10-02 17:56:29 +02:00