Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
32c86a48
Commit
32c86a48
authored
Oct 26, 2010
by
Bjorn Munch
Browse files
Options
Browse Files
Download
Plain Diff
merge from 5.5-mtr
parents
29f3d85d
56354413
Changes
24
Show whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
191 additions
and
53 deletions
+191
-53
client/mysqltest.cc
client/mysqltest.cc
+4
-4
mysql-test/extra/binlog_tests/implicit.test
mysql-test/extra/binlog_tests/implicit.test
+2
-2
mysql-test/extra/rpl_tests/create_recursive_construct.inc
mysql-test/extra/rpl_tests/create_recursive_construct.inc
+3
-3
mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test
...est/extra/rpl_tests/rpl_get_master_version_and_clock.test
+1
-1
mysql-test/extra/rpl_tests/rpl_loaddata.test
mysql-test/extra/rpl_tests/rpl_loaddata.test
+1
-1
mysql-test/include/check_concurrent_insert.inc
mysql-test/include/check_concurrent_insert.inc
+2
-2
mysql-test/include/check_no_concurrent_insert.inc
mysql-test/include/check_no_concurrent_insert.inc
+2
-2
mysql-test/include/get_relay_log_pos.inc
mysql-test/include/get_relay_log_pos.inc
+2
-2
mysql-test/include/kill_query.inc
mysql-test/include/kill_query.inc
+2
-2
mysql-test/include/kill_query_and_diff_master_slave.inc
mysql-test/include/kill_query_and_diff_master_slave.inc
+4
-4
mysql-test/include/setup_fake_relay_log.inc
mysql-test/include/setup_fake_relay_log.inc
+1
-1
mysql-test/include/show_events.inc
mysql-test/include/show_events.inc
+3
-1
mysql-test/include/show_rpl_debug_info.inc
mysql-test/include/show_rpl_debug_info.inc
+3
-3
mysql-test/include/wait_for_slave_io_error.inc
mysql-test/include/wait_for_slave_io_error.inc
+1
-1
mysql-test/include/wait_for_slave_param.inc
mysql-test/include/wait_for_slave_param.inc
+2
-2
mysql-test/include/wait_for_slave_sql_error.inc
mysql-test/include/wait_for_slave_sql_error.inc
+1
-1
mysql-test/include/wait_for_status_var.inc
mysql-test/include/wait_for_status_var.inc
+1
-1
mysql-test/lib/mtr_misc.pl
mysql-test/lib/mtr_misc.pl
+84
-0
mysql-test/lib/mtr_process.pl
mysql-test/lib/mtr_process.pl
+7
-3
mysql-test/mysql-test-run.pl
mysql-test/mysql-test-run.pl
+58
-10
mysql-test/suite/binlog/t/binlog_unsafe.test
mysql-test/suite/binlog/t/binlog_unsafe.test
+3
-3
mysql-test/suite/rpl/t/rpl_killed_ddl.test
mysql-test/suite/rpl/t/rpl_killed_ddl.test
+1
-1
mysql-test/t/mysqltest.test
mysql-test/t/mysqltest.test
+1
-1
mysql-test/t/wait_timeout.test
mysql-test/t/wait_timeout.test
+2
-2
No files found.
client/mysqltest.cc
View file @
32c86a48
...
...
@@ -5883,7 +5883,7 @@ int read_line(char *buf, int size)
/* Could be a multibyte character */
/* This code is based on the code in "sql_load.cc" */
#ifdef USE_MB
int
charlen
=
my_mbcharlen
(
charset_info
,
c
);
int
charlen
=
my_mbcharlen
(
charset_info
,
(
unsigned
char
)
c
);
/* We give up if multibyte character is started but not */
/* completed before we pass buf_end */
if
((
charlen
>
1
)
&&
(
p
+
charlen
)
<=
buf_end
)
...
...
@@ -5895,16 +5895,16 @@ int read_line(char *buf, int size)
for
(
i
=
1
;
i
<
charlen
;
i
++
)
{
c
=
my_getc
(
cur_file
->
file
);
if
(
feof
(
cur_file
->
file
))
goto
found_eof
;
c
=
my_getc
(
cur_file
->
file
);
*
p
++
=
c
;
}
if
(
!
my_ismbchar
(
charset_info
,
mb_start
,
p
))
{
/* It was not a multiline char, push back the characters */
/* We leave first 'c', i.e. pretend it was a normal char */
while
(
p
>
mb_start
)
while
(
p
-
1
>
mb_start
)
my_ungetc
(
*--
p
);
}
}
...
...
@@ -9965,6 +9965,7 @@ void free_pointer_array(POINTER_ARRAY *pa)
void
replace_dynstr_append_mem
(
DYNAMIC_STRING
*
ds
,
const
char
*
val
,
int
len
)
{
char
lower
[
512
];
#ifdef __WIN__
fix_win_paths
(
val
,
len
);
#endif
...
...
@@ -9972,7 +9973,6 @@ void replace_dynstr_append_mem(DYNAMIC_STRING *ds,
if
(
display_result_lower
)
{
/* Convert to lower case, and do this first */
char
lower
[
512
];
char
*
c
=
lower
;
for
(
const
char
*
v
=
val
;
*
v
;
v
++
)
*
c
++=
my_tolower
(
charset_info
,
*
v
);
...
...
mysql-test/extra/binlog_tests/implicit.test
View file @
32c86a48
...
...
@@ -6,7 +6,7 @@ INSERT INTO t1 VALUES (1);
source
include
/
show_binlog_events
.
inc
;
eval
$statement
;
source
include
/
show_binlog_events
.
inc
;
if
(
`select '$cleanup' != ''`
)
{
if
(
$cleanup
)
{
eval
$cleanup
;
}
...
...
@@ -22,7 +22,7 @@ INSERT INTO t1 VALUES (3);
source
include
/
show_binlog_events
.
inc
;
COMMIT
;
source
include
/
show_binlog_events
.
inc
;
if
(
`select '$cleanup' != ''`
)
{
if
(
$cleanup
)
{
eval
$cleanup
;
}
mysql-test/extra/rpl_tests/create_recursive_construct.inc
View file @
32c86a48
...
...
@@ -285,10 +285,10 @@ if (`SELECT $CRC_ARG_type = 7`) {
}
######## execute! ########
if
(
`SELECT '$CRC_RET_stmt_sidef' != ''`
)
{
if
(
$CRC_RET_stmt_sidef
)
{
--
echo
--
echo
Invoking
$CRC_RET_desc
.
if
(
`SELECT '$CRC_create' != ''`
)
{
if
(
$CRC_create
)
{
--
eval
$CRC_create
}
...
...
@@ -365,7 +365,7 @@ if (`SELECT '$CRC_RET_stmt_sidef' != ''`) {
# Invoke created object, discarding the return value. This should not
# give any warning.
if
(
`SELECT '$CRC_RET_sel_retval' != ''`
)
{
if
(
$CRC_RET_sel_retval
)
{
--
echo
*
Invoke
statement
so
that
return
value
is
dicarded
:
expect
no
warning
.
--
disable_result_log
--
eval
$CRC_RET_sel_retval
...
...
mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test
View file @
32c86a48
...
...
@@ -34,7 +34,7 @@
#
connection
slave
;
if
(
`SELECT $debug_sync_action = ''`
)
if
(
!
$debug_sync_action
)
{
--
die
Cannot
continue
.
Please
set
value
for
debug_sync_action
.
}
...
...
mysql-test/extra/rpl_tests/rpl_loaddata.test
View file @
32c86a48
...
...
@@ -25,7 +25,7 @@ CALL mtr.add_suppression("Unsafe statement written to the binary log using state
# MTR is not case-sensitive.
let
$lower_stmt_head
=
load
data
;
let
$UPPER_STMT_HEAD
=
LOAD
DATA
;
if
(
`SELECT '$lock_option' <> ''`
)
if
(
$lock_option
)
{
#if $lock_option is null, an extra blank is added into the statement,
#this will change the result of rpl_loaddata test case. so $lock_option
...
...
mysql-test/include/check_concurrent_insert.inc
View file @
32c86a48
...
...
@@ -23,7 +23,7 @@
# Reset DEBUG_SYNC facility for safety.
set
debug_sync
=
"RESET"
;
if
(
`SELECT '$restore_table' <> ''`
)
if
(
$restore_table
)
{
--
eval
create
temporary
table
t_backup
select
*
from
$restore_table
;
}
...
...
@@ -82,7 +82,7 @@ connection default;
--
eval
delete
from
$table
where
i
=
0
;
if (
`SELECT '
$restore_table
' <> '
'`
)
if
(
$restore_table
)
{
--
eval
truncate
table
$restore_table
;
--
eval
insert
into
$restore_table
select
*
from
t_backup
;
...
...
mysql-test/include/check_no_concurrent_insert.inc
View file @
32c86a48
...
...
@@ -23,7 +23,7 @@
# Reset DEBUG_SYNC facility for safety.
set
debug_sync
=
"RESET"
;
if
(
`SELECT '$restore_table' <> ''`
)
if
(
$restore_table
)
{
--
eval
create
temporary
table
t_backup
select
*
from
$restore_table
;
}
...
...
@@ -68,7 +68,7 @@ if (!$success)
--
eval
delete
from
$table
where
i
=
0
;
if (
`SELECT '
$restore_table
' <> '
'`
)
if
(
$restore_table
)
{
--
eval
truncate
table
$restore_table
;
--
eval
insert
into
$restore_table
select
*
from
t_backup
;
...
...
mysql-test/include/get_relay_log_pos.inc
View file @
32c86a48
...
...
@@ -10,12 +10,12 @@
# # at this point, get_relay_log_pos.inc sets $relay_log_pos. echo position
# # in $relay_log_file: $relay_log_pos.
if
(
`SELECT '$relay_log_file' = ''`
)
if
(
!
$relay_log_file
)
{
--
die
'variable $relay_log_file is null'
}
if
(
`SELECT '$master_log_pos' = ''`
)
if
(
!
$master_log_pos
)
{
--
die
'variable $master_log_pos is null'
}
...
...
mysql-test/include/kill_query.inc
View file @
32c86a48
...
...
@@ -44,7 +44,7 @@ connection master;
# kill the query that is waiting
eval
kill
query
$connection_id
;
if
(
`SELECT '$debug_lock' != ''`
)
if
(
$debug_lock
)
{
# release the lock to allow binlog continue
eval
SELECT
RELEASE_LOCK
(
$debug_lock
);
...
...
@@ -57,7 +57,7 @@ reap;
connection
master
;
if
(
`SELECT '$debug_lock' != ''`
)
if
(
$debug_lock
)
{
# get lock again to make the next query wait
eval
SELECT
GET_LOCK
(
$debug_lock
,
10
);
...
...
mysql-test/include/kill_query_and_diff_master_slave.inc
View file @
32c86a48
...
...
@@ -25,7 +25,7 @@ source include/kill_query.inc;
connection
master
;
disable_query_log
;
disable_result_log
;
if
(
`SELECT '$debug_lock' != ''`
)
if
(
$debug_lock
)
{
eval
SELECT
RELEASE_LOCK
(
$debug_lock
);
}
...
...
@@ -36,8 +36,8 @@ source include/diff_master_slave.inc;
# Acquire the debug lock again if used
connection
master
;
disable_query_log
;
disable_result_log
;
if
(
`SELECT '$debug_lock' !=
''`
)
{
eval
SELECT
GET_LOCK
(
$debug_lock
,
10
);
}
enable_result_log
;
enable_query_log
;
disable_query_log
;
disable_result_log
;
if
(
$debug_lock
)
{
eval
SELECT
GET_LOCK
(
$debug_lock
,
10
);
}
enable_
result_log
;
enable_
query_log
;
connection
$connection_name
;
mysql-test/include/setup_fake_relay_log.inc
View file @
32c86a48
...
...
@@ -56,7 +56,7 @@ if (`SELECT "$_sql_running" = "Yes" OR "$_io_running" = "Yes"`) {
# Read server variables.
let
$MYSQLD_DATADIR
=
`SELECT @@datadir`
;
let
$_fake_filename
=
query_get_value
(
SHOW
VARIABLES
LIKE
'relay_log'
,
Value
,
1
);
if
(
`SELECT '$_fake_filename' = ''`
)
{
if
(
!
$_fake_filename
)
{
--
echo
Badly
written
test
case
:
relay_log
variable
is
empty
.
Please
use
the
--echo server option --relay-log=FILE.
}
...
...
mysql-test/include/show_events.inc
View file @
32c86a48
...
...
@@ -18,13 +18,15 @@ if ($is_relay_log)
--
let
$_statement
=
show
relaylog
events
}
if
(
`SELECT '$binlog_file' <> ''`
)
if
(
$binlog_file
)
{
--
let
$_statement
=
$_statement
in
'$binlog_file'
}
--
let
$_statement
=
$_statement
from
$binlog_start
# Cannot use if($binlog_limit) since the variable may begin with a 0
if
(
`SELECT '$binlog_limit' <> ''`
)
{
--
let
$_statement
=
$_statement
limit
$binlog_limit
...
...
mysql-test/include/show_rpl_debug_info.inc
View file @
32c86a48
...
...
@@ -48,13 +48,13 @@ let $binlog_name= query_get_value("SHOW MASTER STATUS", File, 1);
eval
SHOW
BINLOG
EVENTS
IN
'$binlog_name'
;
let
$_master_con
=
$master_connection
;
if
(
`SELECT '$_master_con' = ''`
)
if
(
!
$_master_con
)
{
if
(
`SELECT '$_con' = 'slave'`
)
{
let
$_master_con
=
master
;
}
if
(
`SELECT '$_master_con' = ''`
)
if
(
!
$_master_con
)
{
--
echo
Unable
to
determine
master
connection
.
No
debug
info
printed
for
master
.
--
echo
Please
fix
the
test
case
by
setting
$master_connection
before
sourcing
...
...
@@ -62,7 +62,7 @@ if (`SELECT '$_master_con' = ''`)
}
}
if
(
`SELECT '$_master_con' != ''`
)
if
(
$_master_con
)
{
let
$master_binlog_name_io
=
query_get_value
(
"SHOW SLAVE STATUS"
,
Master_Log_File
,
1
);
...
...
mysql-test/include/wait_for_slave_io_error.inc
View file @
32c86a48
...
...
@@ -31,7 +31,7 @@
# $master_connection
# See wait_for_slave_param.inc for description.
if
(
`SELECT '$slave_io_errno' = ''`
)
{
if
(
!
$slave_io_errno
)
{
--
die
!!!
ERROR
IN
TEST
:
you
must
set
\
$slave_io_errno
before
sourcing
wait_for_slave_io_error
.
inc
}
...
...
mysql-test/include/wait_for_slave_param.inc
View file @
32c86a48
...
...
@@ -53,7 +53,7 @@ if (!$_slave_timeout_counter)
let
$slave_tcnt
=
$_slave_timeout_counter
;
let
$_slave_param_comparison
=
$slave_param_comparison
;
if
(
`SELECT '$_slave_param_comparison' = ''`
)
if
(
!
$_slave_param_comparison
)
{
let
$_slave_param_comparison
=
=
;
}
...
...
@@ -73,7 +73,7 @@ while (`SELECT NOT('$_show_slave_status_value' $_slave_param_comparison '$slave_
if
(
!
$_slave_timeout_counter
)
{
--
echo
****
ERROR
:
timeout
after
$slave_tcnt
deci
-
seconds
while
waiting
for
slave
parameter
$slave_param
$_slave_param_comparison
$slave_param_value
****
if
(
`SELECT '$slave_error_message' != ''`
)
if
(
$slave_error_message
)
{
--
echo
Message
:
$slave_error_message
}
...
...
mysql-test/include/wait_for_slave_sql_error.inc
View file @
32c86a48
...
...
@@ -24,7 +24,7 @@
# $master_connection
# See wait_for_slave_param.inc for description.
if
(
`SELECT '$slave_sql_errno' = ''`
)
{
if
(
!
$slave_sql_errno
)
{
--
die
!!!
ERROR
IN
TEST
:
you
must
set
\
$slave_sql_errno
before
sourcing
wait_for_slave_sql_error
.
inc
}
...
...
mysql-test/include/wait_for_status_var.inc
View file @
32c86a48
...
...
@@ -45,7 +45,7 @@ if (!$_status_timeout_counter)
}
let
$_status_var_comparsion
=
$status_var_comparsion
;
if
(
`SELECT '$_status_var_comparsion' = ''`
)
if
(
!
$_status_var_comparsion
)
{
let
$_status_var_comparsion
=
=
;
}
...
...
mysql-test/lib/mtr_misc.pl
View file @
32c86a48
...
...
@@ -33,6 +33,13 @@ sub mtr_exe_maybe_exists(@);
sub
mtr_milli_sleep
($);
sub
start_timer
($);
sub
has_expired
($);
sub
init_timers
();
sub
mark_time_used
($);
sub
add_total_times
($);
sub
print_times_used
($$);
sub
print_total_times
($);
our
$opt_report_times
;
##############################################################################
#
...
...
@@ -205,4 +212,81 @@ sub start_timer ($) { return time + $_[0]; }
sub
has_expired
($)
{
return
$_
[
0
]
&&
time
gt
$_
[
0
];
}
# Below code is for time usage reporting
use
Time::
HiRes
qw(gettimeofday)
;
my
%
time_used
=
(
'
collect
'
=>
0
,
'
restart
'
=>
0
,
'
check
'
=>
0
,
'
ch-warn
'
=>
0
,
'
test
'
=>
0
,
'
init
'
=>
0
,
);
my
%
time_text
=
(
'
collect
'
=>
"
Collecting test cases
",
'
restart
'
=>
"
Server stop/start
",
'
check
'
=>
"
Check-testcase
",
'
ch-warn
'
=>
"
Check for warnings
",
'
test
'
=>
"
Test execution
",
'
init
'
=>
"
Initialization etc.
",
);
# Counts number of reports from workers
my
$time_totals
=
0
;
my
$last_timer_set
;
sub
init_timers
()
{
$last_timer_set
=
gettimeofday
();
}
sub
mark_time_used
($)
{
my
(
$name
)
=
@_
;
return
unless
$opt_report_times
;
die
"
Unknown timer
$name
"
unless
exists
$time_used
{
$name
};
my
$curr_time
=
gettimeofday
();
$time_used
{
$name
}
+=
int
((
$curr_time
-
$last_timer_set
)
*
1000
+
.5
);
$last_timer_set
=
$curr_time
;
}
sub
add_total_times
($)
{
my
(
$dummy
,
$num
,
@line
)
=
split
("
",
$_
[
0
]);
$time_totals
++
;
foreach
my
$elem
(
@line
)
{
my
(
$name
,
$spent
)
=
split
("
:
",
$elem
);
$time_used
{
$name
}
+=
$spent
;
}
}
sub
print_times_used
($$)
{
my
(
$server
,
$num
)
=
@_
;
return
unless
$opt_report_times
;
my
$output
=
"
SPENT
$num
";
foreach
my
$name
(
keys
%
time_used
)
{
my
$spent
=
$time_used
{
$name
};
$output
.=
"
$name
:
$spent
";
}
print
$server
$output
.
"
\n
";
}
sub
print_total_times
($)
{
# Don't print if we haven't received all worker data
return
if
$time_totals
!=
$_
[
0
];
foreach
my
$name
(
keys
%
time_used
)
{
my
$spent
=
$time_used
{
$name
}
/
1000
;
my
$text
=
$time_text
{
$name
};
print
("
Spent
$spent
seconds on
$text
\n
");
}
}
1
;
mysql-test/lib/mtr_process.pl
View file @
32c86a48
...
...
@@ -116,18 +116,20 @@ sub sleep_until_file_created ($$$) {
return
1
;
}
my
$seconds
=
(
$loop
*
$sleeptime
)
/
1000
;
# Check if it died after the fork() was successful
if
(
defined
$proc
and
!
$proc
->
wait_one
(
0
)
)
{
mtr_warning
("
Process
$proc
died
");
mtr_warning
("
Process
$proc
died after mysql-test-run waited
$seconds
"
.
"
seconds for
$pidfile
to be created.
");
return
0
;
}
mtr_debug
("
Sleep
$sleeptime
milliseconds waiting for
$pidfile
");
# Print extra message every 60 seconds
my
$seconds
=
(
$loop
*
$sleeptime
)
/
1000
;
if
(
$seconds
>
1
and
int
(
$seconds
*
10
)
%
600
==
0
)
if
(
$seconds
>
1
&&
int
(
$seconds
*
10
)
%
600
==
0
&&
$seconds
<
$timeout
)
{
my
$left
=
$timeout
-
$seconds
;
mtr_warning
("
Waited
$seconds
seconds for
$pidfile
to be created,
"
.
...
...
@@ -138,6 +140,8 @@ sub sleep_until_file_created ($$$) {
}
mtr_warning
("
Timeout after mysql-test-run waited
$timeout
seconds
"
.
"
for the process
$proc
to create a pid file.
");
return
0
;
}
...
...
mysql-test/mysql-test-run.pl
View file @
32c86a48
...
...
@@ -201,6 +201,7 @@ sub using_extern { return (keys %opts_extern > 0);};
our
$opt_fast
=
0
;
our
$opt_force
;
our
$opt_mem
=
$ENV
{'
MTR_MEM
'};
our
$opt_clean_vardir
=
$ENV
{'
MTR_CLEAN_VARDIR
'};
our
$opt_gcov
;
our
$opt_gcov_exe
=
"
gcov
";
...
...
@@ -241,6 +242,7 @@ my $opt_skip_core;
our
$opt_check_testcases
=
1
;
my
$opt_mark_progress
;
my
$opt_max_connections
;
our
$opt_report_times
=
0
;
my
$opt_sleep
;
...
...
@@ -354,8 +356,11 @@ sub main {
}
}
init_timers
();
mtr_report
("
Collecting tests...
");
my
$tests
=
collect_test_cases
(
$opt_reorder
,
$opt_suites
,
\
@opt_cases
,
\
@opt_skip_test_list
);
mark_time_used
('
collect
');
if
(
$opt_report_features
)
{
# Put "report features" as the first test to run
...
...
@@ -424,6 +429,7 @@ sub main {
$opt_tmpdir
=
"
$opt_tmpdir
/
$child_num
";
}
init_timers
();
run_worker
(
$server_port
,
$child_num
);
exit
(
1
);
}
...
...
@@ -436,6 +442,8 @@ sub main {
mtr_print_thick_line
();
mtr_print_header
();
mark_time_used
('
init
');
my
$completed
=
run_test_server
(
$server
,
$tests
,
$opt_parallel
);
exit
(
0
)
if
$opt_start_exit
;
...
...
@@ -481,8 +489,12 @@ sub main {
$opt_gcov_msg
,
$opt_gcov_err
);
}
print_total_times
(
$opt_parallel
)
if
$opt_report_times
;
mtr_report_stats
("
Completed
",
$completed
);
remove_vardir_subs
()
if
$opt_clean_vardir
;
exit
(
0
);
}
...
...
@@ -613,13 +625,15 @@ sub run_test_server ($$$) {
if
(
$test_has_failed
and
$retries
<=
$opt_retry
){
# Test should be run one more time unless it has failed
# too many times already
my
$tname
=
$result
->
{
name
};
my
$failures
=
$result
->
{
failures
};
if
(
$opt_retry
>
1
and
$failures
>=
$opt_retry_failure
){
mtr_report
("
\n
Test has failed
$failures
times,
",
mtr_report
("
\n
Test
$tname
has failed
$failures
times,
",
"
no more retries!
\n
");
}
else
{
mtr_report
("
\n
Retrying test, attempt(
$retries
/
$opt_retry
)...
\n
");
mtr_report
("
\n
Retrying test
$tname
,
"
.
"
attempt(
$retries
/
$opt_retry
)...
\n
");
delete
(
$result
->
{
result
});
$result
->
{
retries
}
=
$retries
+
1
;
$result
->
write_test
(
$sock
,
'
TESTCASE
');
...
...
@@ -655,6 +669,9 @@ sub run_test_server ($$$) {
elsif
(
$line
eq
'
START
'){
;
# Send first test
}
elsif
(
$line
=~
/^SPENT/
)
{
add_total_times
(
$line
);
}
else
{
mtr_error
("
Unknown response: '
$line
' from client
");
}
...
...
@@ -786,7 +803,9 @@ sub run_worker ($) {
# Ask server for first test
print
$server
"
START
\n
";
while
(
my
$line
=
<
$server
>
){
mark_time_used
('
init
');
while
(
my
$line
=
<
$server
>
){
chomp
(
$line
);
if
(
$line
eq
'
TESTCASE
'){
my
$test
=
My::Test::
read_test
(
$server
);
...
...
@@ -804,16 +823,20 @@ sub run_worker ($) {
# Send it back, now with results set
#$test->print_test();
$test
->
write_test
(
$server
,
'
TESTRESULT
');
mark_time_used
('
restart
');
}
elsif
(
$line
eq
'
BYE
'){
mtr_report
("
Server said BYE
");
stop_all_servers
(
$opt_shutdown_timeout
);
mark_time_used
('
restart
');
if
(
$opt_valgrind_mysqld
)
{
valgrind_exit_reports
();
}
if
(
$opt_gprof
)
{
gprof_collect
(
find_mysqld
(
$basedir
),
keys
%
gprof_dirs
);
}
mark_time_used
('
init
');
print_times_used
(
$server
,
$thread_num
);
exit
(
0
);
}
else
{
...
...
@@ -954,6 +977,7 @@ sub command_line_setup {
'
tmpdir=s
'
=>
\
$opt_tmpdir
,
'
vardir=s
'
=>
\
$opt_vardir
,
'
mem
'
=>
\
$opt_mem
,
'
clean-vardir
'
=>
\
$opt_clean_vardir
,
'
client-bindir=s
'
=>
\
$path_client_bindir
,
'
client-libdir=s
'
=>
\
$path_client_libdir
,
...
...
@@ -986,6 +1010,7 @@ sub command_line_setup {
'
timediff
'
=>
\&
report_option
,
'
max-connections=i
'
=>
\
$opt_max_connections
,
'
default-myisam!
'
=>
\&
collect_option
,
'
report-times
'
=>
\
$opt_report_times
,
'
help|h
'
=>
\
$opt_usage
,
'
list-options
'
=>
\
$opt_list_options
,
...
...
@@ -2256,6 +2281,12 @@ sub environment_setup {
}
sub
remove_vardir_subs
()
{
foreach
my
$sdir
(
glob
("
$opt_vardir
/*
")
)
{
mtr_verbose
("
Removing subdir
$sdir
");
rmtree
(
$sdir
);
}
}
#
# Remove var and any directories in var/ created by previous
...
...
@@ -2300,11 +2331,7 @@ sub remove_stale_vardir () {
mtr_error
("
The destination for symlink
$opt_vardir
does not exist
")
if
!
-
d
readlink
(
$opt_vardir
);
foreach
my
$bin
(
glob
("
$opt_vardir
/*
")
)
{
mtr_verbose
("
Removing bin
$bin
");
rmtree
(
$bin
);
}
remove_vardir_subs
();
}
}
else
...
...
@@ -3222,6 +3249,7 @@ sub check_testcase($$)
if
(
keys
(
%
started
)
==
0
){
# All checks completed
mark_time_used
('
check
');
return
0
;
}
# Wait for next process to exit
...
...
@@ -3237,7 +3265,8 @@ sub check_testcase($$)
"
\n
MTR's internal check of the test case '
$tname
' failed.
This means that the test case does not preserve the state that existed
before the test case was executed. Most likely the test case did not
do a proper clean-up.
do a proper clean-up. It could also be caused by the previous test run
by this thread, if the server wasn't restarted.
This is the diff of the states of the servers before and after the
test case was executed:
\n
";
$tinfo
->
{
check
}
.=
$report
;
...
...
@@ -3279,6 +3308,11 @@ test case was executed:\n";
# Kill any check processes still running
map
(
$_
->
kill
(),
values
(
%
started
));
mtr_warning
("
Check-testcase failed, this could also be caused by the
"
.
"
previous test run by this worker thread
")
if
$result
>
1
&&
$mode
eq
"
before
";
mark_time_used
('
check
');
return
$result
;
}
...
...
@@ -3588,6 +3622,7 @@ sub run_testcase ($) {
return
1
;
}
}
mark_time_used
('
restart
');
# --------------------------------------------------------------------
# If --start or --start-dirty given, stop here to let user manually
...
...
@@ -3640,6 +3675,8 @@ sub run_testcase ($) {
do_before_run_mysqltest
(
$tinfo
);
mark_time_used
('
init
');
if
(
$opt_check_testcases
and
check_testcase
(
$tinfo
,
"
before
")
){
# Failed to record state of server or server crashed
report_failure_and_restart
(
$tinfo
);
...
...
@@ -3686,6 +3723,7 @@ sub run_testcase ($) {
}
mtr_verbose
("
Got
$proc
");
mark_time_used
('
test
');
# ----------------------------------------------------
# Was it the test program that exited
# ----------------------------------------------------
...
...
@@ -3912,7 +3950,9 @@ sub get_log_from_proc ($$) {
foreach
my
$mysqld
(
mysqlds
())
{
if
(
$mysqld
->
{
proc
}
eq
$proc
)
{
my
@srv_lines
=
extract_server_log
(
$mysqld
->
value
('
#log-error
'),
$name
);
$srv_log
=
"
\n
Server log from this test:
\n
"
.
join
("",
@srv_lines
);
$srv_log
=
"
\n
Server log from this test:
\n
"
.
"
----------SERVER LOG START-----------
\n
"
.
join
("",
@srv_lines
)
.
"
----------SERVER LOG END-------------
\n
";
last
;
}
}
...
...
@@ -4089,6 +4129,7 @@ sub check_warnings ($) {
if
(
keys
(
%
started
)
==
0
){
# All checks completed
mark_time_used
('
ch-warn
');
return
$result
;
}
# Wait for next process to exit
...
...
@@ -4121,6 +4162,7 @@ sub check_warnings ($) {
# Kill any check processes still running
map
(
$_
->
kill
(),
values
(
%
started
));
mark_time_used
('
ch-warn
');
return
$result
;
}
...
...
@@ -5084,6 +5126,8 @@ sub start_mysqltest ($) {
my
$exe
=
$exe_mysqltest
;
my
$args
;
mark_time_used
('
init
');
mtr_init_args
(
\
$args
);
mtr_add_arg
(
$args
,
"
--defaults-file=%s
",
$path_config_file
);
...
...
@@ -5565,6 +5609,8 @@ Options to control directories to use
for tmpfs (/dev/shm)
The option can also be set using environment
variable MTR_MEM=[DIR]
clean-vardir Clean vardir if tests were successful and if
running in "memory". Otherwise this option is ignored
client-bindir=PATH Path to the directory where client binaries are located
client-libdir=PATH Path to the directory where client libraries are located
...
...
@@ -5724,6 +5770,8 @@ Misc options
default-myisam Set default storage engine to MyISAM for non-innodb
tests. This is needed after switching default storage
engine to InnoDB.
report-times Report how much time has been spent on different
phases of test execution.
HERE
exit
(
1
);
...
...
mysql-test/suite/binlog/t/binlog_unsafe.test
View file @
32c86a48
...
...
@@ -321,7 +321,7 @@ while (`SELECT $unsafe_type < 9`) {
--
source
extra
/
rpl_tests
/
create_recursive_construct
.
inc
# Drop created object.
if
(
`SELECT '$drop_3' != ''`
)
{
if
(
$drop_3
)
{
--
eval
$drop_3
}
--
inc
$call_type_3
...
...
@@ -330,7 +330,7 @@ while (`SELECT $unsafe_type < 9`) {
}
# if (!is_toplevel_2)
# Drop created object.
if
(
`SELECT '$drop_2' != ''`
)
{
if
(
$drop_2
)
{
--
eval
$drop_2
}
--
inc
$call_type_2
...
...
@@ -338,7 +338,7 @@ while (`SELECT $unsafe_type < 9`) {
}
# if (!is_toplevel_1)
# Drop created object.
if
(
`SELECT '$drop_1' != ''`
)
{
if
(
$drop_1
)
{
--
eval
$drop_1
}
--
inc
$call_type_1
...
...
mysql-test/suite/rpl/t/rpl_killed_ddl.test
View file @
32c86a48
...
...
@@ -119,7 +119,7 @@ echo [on master];
# This will block the execution of a statement at the DBUG_SYNC_POINT
# with given lock name
if
(
`SELECT '$debug_lock' != ''`
)
if
(
$debug_lock
)
{
disable_query_log
;
disable_result_log
;
...
...
mysql-test/t/mysqltest.test
View file @
32c86a48
...
...
@@ -331,7 +331,7 @@ eval select $mysql_errno as "after_!errno_masked_error" ;
--
exec
illegal_command
--
cat_file
does_not_exist
--
perl
exit
(
1
);
exit
(
2
);
EOF
# ----------------------------------------------------------------------------
...
...
mysql-test/t/wait_timeout.test
View file @
32c86a48
...
...
@@ -53,7 +53,7 @@ while (!`select @aborted_clients`)
dec
$retries
;
if
(
!
$retries
)
{
Failed
to
detect
that
client
has
been
aborted
;
die
Failed
to
detect
that
client
has
been
aborted
;
}
}
--
enable_query_log
...
...
@@ -108,7 +108,7 @@ while (!`select @aborted_clients`)
dec
$retries
;
if
(
!
$retries
)
{
Failed
to
detect
that
client
has
been
aborted
;
die
Failed
to
detect
that
client
has
been
aborted
;
}
}
--
enable_query_log
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment