Commit cf28ccbb authored by Bjorn Munch's avatar Bjorn Munch

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
parent 279d8366
...@@ -338,12 +338,12 @@ sub start_kill { ...@@ -338,12 +338,12 @@ sub start_kill {
$ret= system($safe_kill, $winpid) >> 8; $ret= system($safe_kill, $winpid) >> 8;
if ($ret == 3){ if ($ret == 3){
print "Couldn't open the winpid: $winpid ", print "Couldn't open the winpid: $winpid ".
"for pid: $pid, try one more time\n"; "for pid: $pid, try one more time\n";
sleep(1); sleep(1);
$winpid= _winpid($pid); $winpid= _winpid($pid);
$ret= system($safe_kill, $winpid) >> 8; $ret= system($safe_kill, $winpid) >> 8;
print "Couldn't open the winpid: $winpid ", print "Couldn't open the winpid: $winpid ".
"for pid: $pid, continue and see what happens...\n"; "for pid: $pid, continue and see what happens...\n";
} }
} }
...@@ -594,7 +594,7 @@ sub self2str { ...@@ -594,7 +594,7 @@ sub self2str {
sub _verbose { sub _verbose {
return unless $_verbose; return unless $_verbose;
print STDERR " ## ", @_, "\n"; print STDERR " ## ". @_. "\n";
} }
......
...@@ -69,7 +69,7 @@ sub _mtr_report_test_name ($) { ...@@ -69,7 +69,7 @@ sub _mtr_report_test_name ($) {
$tname.= " '$tinfo->{combination}'" $tname.= " '$tinfo->{combination}'"
if defined $tinfo->{combination}; if defined $tinfo->{combination};
print _name(), _timestamp(); print _name(). _timestamp();
printf "%-40s ", $tname; printf "%-40s ", $tname;
my $worker = $tinfo->{worker}; my $worker = $tinfo->{worker};
printf "w$worker " if $worker; printf "w$worker " if $worker;
...@@ -390,13 +390,13 @@ sub mtr_report_stats ($$;$) { ...@@ -390,13 +390,13 @@ sub mtr_report_stats ($$;$) {
############################################################################## ##############################################################################
sub mtr_print_line () { sub mtr_print_line () {
print '-' x 60, "\n"; print '-' x 60 . "\n";
} }
sub mtr_print_thick_line { sub mtr_print_thick_line {
my $char= shift || '='; my $char= shift || '=';
print $char x 78, "\n"; print $char x 78 . "\n";
} }
...@@ -454,7 +454,7 @@ sub _timestamp { ...@@ -454,7 +454,7 @@ sub _timestamp {
# Always print message to screen # Always print message to screen
sub mtr_print (@) { sub mtr_print (@) {
print _name(), join(" ", @_), "\n"; print _name(). join(" ", @_). "\n";
} }
...@@ -462,22 +462,22 @@ sub mtr_print (@) { ...@@ -462,22 +462,22 @@ sub mtr_print (@) {
sub mtr_report (@) { sub mtr_report (@) {
if (defined $verbose) if (defined $verbose)
{ {
print _name(), join(" ", @_), "\n"; print _name(). join(" ", @_). "\n";
} }
} }
# Print warning to screen # Print warning to screen
sub mtr_warning (@) { sub mtr_warning (@) {
print STDERR _name(), _timestamp(), print STDERR _name(). _timestamp().
"mysql-test-run: WARNING: ", join(" ", @_), "\n"; "mysql-test-run: WARNING: ". join(" ", @_). "\n";
} }
# Print error to screen and then exit # Print error to screen and then exit
sub mtr_error (@) { sub mtr_error (@) {
print STDERR _name(), _timestamp(), print STDERR _name(). _timestamp().
"mysql-test-run: *** ERROR: ", join(" ", @_), "\n"; "mysql-test-run: *** ERROR: ". join(" ", @_). "\n";
if (IS_WINDOWS) if (IS_WINDOWS)
{ {
POSIX::_exit(1); POSIX::_exit(1);
...@@ -492,8 +492,8 @@ sub mtr_error (@) { ...@@ -492,8 +492,8 @@ sub mtr_error (@) {
sub mtr_debug (@) { sub mtr_debug (@) {
if ( $verbose > 2 ) if ( $verbose > 2 )
{ {
print STDERR _name(), print STDERR _name().
_timestamp(), "####: ", join(" ", @_), "\n"; _timestamp(). "####: ". join(" ", @_). "\n";
} }
} }
...@@ -501,8 +501,8 @@ sub mtr_debug (@) { ...@@ -501,8 +501,8 @@ sub mtr_debug (@) {
sub mtr_verbose (@) { sub mtr_verbose (@) {
if ( $verbose ) if ( $verbose )
{ {
print STDERR _name(), _timestamp(), print STDERR _name(). _timestamp().
"> ",join(" ", @_),"\n"; "> ".join(" ", @_)."\n";
} }
} }
...@@ -512,8 +512,8 @@ sub mtr_verbose_restart (@) { ...@@ -512,8 +512,8 @@ sub mtr_verbose_restart (@) {
my $proc= $server->{proc}; my $proc= $server->{proc};
if ( $verbose_restart ) if ( $verbose_restart )
{ {
print STDERR _name(),_timestamp(), print STDERR _name()._timestamp().
"> Restart $proc - ",join(" ", @args),"\n"; "> Restart $proc - ".join(" ", @args)."\n";
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment