1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

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.
This commit is contained in:
Magnus Svensson
2009-01-27 14:53:58 +01:00
parent 3dbc5cf418
commit 377d27b6d5
3 changed files with 92 additions and 75 deletions

View File

@ -1,8 +1,11 @@
#
# This test is executed once after each test to check the servers
# for unexpected warnings found in the servers error log
#
# NOTE! mysql-test-run.pl has already done a rough filtering
# of the file and written any suspicious lines
# to $error_log.warnings file
#
--disable_query_log
# Don't write these queries to binlog
@ -17,41 +20,21 @@ use mtr;
create temporary table error_log (
row int auto_increment primary key,
suspicious int default 0,
suspicious int default 1,
file_name varchar(255),
line varchar(1024) default null
) engine=myisam;
# Get the name of servers error log
let $log_error= query_get_value(show variables like 'log_error', Value, 1);
let $log_warning= $log_error.warnings;
# Try to load the error log into the temporary table
--error 0,1085
eval load data infile '$log_error' into table error_log
fields terminated by 'xykls37' (line)
# Load the warnings into a temporary table
eval load data infile '$log_warning' into table error_log
fields terminated by 'xykls37'
ignore 1 lines
(line)
set file_name='$log_error';
if ($mysql_errno)
{
# The error log was not world readable, this is normally
# caused by a "flush logs" in the test program. mysqld
# will then rename the error log to .err-old and open
# a new error log file that is not world readable.
# chmod the error log file and try to open it again
chmod 0644 $log_error;
eval load data infile '$log_error' into table error_log
fields terminated by 'xykls37' (line)
set file_name='$log_error';
# Also load the .err-old file where there might be
# additional warnings
# Disabled intil Bug#42320 has been fixed
#let $old_log_error = $log_error-old;
#chmod 0644 $old_log_error;
#eval load data infile '$old_log_error' into table error_log
# fields terminated by 'xykls37' (line)
# set file_name='$old_log_error';
}
# Call check_warnings to filter out any warning in
# the error_log table