Commit graph

44 commits

Author SHA1 Message Date
Bjorn Munch
dd1d0a4644 Bug #47663 mtr --parallel has weird output
Some output is written, some is not
Finally concluded it's a Perl bug: after running with parallel threads
  for a while, print suddenly ignores all but the first argument.
Workaround: concatenate all the arguments into one, except in output that
  only comes before we start running tests
2009-11-04 13:42:22 +01:00
Bjorn Munch
6c28505e6e Bug #48240 "Test suite timeout" and "Too many tests failed" is masked from status page
Prepend "Completed", "Timeout" or "Too many failed" to summary line
2009-10-26 14:28:51 +01: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
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
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
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
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
Bjorn Munch
739d5775b1 Bug #43148 MTR2 + PB2 should display correct number of failures
Retried tests are reported the same as ordinary ones
Prepend "retry-" to fail or pass for retried tests
2009-03-09 12:59:34 +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
Bjorn Munch
29fa37a1c5 Bug #42535 MTR2 output format for skipped tests should be identical to MTR 1
Changed [ skip ] to [ skipped ] and removed optional .
2009-02-02 11:26:19 +01:00
Luis Soares
bb61c498ba BUG#42485: Pushbuild2 and some build tools do not work together with MTR2
It seems that the length of the thick line printed by mtr when printing the 
suite name differs from mtr1 and mtr2, affecting the mtr filtering by PB2.
      
This patch addresses it by restoring the thick line length to 78 (original
length) instead of 60 (the one in mtr2).
2009-02-01 14:14:39 +01:00
Magnus Svensson
44d0645cda WL#4198 mtr.pl v2
- Improve error message for "found warnings in server log file"
2009-01-28 10:28:48 +01:00
Magnus Svensson
d4c402db64 Merge 2009-01-27 15:10:15 +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
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
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
Magnus Svensson
56e6a0ab82 Bug#39972 mysql-test-run.pl: Confusing error message under special conditions
- Fix problem with for example ./mtr --timer, caused by new version of "Getopt::Long"
 - Evaluating the "$opt" variable as a string, returns the name of the parameter
   to be modified instead of "Getopt::Long::Callback" which is the class name
2009-01-21 11:17:16 +01: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
Bjorn Munch
97b0eb92e4 Bug #40924 please print timestamp when mtr fails
Added text "Test ended at <time>" after failure reports
2008-12-03 14:11:03 +01:00
Magnus Svensson
39ad2dc05a Bug #38181 Please print more debug info when tests fail 2008-08-04 21:54:44 +02:00
Magnus Svensson
079fa90b8d Turn off timestamping 2008-06-19 11:20:45 +02:00
msvensson@pilot.(none)
10348f0f38 (temporarily)Turn on timestamp by default 2008-05-20 11:48:52 +02:00
msvensson@pilot.(none)
447916b9e6 Make printout of $name nicer
Remove debug printouts
2008-05-09 11:50:36 +02:00
msvensson@pilot.mysql.com
39e11a1ddb Add printouts 2008-05-05 22:55:47 +02:00
msvensson@pilot.mysql.com
9d6d039cf1 Tune reporting 2008-05-04 23:22:41 +02:00
msvensson@pilot.mysql.com
fb88bd04a6 Set "timediff" to off by default 2008-05-04 21:43:49 +02:00
msvensson@pilot.mysql.com
ec03ad0591 Move opt_timer to mtr_report.pm 2008-05-04 21:40:40 +02:00
msvensson@pilot.mysql.com
b9a810dd25 Correctly calculate failed tests 2008-05-04 21:21:11 +02:00
msvensson@pilot.mysql.com
8c97dc80ca Print tests that has been run but shouldn't and vice versa
Use opt_start_timeout also for ndb
Remove the .result files generated by 'check_testcase'
2008-05-02 12:11:04 +02:00
msvensson@pilot.mysql.com
4f9409c835 Move code that saves datadirs to test server
Remove mtr_report_test_failed
2008-04-27 23:35:38 +02:00
msvensson@pilot.mysql.com
b18a64979a Run all check-warning and check-testcase in parallel, this also give the
oportunity to check if any other process fails during this.
Add possiblitiy to store "user_data" in a Safeprocess
Add function to get pid from a SafeProcess
2008-04-27 21:31:32 +02:00
msvensson@pilot.mysql.com
fcc697d29c Merge pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-rpl
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-maint2
2008-04-25 08:23:57 +02:00
msvensson@pilot.mysql.com
5681c99645 Print name(of thread) also in mtr_report, testserver does not set name
so it will still look the same, but makes debugging much easier
2008-04-24 20:24:24 +02:00
msvensson@pilot.mysql.com
7e8898aaca Replace all - with - in $opt name 2008-04-24 14:15:15 +02:00
msvensson@pilot.mysql.com
ba900fe302 Add support for running in parallel 2008-04-24 13:02:53 +02:00
msvensson@pilot.mysql.com
433c1c3d7b Check warnings in servers error log as part of test case 2008-04-08 16:51:26 +02:00
msvensson@pilot.mysql.com
a011d27cf9 Merge pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-rpl
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-mtr
2008-04-03 11:50:43 +02:00
msvensson@pilot.mysql.com
201ce48d5d After merge fixes 2008-03-26 07:22:42 +01:00
msvensson@pilot.mysql.com
bc4874b79c Merge pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-rpl
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-mtr
2008-03-25 18:40:49 +01:00
msvensson@pilot.mysql.com
06cf8665c5 Fix after merge 2008-02-28 18:55:46 +01:00
msvensson@pilot.mysql.com
56a354794c Merge pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-rpl
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-mtr
2008-02-28 12:21:44 +01:00
msvensson@pilot.mysql.com
86d065f525 Make mtr_report.pl into it's own package
Remove mtr_log_*
2008-02-04 11:16:25 +01:00
Renamed from mysql-test/lib/mtr_report.pl (Browse further)