#At file:///home/bm136801/my/merge-tr/ based on revid:wlad@stripped
3401 Bjorn Munch 2010-11-27 [merge]
merge from trunk-mtr
modified:
client/mysqltest.cc
mysql-test/extra/rpl_tests/rpl_change_master.test
mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test
mysql-test/extra/rpl_tests/rpl_implicit_commit_binlog.test
mysql-test/include/restart_mysqld.inc
mysql-test/lib/mtr_cases.pm
mysql-test/mysql-test-run.pl
mysql-test/r/mysqltest.result
mysql-test/suite/binlog/t/binlog_max_extension.test
mysql-test/suite/rpl/t/rpl_heartbeat_basic.test
mysql-test/suite/rpl/t/rpl_migration_crash_safe.test
mysql-test/suite/rpl/t/rpl_trigger.test
mysql-test/t/mysqltest.test
mysql-test/t/server_uuid_embedded.test
=== modified file 'client/mysqltest.cc'
--- a/client/mysqltest.cc 2010-11-26 13:46:21 +0000
+++ b/client/mysqltest.cc 2010-11-27 11:34:31 +0000
@@ -5689,6 +5689,17 @@ void do_block(enum block_cmd cmd, struct
while (my_isspace(charset_info, *curr_ptr))
curr_ptr++;
+ /* Strip off trailing white space */
+ while (my_isspace(charset_info, expr_end[-1]))
+ expr_end--;
+ /* strip off ' or " around the string */
+ if (*curr_ptr == '\'' || *curr_ptr == '"')
+ {
+ if (expr_end[-1] != *curr_ptr)
+ die("Unterminated string value");
+ curr_ptr++;
+ expr_end--;
+ }
VAR v2;
var_init(&v2,0,0,0,0);
eval_expr(&v2, curr_ptr, &expr_end);
=== modified file 'mysql-test/extra/rpl_tests/rpl_change_master.test'
--- a/mysql-test/extra/rpl_tests/rpl_change_master.test 2010-11-25 11:20:16 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_change_master.test 2010-11-27 11:34:31 +0000
@@ -207,16 +207,12 @@ if ($retry_count_before != $retry_count_
## Server restart persisting test
--echo ### stop slave server
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
-wait
-EOF
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
--shutdown_server 10
--source include/wait_until_disconnected.inc
--echo ### start slave server
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
-restart
-EOF
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
@@ -266,16 +262,12 @@ if (`SELECT $retry_count6 <> $retry_coun
-- let $ignore_new_value= query_get_value(SHOW SLAVE STATUS, Replicate_Ignore_Server_Ids, 1)
--echo ### stop slave server
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
-wait
-EOF
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
--shutdown_server 10
--source include/wait_until_disconnected.inc
--echo ### start slave server
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
-restart
-EOF
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
=== modified file 'mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test'
--- a/mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test 2010-10-21 13:25:40 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test 2010-11-26 13:39:15 +0000
@@ -53,9 +53,7 @@ source include/wait_for_slave_to_start.i
connection master;
# Write file to make mysql-test-run.pl expect the "crash", but don't start
# it until it's told to
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait
-EOF
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
# Send shutdown to the connected server and give
# it 10 seconds to die before zapping it
@@ -85,9 +83,7 @@ source include/wait_for_slave_io_error.i
eval set @@global.debug = "-d,$dbug_sync_point";
# Write file to make mysql-test-run.pl start up the server again
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart
-EOF
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
connection master;
# Turn on reconnect
=== modified file 'mysql-test/extra/rpl_tests/rpl_implicit_commit_binlog.test'
--- a/mysql-test/extra/rpl_tests/rpl_implicit_commit_binlog.test 2010-11-17 10:23:22 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_implicit_commit_binlog.test 2010-11-26 10:16:23 +0000
@@ -36,8 +36,8 @@ let $ddl_cases= 41;
while ($ddl_cases >= 1)
{
--echo -b-b-b-b-b-b-b-b-b-b-b- >> << -b-b-b-b-b-b-b-b-b-b-b-
- let $in_temporary= "no";
- let $ok= "yes";
+ let $in_temporary= no;
+ let $ok= yes;
#
# In SBR and MIXED modes, the commit event is usually the third event in the
# binary log:
@@ -91,7 +91,7 @@ while ($ddl_cases >= 1)
{
# This seems to be related to epochs.
# We need to check this against an updated version or avoid it.
- let $ok= "no";
+ let $ok= no;
let $commit_event_row_number= 6;
}
}
@@ -356,7 +356,7 @@ while ($ddl_cases >= 1)
if ($ddl_cases == 11)
{
let $cmd= CREATE TEMPORARY TABLE tt_xx (a int);
- let $in_temporary= "yes";
+ let $in_temporary= yes;
# In SBR and MIXED modes, the DDL statement is written to the binary log but
# does not commit the current transaction.
#
@@ -478,7 +478,7 @@ while ($ddl_cases >= 1)
if ($ddl_cases == 8)
{
let $cmd= DROP TEMPORARY TABLE IF EXISTS new_tt_xx;
- let $in_temporary= "yes";
+ let $in_temporary= yes;
#
# In SBR and MIXED modes, the DDL statement is written to the binary log
# but does not commit the current transaction:
@@ -618,14 +618,14 @@ while ($ddl_cases >= 1)
# commit. The flag in_temporary is used to avoid aborting the test in such
# cases. Thus we force the commit.
#
- if ($in_temporary == "yes")
+ if ($in_temporary == yes)
{
--eval COMMIT
}
let $event_commit= query_get_value("SHOW BINLOG EVENTS FROM $first_binlog_position", Info, $commit_event_row_number);
if (`SELECT SUBSTRING("$event_commit",1,6) != "COMMIT"`)
{
- if ($ok == "yes")
+ if ($ok == yes)
{
--echo it *does not* commit the current transaction.
--echo $cmd
=== modified file 'mysql-test/include/restart_mysqld.inc'
--- a/mysql-test/include/restart_mysqld.inc 2008-12-25 09:53:24 +0000
+++ b/mysql-test/include/restart_mysqld.inc 2010-11-26 12:59:39 +0000
@@ -1,18 +1,14 @@
# Write file to make mysql-test-run.pl expect the "crash", but don't start
# it until it's told to
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait
-EOF
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
# Send shutdown to the connected server and give
# it 10 seconds to die before zapping it
shutdown_server 10;
# Write file to make mysql-test-run.pl start up the server again
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart
-EOF
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
# Turn on reconnect
--enable_reconnect
=== modified file 'mysql-test/lib/mtr_cases.pm'
--- a/mysql-test/lib/mtr_cases.pm 2010-11-19 10:38:08 +0000
+++ b/mysql-test/lib/mtr_cases.pm 2010-11-27 11:34:31 +0000
@@ -150,7 +150,7 @@ sub collect_test_cases ($$$$) {
{
last unless $opt_reorder;
# test->{name} is always in suite.name format
- if ( $test->{name} =~ /.*\.$tname/ )
+ if ( $test->{name} =~ /^$sname.*\.$tname$/ )
{
$found= 1;
last;
=== modified file 'mysql-test/mysql-test-run.pl'
--- a/mysql-test/mysql-test-run.pl 2010-11-19 10:38:08 +0000
+++ b/mysql-test/mysql-test-run.pl 2010-11-27 11:34:31 +0000
@@ -608,7 +608,10 @@ sub run_test_server ($$$) {
if ( !$opt_force ) {
# Test has failed, force is off
push(@$completed, $result);
- return $completed;
+ return $completed unless $result->{'dont_kill_server'};
+ # Prevent kill of server, to get valgrind report
+ print $sock "BYE\n";
+ next;
}
elsif ($opt_max_test_fail > 0 and
$num_failed_test >= $opt_max_test_fail) {
@@ -855,15 +858,16 @@ sub run_worker ($) {
mtr_report("Server said BYE");
stop_all_servers($opt_shutdown_timeout);
mark_time_used('restart');
+ my $valgrind_reports= 0;
if ($opt_valgrind_mysqld) {
- valgrind_exit_reports();
+ $valgrind_reports= 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);
+ exit($valgrind_reports);
}
else {
mtr_error("Could not understand server, '$line'");
@@ -3848,7 +3852,6 @@ sub run_testcase ($) {
# ----------------------------------------------------
# Check if it was an expected crash
# ----------------------------------------------------
- SRVDIED:
my $check_crash = check_expected_crash_and_restart($proc);
if ($check_crash)
{
@@ -3858,6 +3861,7 @@ sub run_testcase ($) {
next;
}
+ SRVDIED:
# ----------------------------------------------------
# Stop the test case timer
# ----------------------------------------------------
@@ -4388,7 +4392,12 @@ sub after_failure ($) {
sub report_failure_and_restart ($) {
my $tinfo= shift;
- stop_all_servers();
+ if ($opt_valgrind_mysqld && ($tinfo->{'warnings'} || $tinfo->{'timeout'})) {
+ # In these cases we may want valgrind report from normal termination
+ $tinfo->{'dont_kill_server'}= 1;
+ }
+ # Shotdown properly if not to be killed (for valgrind)
+ stop_all_servers($tinfo->{'dont_kill_server'} ? $opt_shutdown_timeout : 0);
$tinfo->{'result'}= 'MTR_RES_FAILED';
@@ -5556,6 +5565,8 @@ sub valgrind_arguments {
#
sub valgrind_exit_reports() {
+ my $found_err= 0;
+
foreach my $log_file (keys %mysqld_logs)
{
my @culprits= ();
@@ -5591,7 +5602,7 @@ sub valgrind_exit_reports() {
next;
}
# This line marks the start of a valgrind report
- $found_report= 1 if $line =~ /ERROR SUMMARY:/;
+ $found_report= 1 if $line =~ /^==\d+== .* SUMMARY:/;
if ($found_report) {
$line=~ s/^==\d+== //;
@@ -5608,8 +5619,11 @@ sub valgrind_exit_reports() {
mtr_print ("Valgrind report from $log_file after tests:\n", @culprits);
mtr_print_line();
print ("$valgrind_rep\n");
+ $found_err= 1;
}
}
+
+ return $found_err;
}
#
=== modified file 'mysql-test/r/mysqltest.result'
--- a/mysql-test/r/mysqltest.result 2010-11-18 17:03:16 +0000
+++ b/mysql-test/r/mysqltest.result 2010-11-26 10:16:23 +0000
@@ -423,7 +423,10 @@ while with string, only once
hello == hello
hello == hello
hello != goodbye
+'quoted' == ''quoted''
two words
+'two words'
+"two words"
two words are two words
right answer
anything goes
=== modified file 'mysql-test/suite/binlog/t/binlog_max_extension.test'
--- a/mysql-test/suite/binlog/t/binlog_max_extension.test 2009-11-22 03:59:48 +0000
+++ b/mysql-test/suite/binlog/t/binlog_max_extension.test 2010-11-26 13:30:22 +0000
@@ -38,9 +38,7 @@ RESET MASTER;
##########
# 1. Stop master server
--- write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait
-EOF
+-- exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-- shutdown_server 10
-- source include/wait_until_disconnected.inc
@@ -52,9 +50,7 @@ master-bin.2147483646
EOF
# 3. Restart the server
--- append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart
-EOF
+-- exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-- enable_reconnect
-- source include/wait_until_connected_again.inc
@@ -70,9 +66,7 @@ FLUSH LOGS;
##############
# 1. Stop the server
--- write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait
-EOF
+-- exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-- shutdown_server 10
-- source include/wait_until_disconnected.inc
@@ -85,8 +79,6 @@ EOF
-- remove_file $MYSQLD_DATADIR/master-bin.2147483647
# 3. Restart the server
--- append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart
-EOF
+-- exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-- enable_reconnect
-- source include/wait_until_connected_again.inc
=== modified file 'mysql-test/suite/rpl/t/rpl_heartbeat_basic.test'
--- a/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test 2010-08-26 16:37:57 +0000
+++ b/mysql-test/suite/rpl/t/rpl_heartbeat_basic.test 2010-11-26 13:39:15 +0000
@@ -153,15 +153,11 @@ SET @@global.slave_net_timeout=50;
--enable_warnings
--replace_result $MASTER_MYPORT MASTER_PORT
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$MASTER_MYPORT, MASTER_USER='root', MASTER_HEARTBEAT_PERIOD=30;
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
-wait
-EOF
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
--echo Reload slave
--shutdown_server 10
--source include/wait_until_disconnected.inc
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
-restart
-EOF
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
SHOW GLOBAL STATUS LIKE 'slave_heartbeat_period';
@@ -456,15 +452,11 @@ let $status_var_comparsion= >;
--source include/wait_for_status_var.inc
--echo Heartbeat event received
--connection master
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait
-EOF
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--echo Reload master
--shutdown_server 10
--source include/wait_until_disconnected.inc
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart
-EOF
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
--connection slave
=== modified file 'mysql-test/suite/rpl/t/rpl_migration_crash_safe.test'
--- a/mysql-test/suite/rpl/t/rpl_migration_crash_safe.test 2010-11-02 17:58:52 +0000
+++ b/mysql-test/suite/rpl/t/rpl_migration_crash_safe.test 2010-11-27 11:34:31 +0000
@@ -67,9 +67,7 @@ INSERT INTO test VALUES (1), (2), (3);
--connection slave
--echo ### stop slave server
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
-wait
-EOF
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
--shutdown_server 10
--source include/wait_until_disconnected.inc
@@ -98,9 +96,7 @@ file_exists $MYSQLD_DATADIR/relay-log.in
--connection slave
--echo ### stop slave server
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
-wait
-EOF
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.2.expect
--shutdown_server 10
--source include/wait_until_disconnected.inc
=== modified file 'mysql-test/suite/rpl/t/rpl_trigger.test'
--- a/mysql-test/suite/rpl/t/rpl_trigger.test 2010-04-29 11:20:36 +0000
+++ b/mysql-test/suite/rpl/t/rpl_trigger.test 2010-11-26 13:39:15 +0000
@@ -315,9 +315,7 @@ FLUSH LOGS;
# Stop master server
--echo --> Stop master server
---write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-wait
-EOF
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--shutdown_server 10
--source include/wait_until_disconnected.inc
# Replace binlog
@@ -325,9 +323,7 @@ remove_file $MYSQLD_DATADIR/master-bin.0
copy_file $MYSQL_TEST_DIR/std_data/bug16266.000001 $MYSQLD_DATADIR/master-bin.000001;
--echo --> Start master server
---append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-restart
-EOF
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
let $binlog_version= query_get_value(SHOW BINLOG EVENTS, Info, 1);
=== modified file 'mysql-test/t/mysqltest.test'
--- a/mysql-test/t/mysqltest.test 2010-11-18 17:03:16 +0000
+++ b/mysql-test/t/mysqltest.test 2010-11-26 10:16:23 +0000
@@ -1276,12 +1276,24 @@ if ($ifvar != goodbye)
{
echo hello != goodbye;
}
-
+let $ifvar= 'quoted';
+if ($ifvar == ''quoted'')
+{
+ echo 'quoted' == ''quoted'';
+}
let $ifvar= two words;
if ($ifvar == two words)
{
echo two words;
}
+if ($ifvar == 'two words')
+{
+ echo 'two words';
+}
+if ($ifvar == "two words")
+{
+ echo "two words";
+}
if ($ifvar == `SELECT 'two words'`)
{
echo two words are two words;
=== modified file 'mysql-test/t/server_uuid_embedded.test'
--- a/mysql-test/t/server_uuid_embedded.test 2010-10-21 12:36:16 +0000
+++ b/mysql-test/t/server_uuid_embedded.test 2010-11-24 13:30:12 +0000
@@ -25,7 +25,8 @@ SET GLOBAL SERVER_UUID= UUID();
--echo # SERVER_UUID is not null
--echo -----------------------------------------------------------------------------
--let $server_uuid= query_get_value(SELECT @@SERVER_UUID, @@SERVER_UUID, 1)
-if (!$server_uuid)
+# Cannot use !$server_uuid since it may begin with 0
+if ($server_uuid == '')
{
--echo server's UUID is null
}
No bundle (reason: revision is a merge).
| Thread |
|---|
| • bzr commit into mysql-trunk-bugfixing branch (bjorn.munch:3401) | Bjorn Munch | 27 Nov |