mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
upmerge 55178,55413
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
[MYSQL]
|
||||
post_commit_to = "commits@lists.mysql.com"
|
||||
post_push_to = "commits@lists.mysql.com"
|
||||
tree_name = "mysql-5.5"
|
||||
tree_name = "mysql-5.5-mtr"
|
||||
|
@ -5255,8 +5255,10 @@ void do_connect(struct st_command *command)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef EMBEDDED_LIBRARY
|
||||
if (opt_protocol)
|
||||
mysql_options(&con_slot->mysql, MYSQL_OPT_PROTOCOL, (char*) &opt_protocol);
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_SMEM
|
||||
if (con_shm)
|
||||
@ -5542,6 +5544,8 @@ int read_line(char *buf, int size)
|
||||
char c, UNINIT_VAR(last_quote), last_char= 0;
|
||||
char *p= buf, *buf_end= buf + size - 1;
|
||||
int skip_char= 0;
|
||||
my_bool have_slash= FALSE;
|
||||
|
||||
enum {R_NORMAL, R_Q, R_SLASH_IN_Q,
|
||||
R_COMMENT, R_LINE_START} state= R_LINE_START;
|
||||
DBUG_ENTER("read_line");
|
||||
@ -5612,10 +5616,14 @@ int read_line(char *buf, int size)
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
else if (c == '\'' || c == '"' || c == '`')
|
||||
{
|
||||
if (! have_slash)
|
||||
{
|
||||
last_quote= c;
|
||||
state= R_Q;
|
||||
}
|
||||
}
|
||||
have_slash= (c == '\\');
|
||||
break;
|
||||
|
||||
case R_COMMENT:
|
||||
@ -6228,8 +6236,10 @@ get_one_option(int optid, const struct my_option *opt, char *argument)
|
||||
print_version();
|
||||
exit(0);
|
||||
case OPT_MYSQL_PROTOCOL:
|
||||
#ifndef EMBEDDED_LIBRARY
|
||||
opt_protocol= find_type_or_exit(argument, &sql_protocol_typelib,
|
||||
opt->name);
|
||||
#endif
|
||||
break;
|
||||
case '?':
|
||||
usage();
|
||||
@ -7982,8 +7992,10 @@ int main(int argc, char **argv)
|
||||
mysql_options(&con->mysql, MYSQL_SET_CHARSET_DIR,
|
||||
opt_charsets_dir);
|
||||
|
||||
#ifndef EMBEDDED_LIBRARY
|
||||
if (opt_protocol)
|
||||
mysql_options(&con->mysql,MYSQL_OPT_PROTOCOL,(char*)&opt_protocol);
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
|
||||
|
||||
|
@ -701,6 +701,13 @@ sub process_opts_file {
|
||||
next;
|
||||
}
|
||||
|
||||
$value= mtr_match_prefix($opt, "--testcase-timeout=");
|
||||
if ( defined $value ) {
|
||||
# Overrides test case timeout for this test
|
||||
$tinfo->{'case-timeout'}= $value;
|
||||
next;
|
||||
}
|
||||
|
||||
# Ok, this was a real option, add it
|
||||
push(@{$tinfo->{$opt_name}}, $opt);
|
||||
}
|
||||
|
@ -231,7 +231,6 @@ my $opt_suite_timeout = $ENV{MTR_SUITE_TIMEOUT} || 300; # minutes
|
||||
my $opt_shutdown_timeout= $ENV{MTR_SHUTDOWN_TIMEOUT} || 10; # seconds
|
||||
my $opt_start_timeout = $ENV{MTR_START_TIMEOUT} || 180; # seconds
|
||||
|
||||
sub testcase_timeout { return $opt_testcase_timeout * 60; };
|
||||
sub suite_timeout { return $opt_suite_timeout * 60; };
|
||||
sub check_timeout { return $opt_testcase_timeout * 6; };
|
||||
|
||||
@ -260,6 +259,17 @@ my $opt_callgrind;
|
||||
my %mysqld_logs;
|
||||
my $opt_debug_sync_timeout= 300; # Default timeout for WAIT_FOR actions.
|
||||
|
||||
sub testcase_timeout ($) {
|
||||
my ($tinfo)= @_;
|
||||
if (exists $tinfo->{'case-timeout'}) {
|
||||
# Return test specific timeout if *longer* that the general timeout
|
||||
my $test_to= $tinfo->{'case-timeout'};
|
||||
$test_to*= 10 if $opt_valgrind;
|
||||
return $test_to * 60 if $test_to > $opt_testcase_timeout;
|
||||
}
|
||||
return $opt_testcase_timeout * 60;
|
||||
}
|
||||
|
||||
our $opt_warnings= 1;
|
||||
|
||||
our $opt_skip_ndbcluster= 0;
|
||||
@ -3552,7 +3562,7 @@ sub run_testcase ($) {
|
||||
}
|
||||
}
|
||||
|
||||
my $test_timeout= start_timer(testcase_timeout());
|
||||
my $test_timeout= start_timer(testcase_timeout($tinfo));
|
||||
|
||||
do_before_run_mysqltest($tinfo);
|
||||
|
||||
@ -3752,7 +3762,7 @@ sub run_testcase ($) {
|
||||
{
|
||||
my $log_file_name= $opt_vardir."/log/".$tinfo->{shortname}.".log";
|
||||
$tinfo->{comment}=
|
||||
"Test case timeout after ".testcase_timeout().
|
||||
"Test case timeout after ".testcase_timeout($tinfo).
|
||||
" seconds\n\n";
|
||||
# Add 20 last executed commands from test case log file
|
||||
if (-e $log_file_name)
|
||||
@ -3761,7 +3771,7 @@ sub run_testcase ($) {
|
||||
"== $log_file_name == \n".
|
||||
mtr_lastlinesfromfile($log_file_name, 20)."\n";
|
||||
}
|
||||
$tinfo->{'timeout'}= testcase_timeout(); # Mark as timeout
|
||||
$tinfo->{'timeout'}= testcase_timeout($tinfo); # Mark as timeout
|
||||
run_on_all($tinfo, 'analyze-timeout');
|
||||
|
||||
report_failure_and_restart($tinfo);
|
||||
|
@ -262,6 +262,9 @@ a long \$where variable content
|
||||
|
||||
banana = banana
|
||||
Not a banana: ba\$cat\$cat
|
||||
with\`some"escaped\'quotes
|
||||
with\`some"escaped\'quotes
|
||||
single'tick`backtick
|
||||
mysqltest: At line 1: Missing arguments to let
|
||||
mysqltest: At line 1: Missing variable name in let
|
||||
mysqltest: At line 1: Missing assignment operator in let
|
||||
|
@ -701,6 +701,16 @@ echo banana = $cat;
|
||||
let $cat=ba\\\$cat\\\$cat;
|
||||
echo Not a banana: $cat;
|
||||
|
||||
# Bug #55413 would cause this to fail
|
||||
let $escape= with\`some\"escaped\'quotes;
|
||||
echo $escape;
|
||||
|
||||
--let $escape= with\`some\"escaped\'quotes
|
||||
echo $escape;
|
||||
|
||||
# This only works with "--let" syntax
|
||||
--let $tick= single'tick`backtick
|
||||
echo $tick;
|
||||
|
||||
# Test illegal uses of let
|
||||
|
||||
|
Reference in New Issue
Block a user