Commit graph

774 commits

Author SHA1 Message Date
Bjorn Munch
d25a26268c merge 48149 2009-10-20 12:06:33 +02:00
Bjorn Munch
23ef842e03 Bug #48149 MTR should automatically skip SSL tests if SSL not supported
Knowledge of no SSL support is not used
Skip tests the same way e.g. innodb tests are
Does not refer to have_ssl_communication.inc, 
     will add this when merging to 6.0-codebase
2009-10-19 15:51:47 +02:00
Bjorn Munch
542ffe5e87 merge 48130 and 48133 from 5.1 2009-10-19 15:14:26 +02:00
Bjorn Munch
264c330fd0 Bug #48130 Expected failures should not count towards max-test-fail
Test batches may be terminated too early
Avoid counting exp-fail tests
2009-10-17 18:34:56 +02:00
Bjorn Munch
79a1ba30e1 merge from mtr-51 2009-10-08 11:34:42 +02:00
Bjorn Munch
00709918e4 Bug #46625 Pushbuild2: does not notice test failure in "Innodb Plugin" mode
Disallow (and don't use) space in combination names
2009-10-08 11:14:42 +02:00
Vladislav Vaintroub
d003ddfdab merge 2009-10-07 16:34:45 +02:00
Bjorn Munch
e46fe1ca21 Bug #47383 let mysql-test-run.pl run innodb tests using the plugin
Alt. solution: let the "InnoDB plugin" combinations apply
Added some alternative plugin paths (I need to move the code anyway)
2009-10-02 10:36:38 +02:00
Vladislav Vaintroub
5f80994f4e Bug #47731 mtr freezes for many seconds when process to be killed has already gone.
The problem is that safe_kill_win fails to detect a dead process. OpenProcess() will 
succeed even after the process died, it will first fail after the last handle to process 
is closed.

To fix the problem, check process status with GetExitCodeProcess() and consider 
process to be dead if the exit code returned by this routine is not STILL_ALIVE.
2009-09-30 00:19:00 +02:00
Bjorn Munch
59b1991bc0 new merge from trunk 2009-09-21 11:43:01 +02:00
Alexander Nozdrin
eeec93f305 Merge from mysql-5.1. 2009-09-19 13:07:51 +04:00
Bjorn Munch
b5dd609a55 initial merge from 5.1-mtr 2009-09-04 15:20:58 +02:00
Bjorn Munch
51c0f1fce6 3rd merge from main 2009-09-03 08:44:22 +02:00
Bjorn Munch
051c787dda merge 2009-09-03 08:39:29 +02:00
Bjorn Munch
5cdf8392b5 Bug #47075 Wildcards in experimental test names destroyed when tested first time
Extract substr into local variable
2009-09-03 08:19:54 +02:00
Bjorn Munch
588e9930b4 first merge from main 2009-09-02 18:58:17 +02:00
Jonathan Perkin
4a76122f43 Apply patch from bug#46834 to install the test suite in RPMs. 2009-08-21 13:58:33 +02:00
Bjorn Munch
bc1b485f90 merge 2009-08-18 09:40:20 +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
7cdccfa05b Bug #46755 Wrong grammar in some skip messages: Test need instead of Test needs
Fixed in two comments as well
2009-08-17 11:21:02 +02:00
Sergey Vojtovich
68b96702a0 Disable main.index_merge_innodb with InnoDB plugin. The test case is
not ready to run with innoplug-1.0.4.
2009-08-12 17:46:12 +05:00
Bjorn Munch
e4b2b97839 Bug #45771 AIX and i5/OS Perl bug: check_socket_path_length in MTR fails
Bug in Perl
Scrap attempt to do this smartly on AIX, just drop the test and assume it's OK
This commit undoes the previous push and adds a line to ignore on AIX
2009-08-06 09:30:53 +02:00
Guilhem Bichot
13a87951e9 InnoDB plugin is built-in: remove test code which depended on the plugin property 2009-08-05 12:07:41 +02:00
Bjorn Munch
c26dd8e87b Bug #45771 AIX and i5/OS Perl bug: check_socket_path_length in MTR fails
Bug is actually in Perl
Fixed by trapping and ignoring error from IO::Socket::UNIX
2009-08-05 09:41:40 +02:00
Bjorn Munch
ad771f000c Bug #45698 MTR_VERSION=1 ./mtr --force does not work
Small amendment to original fix, as it did not work in azalea
Need to handle combinations, would eventually break in 5.1 too
2009-07-31 11:22:57 +02:00
Sergey Vojtovich
0feaa38241 Update to innoplug-1.0.4. 2009-07-30 17:42:56 +05:00
Bjorn Munch
2399987a2a Bug #46212 safe_process: FATAL ERROR, Unknown option: --nocore
Also fixed mysqld.cc to avoid popup-boxes
2009-07-23 19:01:24 +02:00
Bjorn Munch
53e14eaa0a Bug #45700 MTR v1 --start-and-exit --default-storage-engine=Innodb is froken
Change of variable states in Bug 19027 was not backported to v1
Changed ne "TRUE" to eq "OFF"
2009-07-17 10:41:04 +02:00
Bjorn Munch
0952b9b59b Bug #45698 MTR_VERSION=1 ./mtr --force does not work
General problem: some test cannot run in V1, expect more in future
Implement general mechanism for listing incompatible tests
2009-07-16 14:05:46 +02:00
Bjorn Munch
8d6a25a23f Bug #43005 main.init_connect fais on Windows in PB2
Server args containing spaces do not work on Windows
Fixed my_safe_rprocess-win to re-apply "" around such args
2009-07-15 14:20:56 +02:00
Sergey Vojtovich
cc541211c8 Merge 5.1-bugteam -> 5.1-innodb_plugin. 2009-07-14 15:06:04 +05:00
Davi Arnaut
915d1c4d32 Fix warnings generated by SunStudio and GCC.
Based upon patch contributed by Stewart Smith
2009-07-08 09:31:22 -03:00
Sergey Vojtovich
e852dfe33e Expanded list of directories to seach for InnoDB plugin. With
this fix it is possible to test InnoDB plugin from binary
distribution. As well as on pb.
2009-06-25 14:34:37 +05:00
Sergey Vojtovich
d805c1214a This patch implements testing InnoDB plugin milestone. 2009-06-24 22:18:58 +05:00
Bjorn Munch
63910fc2a0 Bug #43780 mysql-test-run uses deprecated server options
Updated to use general_log[_file] and slow_query_log[_file]
2009-06-22 16:27:05 +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
524bd596e2 merge from 5.1 main 2009-05-29 13:04:02 +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
bec841ce5d merge from 5.1-mtr 2009-05-25 22:58:31 +02:00
Vladislav Vaintroub
c650c90686 merge 2009-05-15 13:47:36 +02:00
Vladislav Vaintroub
efb195051a Bug #44775 MTR fails to bootstrap mysqld on Windows in Pushbuild 2.
Suspected reason for the failure is that safe_process.exe already runs in a job that does not allow breakaways. 
The fix is to use a fallback -  make newly created process the root of the new process group. This allows to kill process together with descendants via GenerateConsoleCtrlEvent (CTRL_BREAK_EVENT, pid)
2009-05-14 21:56:53 +02:00
Kristofer Pettersson
0b608e98bb Bug#19027 MySQL 5.0 starts even with Fatal InnoDB errors
Fix bug in mtr_cases.pm script visible only when InnoDB isn't configured.
2009-05-17 22:16:21 +02:00
Kristofer Pettersson
8b39abe245 Bug#19027 MySQL 5.0 starts even with Fatal InnoDB errors
It is not possible to prevent the server from starting if a mandatory
built-in plugin fails to start. This can in some cases lead to data
corruption when the old table name space suddenly is used by a different
storage engine.

A boolean command line option in the form of --foobar is automatically
created for every existing plugin "foobar". By changing this command line
option from a boolean to a tristate { OFF, ON, FORCE } it is possible to
specify the plugin loading policy for each plugin.

The behavior is specified as follows:
   OFF   = Disable the plugin and start the server
   ON    = Enable the plugin and start the server even if an error occurrs
           during plugin initialization.
   FORCE = Enable the plugin but don't start the server if an error occurrs
           during plugin initialization.
2009-05-14 14:03:33 +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
Vladislav Vaintroub
2ba1012fdf Fix regression on pushbuild 1. The cygwin perl is ancient there, and Net::Ping does not have port_number method (port_number was introduced around 2007). The fix is to check if port_number is present. Otherwise, fallback to the slow connect(). 2009-05-08 01:10:53 +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
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
0fcfab24d7 Bug #43570 MTR2 hangs when test fails and named pipe created
Hangs when trying to copy the pipe
Amend copytree() to only copy regular files
2009-04-01 16:23:10 +02:00