Commit 73de951a authored by kent@mysql.com's avatar kent@mysql.com

Merge

parents 6595c649 f9a23667
...@@ -111,7 +111,7 @@ sub collect_test_cases ($) { ...@@ -111,7 +111,7 @@ sub collect_test_cases ($) {
# Disable some tests listed in disabled.def # Disable some tests listed in disabled.def
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
my %disabled; my %disabled;
if ( open(DISABLED, "$testdir/disabled.def" ) ) if ( ! $::opt_ignore_disabled_def and open(DISABLED, "$testdir/disabled.def" ) )
{ {
while ( <DISABLED> ) while ( <DISABLED> )
{ {
...@@ -277,8 +277,8 @@ sub collect_one_test_case($$$$$$$) { ...@@ -277,8 +277,8 @@ sub collect_one_test_case($$$$$$$) {
my $disabled_file= "$testdir/$tname.disabled"; my $disabled_file= "$testdir/$tname.disabled";
my $im_opt_file= "$testdir/$tname-im.opt"; my $im_opt_file= "$testdir/$tname-im.opt";
$tinfo->{'master_opt'}= $::glob_win32 ? ["--default-time-zone=+3:00"] : []; $tinfo->{'master_opt'}= [];
$tinfo->{'slave_opt'}= $::glob_win32 ? ["--default-time-zone=+3:00"] : []; $tinfo->{'slave_opt'}= [];
$tinfo->{'slave_mi'}= []; $tinfo->{'slave_mi'}= [];
if ( -f $master_opt_file ) if ( -f $master_opt_file )
...@@ -301,7 +301,6 @@ sub collect_one_test_case($$$$$$$) { ...@@ -301,7 +301,6 @@ sub collect_one_test_case($$$$$$$) {
if ( defined $value ) if ( defined $value )
{ {
$tinfo->{'timezone'}= $value; $tinfo->{'timezone'}= $value;
$tinfo->{'skip'}= 1 if $::glob_win32; # FIXME server unsets TZ
last MASTER_OPT; last MASTER_OPT;
} }
......
...@@ -781,7 +781,15 @@ sub mtr_record_dead_children () { ...@@ -781,7 +781,15 @@ sub mtr_record_dead_children () {
} }
sub start_reap_all { sub start_reap_all {
$SIG{CHLD}= 'IGNORE'; # FIXME is this enough? # This causes terminating processes to not become zombies, avoiding
# the need for (or possibility of) explicit waitpid().
$SIG{CHLD}= 'IGNORE';
# On some platforms (Linux, QNX, OSX, ...) there is potential race
# here. If a process terminated before setting $SIG{CHLD} (but after
# any attempt to waitpid() it), it will still be a zombie. So we
# have to handle any such process here.
while(waitpid(-1, &WNOHANG) > 0) { };
} }
sub stop_reap_all { sub stop_reap_all {
......
...@@ -185,39 +185,57 @@ sub mtr_report_stats ($) { ...@@ -185,39 +185,57 @@ sub mtr_report_stats ($) {
} }
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# If a debug run, there might be interesting information inside
# the "var/log/*.err" files. We save this info in "var/log/warnings"
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
if ( ! $::glob_use_running_server ) if ( ! $::glob_use_running_server )
{ {
# Save and report if there was any fatal warnings/errors in err logs
# Report if there was any fatal warnings/errors in the log files my $warnlog= "$::opt_vardir/log/warnings";
#
unlink("$::opt_vardir/log/warnings"); unless ( open(WARN, ">$warnlog") )
unlink("$::opt_vardir/log/warnings.tmp"); {
# Remove some non fatal warnings from the log files mtr_warning("can't write to the file \"$warnlog\": $!");
}
# FIXME what is going on ????? ;-) else
# sed -e 's!Warning: Table:.* on delete!!g' -e 's!Warning: Setting lower_case_table_names=2!!g' -e 's!Warning: One can only use the --user.*root!!g' \ {
# var/log/*.err \ my $found_problems= 0; # Some warnings are errors...
# | sed -e 's!Warning: Table:.* on rename!!g' \
# > var/log/warnings.tmp; # We report different types of problems in order
# foreach my $pattern ( "^Warning:", "^Error:", "^==.* at 0x" )
# found_error=0; {
# # Find errors foreach my $errlog ( sort glob("$::opt_vardir/log/*.err") )
# for i in "^Warning:" "^Error:" "^==.* at 0x" {
# do unless ( open(ERR, $errlog) )
# if ( $GREP "$i" var/log/warnings.tmp >> var/log/warnings ) {
# { mtr_warning("can't read $errlog");
# found_error=1 next;
# } }
# done while ( <ERR> )
# unlink("$::opt_vardir/log/warnings.tmp"); {
# if ( $found_error= "1" ) # Skip some non fatal warnings from the log files
# { if ( /Warning:\s+Table:.* on (delete|rename)/ or
# print "WARNING: Got errors/warnings while running tests. Please examine\n" /Warning:\s+Setting lower_case_table_names=2/ or
# print "$::opt_vardir/log/warnings for details.\n" /Warning:\s+One can only use the --user.*root/ )
# } {
# } next; # Skip these lines
}
if ( /$pattern/ )
{
$found_problems= 1;
print WARN $_;
}
}
}
if ( $found_problems )
{
mtr_warning("Got errors/warnings while running tests, please examine",
"\"$warnlog\" for details.");
}
}
}
} }
print "\n"; print "\n";
......
...@@ -157,7 +157,8 @@ our $path_client_bindir; ...@@ -157,7 +157,8 @@ our $path_client_bindir;
our $path_language; our $path_language;
our $path_timefile; our $path_timefile;
our $path_manager_log; # Used by mysqldadmin our $path_manager_log; # Used by mysqldadmin
our $path_mysqltest_log; our $path_slave_load_tmpdir; # What is this?!
our $path_mysqltest_log;
our $path_my_basedir; our $path_my_basedir;
our $opt_vardir; # A path but set directly on cmd line our $opt_vardir; # A path but set directly on cmd line
our $opt_tmpdir; # A path but set directly on cmd line our $opt_tmpdir; # A path but set directly on cmd line
...@@ -485,6 +486,9 @@ sub initial_setup () { ...@@ -485,6 +486,9 @@ sub initial_setup () {
$glob_basedir= dirname($glob_mysql_test_dir); $glob_basedir= dirname($glob_mysql_test_dir);
$glob_mysql_bench_dir= "$glob_basedir/mysql-bench"; # FIXME make configurable $glob_mysql_bench_dir= "$glob_basedir/mysql-bench"; # FIXME make configurable
# needs to be same length to test logging (FIXME what???)
$path_slave_load_tmpdir= "../../var/tmp";
$path_my_basedir= $path_my_basedir=
$opt_source_dist ? $glob_mysql_test_dir : $glob_basedir; $opt_source_dist ? $glob_mysql_test_dir : $glob_basedir;
...@@ -691,6 +695,7 @@ sub command_line_setup () { ...@@ -691,6 +695,7 @@ sub command_line_setup () {
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
$opt_tmpdir= "$opt_vardir/tmp" unless $opt_tmpdir; $opt_tmpdir= "$opt_vardir/tmp" unless $opt_tmpdir;
$opt_tmpdir =~ s,/+$,,; # Remove ending slash if any
# FIXME maybe not needed? # FIXME maybe not needed?
$path_manager_log= "$opt_vardir/log/manager.log" $path_manager_log= "$opt_vardir/log/manager.log"
unless $path_manager_log; unless $path_manager_log;
......
...@@ -345,7 +345,7 @@ BASE=$BASE2 ...@@ -345,7 +345,7 @@ BASE=$BASE2
if [ x"@GXX@" = x"yes" ] ; then if [ x"@GXX@" = x"yes" ] ; then
gcclib=`@CC@ --print-libgcc-file` gcclib=`@CC@ --print-libgcc-file`
if [ $? -ne 0 ] ; then if [ $? -ne 0 ] ; then
print "Warning: Couldn't find libgcc.a!" echo "Warning: Couldn't find libgcc.a!"
else else
$CP $gcclib $BASE/lib/libmygcc.a $CP $gcclib $BASE/lib/libmygcc.a
fi fi
......
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