mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
use log-error in mtr, don't let mysqld to write to stderr
because on Windows it cannot properly append to the file, doesn't use CreateFile(..., FILE_APPEND_DATA, ...) this fixes main.shutdown failures on Windows
This commit is contained in:
@@ -246,7 +246,7 @@ my @mysqld_rules=
|
|||||||
{ '#host' => \&fix_host },
|
{ '#host' => \&fix_host },
|
||||||
{ 'port' => \&fix_port },
|
{ 'port' => \&fix_port },
|
||||||
{ 'socket' => \&fix_socket },
|
{ 'socket' => \&fix_socket },
|
||||||
{ '#log-error' => \&fix_log_error },
|
{ 'log-error' => \&fix_log_error },
|
||||||
{ 'general-log' => 1 },
|
{ 'general-log' => 1 },
|
||||||
{ 'plugin-dir' => sub { $::plugindir } },
|
{ 'plugin-dir' => sub { $::plugindir } },
|
||||||
{ 'general-log-file' => \&fix_log },
|
{ 'general-log-file' => \&fix_log },
|
||||||
@@ -394,7 +394,7 @@ sub post_check_embedded_group {
|
|||||||
|
|
||||||
my %no_copy = map { $_ => 1 }
|
my %no_copy = map { $_ => 1 }
|
||||||
(
|
(
|
||||||
'#log-error', # Embedded server writes stderr to mysqltest's log file
|
'log-error', # Embedded server writes stderr to mysqltest's log file
|
||||||
'slave-net-timeout', # Embedded server are not build with replication
|
'slave-net-timeout', # Embedded server are not build with replication
|
||||||
'shared-memory-base-name', # No shared memory for embedded
|
'shared-memory-base-name', # No shared memory for embedded
|
||||||
);
|
);
|
||||||
|
@@ -2757,7 +2757,7 @@ sub mysql_server_start($) {
|
|||||||
# Already started
|
# Already started
|
||||||
|
|
||||||
# Write start of testcase to log file
|
# Write start of testcase to log file
|
||||||
mark_log($mysqld->value('#log-error'), $tinfo);
|
mark_log($mysqld->value('log-error'), $tinfo);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -2814,7 +2814,7 @@ sub mysql_server_start($) {
|
|||||||
mkpath($tmpdir) unless -d $tmpdir;
|
mkpath($tmpdir) unless -d $tmpdir;
|
||||||
|
|
||||||
# Write start of testcase to log file
|
# Write start of testcase to log file
|
||||||
mark_log($mysqld->value('#log-error'), $tinfo);
|
mark_log($mysqld->value('log-error'), $tinfo);
|
||||||
|
|
||||||
# Run <tname>-master.sh
|
# Run <tname>-master.sh
|
||||||
if ($mysqld->option('#!run-master-sh') and
|
if ($mysqld->option('#!run-master-sh') and
|
||||||
@@ -4259,7 +4259,7 @@ sub get_log_from_proc ($$) {
|
|||||||
|
|
||||||
foreach my $mysqld (all_servers()) {
|
foreach my $mysqld (all_servers()) {
|
||||||
if ($mysqld->{proc} eq $proc) {
|
if ($mysqld->{proc} eq $proc) {
|
||||||
my @srv_lines= extract_server_log($mysqld->if_exist('#log-error'), $name);
|
my @srv_lines= extract_server_log($mysqld->if_exist('log-error'), $name);
|
||||||
$srv_log= "\nServer log from this test:\n" .
|
$srv_log= "\nServer log from this test:\n" .
|
||||||
"----------SERVER LOG START-----------\n". join ("", @srv_lines) .
|
"----------SERVER LOG START-----------\n". join ("", @srv_lines) .
|
||||||
"----------SERVER LOG END-------------\n";
|
"----------SERVER LOG END-------------\n";
|
||||||
@@ -4466,7 +4466,7 @@ sub start_check_warnings ($$) {
|
|||||||
|
|
||||||
my $name= "warnings-".$mysqld->name();
|
my $name= "warnings-".$mysqld->name();
|
||||||
|
|
||||||
my $log_error= $mysqld->value('#log-error');
|
my $log_error= $mysqld->value('log-error');
|
||||||
# To be communicated to the test
|
# To be communicated to the test
|
||||||
$ENV{MTR_LOG_ERROR}= $log_error;
|
$ENV{MTR_LOG_ERROR}= $log_error;
|
||||||
extract_warning_lines($log_error, 0);
|
extract_warning_lines($log_error, 0);
|
||||||
@@ -4624,7 +4624,7 @@ sub check_warnings_post_shutdown {
|
|||||||
foreach my $mysqld ( mysqlds())
|
foreach my $mysqld ( mysqlds())
|
||||||
{
|
{
|
||||||
my ($testlist, $match_lines)=
|
my ($testlist, $match_lines)=
|
||||||
extract_warning_lines($mysqld->value('#log-error'), 1);
|
extract_warning_lines($mysqld->value('log-error'), 1);
|
||||||
$testname_hash->{$_}= 1 for @$testlist;
|
$testname_hash->{$_}= 1 for @$testlist;
|
||||||
$report.= join('', @$match_lines);
|
$report.= join('', @$match_lines);
|
||||||
}
|
}
|
||||||
@@ -5073,7 +5073,7 @@ sub mysqld_start ($$) {
|
|||||||
# Remove the old pidfile if any
|
# Remove the old pidfile if any
|
||||||
unlink($mysqld->value('pid-file'));
|
unlink($mysqld->value('pid-file'));
|
||||||
|
|
||||||
my $output= $mysqld->value('#log-error');
|
my $output= $mysqld->value('log-error');
|
||||||
|
|
||||||
if ( $opt_valgrind and $opt_debug )
|
if ( $opt_valgrind and $opt_debug )
|
||||||
{
|
{
|
||||||
|
@@ -1,21 +0,0 @@
|
|||||||
select @@global.log_error;
|
|
||||||
@@global.log_error
|
|
||||||
|
|
||||||
select @@session.log_error;
|
|
||||||
ERROR HY000: Variable 'log_error' is a GLOBAL variable
|
|
||||||
show global variables like 'log_error';
|
|
||||||
Variable_name Value
|
|
||||||
log_error
|
|
||||||
show session variables like 'log_error';
|
|
||||||
Variable_name Value
|
|
||||||
log_error
|
|
||||||
select * from information_schema.global_variables where variable_name='log_error';
|
|
||||||
VARIABLE_NAME VARIABLE_VALUE
|
|
||||||
LOG_ERROR
|
|
||||||
select * from information_schema.session_variables where variable_name='log_error';
|
|
||||||
VARIABLE_NAME VARIABLE_VALUE
|
|
||||||
LOG_ERROR
|
|
||||||
set global log_error=1;
|
|
||||||
ERROR HY000: Variable 'log_error' is a read only variable
|
|
||||||
set session log_error=1;
|
|
||||||
ERROR HY000: Variable 'log_error' is a read only variable
|
|
@@ -1,6 +1,6 @@
|
|||||||
select (@err_log:=variable_value)*0 from information_schema.global_variables where variable_name="log_error";
|
select (@err_log:=variable_value)*0 from information_schema.global_variables where variable_name="log_error";
|
||||||
(@err_log:=variable_value)*0
|
(@err_log:=variable_value)*0
|
||||||
0
|
0
|
||||||
select instr(@err_log, "some_random_name5435413.err")>0;
|
select instr(@err_log, "mysqld.1.err")>0;
|
||||||
instr(@err_log, "some_random_name5435413.err")>0
|
instr(@err_log, "mysqld.1.err")>0
|
||||||
1
|
1
|
||||||
|
@@ -1817,8 +1817,8 @@ READ_ONLY NO
|
|||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
COMMAND_LINE_ARGUMENT OPTIONAL
|
||||||
VARIABLE_NAME LOG_ERROR
|
VARIABLE_NAME LOG_ERROR
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE
|
GLOBAL_VALUE PATH
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
GLOBAL_VALUE_ORIGIN CONFIG
|
||||||
DEFAULT_VALUE 0
|
DEFAULT_VALUE 0
|
||||||
VARIABLE_SCOPE GLOBAL
|
VARIABLE_SCOPE GLOBAL
|
||||||
VARIABLE_TYPE VARCHAR
|
VARIABLE_TYPE VARCHAR
|
||||||
|
@@ -1,18 +0,0 @@
|
|||||||
#
|
|
||||||
# only global
|
|
||||||
#
|
|
||||||
select @@global.log_error;
|
|
||||||
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
|
|
||||||
select @@session.log_error;
|
|
||||||
show global variables like 'log_error';
|
|
||||||
show session variables like 'log_error';
|
|
||||||
select * from information_schema.global_variables where variable_name='log_error';
|
|
||||||
select * from information_schema.session_variables where variable_name='log_error';
|
|
||||||
|
|
||||||
#
|
|
||||||
# show that it's read-only
|
|
||||||
#
|
|
||||||
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
|
|
||||||
set global log_error=1;
|
|
||||||
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
|
|
||||||
set session log_error=1;
|
|
@@ -1,5 +0,0 @@
|
|||||||
# Use default setting for mysqld processes
|
|
||||||
!include include/default_mysqld.cnf
|
|
||||||
|
|
||||||
[mysqld.1]
|
|
||||||
log-error=some_random_name5435413
|
|
@@ -1,10 +1,13 @@
|
|||||||
|
# embedded .cnf doesn't have log-error option
|
||||||
|
source include/not_embedded.inc;
|
||||||
|
|
||||||
# Test for BUG#51215 "log-error partially works with version 5.5"
|
# Test for BUG#51215 "log-error partially works with version 5.5"
|
||||||
# when --log-error is used without argument
|
# when --log-error is used without argument
|
||||||
|
|
||||||
# check displayed value. We can check only the base name, the rest
|
# check displayed value. We can check only the base name, the rest
|
||||||
# depends on paths, symbolic links, --vardir, etc...
|
# depends on paths, symbolic links, --vardir, etc...
|
||||||
select (@err_log:=variable_value)*0 from information_schema.global_variables where variable_name="log_error";
|
select (@err_log:=variable_value)*0 from information_schema.global_variables where variable_name="log_error";
|
||||||
select instr(@err_log, "some_random_name5435413.err")>0;
|
select instr(@err_log, "mysqld.1.err")>0;
|
||||||
|
|
||||||
# Check file's existence. The displayed value may be relative or not.
|
# Check file's existence. The displayed value may be relative or not.
|
||||||
let $err_log=`select @err_log`;
|
let $err_log=`select @err_log`;
|
||||||
|
@@ -1,5 +0,0 @@
|
|||||||
# Use default setting for mysqld processes
|
|
||||||
!include include/default_mysqld.cnf
|
|
||||||
|
|
||||||
[mysqld.1]
|
|
||||||
log-error
|
|
1
mysql-test/suite/sys_vars/t/log_error_func2.opt
Normal file
1
mysql-test/suite/sys_vars/t/log_error_func2.opt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
--log-error
|
1
mysql-test/suite/sys_vars/t/log_error_func3.opt
Normal file
1
mysql-test/suite/sys_vars/t/log_error_func3.opt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
--disable-log-error
|
@@ -18,7 +18,7 @@ FROM INFORMATION_SCHEMA.PLUGINS WHERE plugin_name = 'innodb';
|
|||||||
--source include/wait_until_disconnected.inc
|
--source include/wait_until_disconnected.inc
|
||||||
|
|
||||||
--error 1
|
--error 1
|
||||||
--exec $MYSQLD_CMD --innodb=force --innodb-page-size=6000
|
--exec $MYSQLD_CMD --innodb=force --innodb-page-size=6000 --disable-log-error
|
||||||
|
|
||||||
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||||
--enable_reconnect
|
--enable_reconnect
|
||||||
|
Reference in New Issue
Block a user