mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Added option --mtr-build-thread to mysql-test-run.pl
Load shared libraries from zlib (fixed that mysql-test-run.pl didn't work on some Solaris boxes) Added connect timeout to test to make im_daemon_life_cycle more predictable mysql-test/mysql-test-run.pl: Added option --mtr-build-thread Load shared libraries from zlib (fixed that mysql-test-run.pl didn't work on some Solaris boxes) mysql-test/t/wait_for_socket.sh: Added connect timeout (to make test predictable)
This commit is contained in:
@ -199,6 +199,7 @@ our $opt_client_ddd;
|
|||||||
our $opt_manual_gdb;
|
our $opt_manual_gdb;
|
||||||
our $opt_manual_ddd;
|
our $opt_manual_ddd;
|
||||||
our $opt_manual_debug;
|
our $opt_manual_debug;
|
||||||
|
our $opt_mtr_build_thread=0;
|
||||||
our $opt_debugger;
|
our $opt_debugger;
|
||||||
our $opt_client_debugger;
|
our $opt_client_debugger;
|
||||||
|
|
||||||
@ -213,6 +214,11 @@ our $clusters;
|
|||||||
|
|
||||||
our $instance_manager;
|
our $instance_manager;
|
||||||
|
|
||||||
|
our $opt_master_myport;
|
||||||
|
our $opt_slave_myport;
|
||||||
|
our $im_port;
|
||||||
|
our $im_mysqld1_port;
|
||||||
|
our $im_mysqld2_port;
|
||||||
our $opt_ndbcluster_port;
|
our $opt_ndbcluster_port;
|
||||||
our $opt_ndbconnectstring;
|
our $opt_ndbconnectstring;
|
||||||
our $opt_ndbcluster_port_slave;
|
our $opt_ndbcluster_port_slave;
|
||||||
@ -313,6 +319,7 @@ our %mysqld_variables;
|
|||||||
sub main ();
|
sub main ();
|
||||||
sub initial_setup ();
|
sub initial_setup ();
|
||||||
sub command_line_setup ();
|
sub command_line_setup ();
|
||||||
|
sub set_mtr_build_thread_ports($);
|
||||||
sub datadir_setup ();
|
sub datadir_setup ();
|
||||||
sub executable_setup ();
|
sub executable_setup ();
|
||||||
sub environment_setup ();
|
sub environment_setup ();
|
||||||
@ -455,45 +462,17 @@ sub command_line_setup () {
|
|||||||
$opt_suite= "main"; # Special default suite
|
$opt_suite= "main"; # Special default suite
|
||||||
my $opt_comment;
|
my $opt_comment;
|
||||||
|
|
||||||
my $opt_master_myport= 9306;
|
$opt_master_myport= 9306;
|
||||||
my $opt_slave_myport= 9308;
|
$opt_slave_myport= 9308;
|
||||||
$opt_ndbcluster_port= 9310;
|
$opt_ndbcluster_port= 9310;
|
||||||
$opt_ndbcluster_port_slave= 9311;
|
$opt_ndbcluster_port_slave= 9311;
|
||||||
my $im_port= 9312;
|
$im_port= 9312;
|
||||||
my $im_mysqld1_port= 9313;
|
$im_mysqld1_port= 9313;
|
||||||
my $im_mysqld2_port= 9314;
|
$im_mysqld2_port= 9314;
|
||||||
|
|
||||||
#
|
|
||||||
# To make it easier for different devs to work on the same host,
|
|
||||||
# an environment variable can be used to control all ports. A small
|
|
||||||
# number is to be used, 0 - 16 or similar.
|
|
||||||
#
|
|
||||||
# Note the MASTER_MYPORT has to be set the same in all 4.x and 5.x
|
|
||||||
# versions of this script, else a 4.0 test run might conflict with a
|
|
||||||
# 5.1 test run, even if different MTR_BUILD_THREAD is used. This means
|
|
||||||
# all port numbers might not be used in this version of the script.
|
|
||||||
#
|
|
||||||
# Also note the limiteation of ports we are allowed to hand out. This
|
|
||||||
# differs between operating systems and configuration, see
|
|
||||||
# http://www.ncftp.com/ncftpd/doc/misc/ephemeral_ports.html
|
|
||||||
# But a fairly safe range seems to be 5001 - 32767
|
|
||||||
if ( $ENV{'MTR_BUILD_THREAD'} )
|
if ( $ENV{'MTR_BUILD_THREAD'} )
|
||||||
{
|
{
|
||||||
# Up to two masters, up to three slaves
|
set_mtr_build_thread_ports($ENV{'MTR_BUILD_THREAD'});
|
||||||
$opt_master_myport= $ENV{'MTR_BUILD_THREAD'} * 10 + 10000; # and 1
|
|
||||||
$opt_slave_myport= $opt_master_myport + 2; # and 3 4
|
|
||||||
$opt_ndbcluster_port= $opt_master_myport + 5;
|
|
||||||
$opt_ndbcluster_port_slave= $opt_master_myport + 6;
|
|
||||||
$im_port= $opt_master_myport + 7;
|
|
||||||
$im_mysqld1_port= $opt_master_myport + 8;
|
|
||||||
$im_mysqld2_port= $opt_master_myport + 9;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( $opt_master_myport < 5001 or $opt_master_myport + 10 >= 32767 )
|
|
||||||
{
|
|
||||||
mtr_error("MTR_BUILD_THREAD number results in a port",
|
|
||||||
"outside 5001 - 32767",
|
|
||||||
"($opt_master_myport - $opt_master_myport + 10)");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# This is needed for test log evaluation in "gen-build-status-page"
|
# This is needed for test log evaluation in "gen-build-status-page"
|
||||||
@ -545,6 +524,7 @@ sub command_line_setup () {
|
|||||||
'im-port=i' => \$im_port, # Instance Manager port.
|
'im-port=i' => \$im_port, # Instance Manager port.
|
||||||
'im-mysqld1-port=i' => \$im_mysqld1_port, # Port of mysqld, controlled by IM
|
'im-mysqld1-port=i' => \$im_mysqld1_port, # Port of mysqld, controlled by IM
|
||||||
'im-mysqld2-port=i' => \$im_mysqld2_port, # Port of mysqld, controlled by IM
|
'im-mysqld2-port=i' => \$im_mysqld2_port, # Port of mysqld, controlled by IM
|
||||||
|
'mtr-build-thread=i' => \$opt_mtr_build_thread,
|
||||||
|
|
||||||
# Test case authoring
|
# Test case authoring
|
||||||
'record' => \$opt_record,
|
'record' => \$opt_record,
|
||||||
@ -627,6 +607,15 @@ sub command_line_setup () {
|
|||||||
|
|
||||||
$glob_scriptname= basename($0);
|
$glob_scriptname= basename($0);
|
||||||
|
|
||||||
|
if ($opt_mtr_build_thread != 0)
|
||||||
|
{
|
||||||
|
set_mtr_build_thread_ports($opt_mtr_build_thread)
|
||||||
|
}
|
||||||
|
elsif ($ENV{'MTR_BUILD_THREAD'})
|
||||||
|
{
|
||||||
|
$opt_mtr_build_thread= $ENV{'MTR_BUILD_THREAD'};
|
||||||
|
}
|
||||||
|
|
||||||
# We require that we are in the "mysql-test" directory
|
# We require that we are in the "mysql-test" directory
|
||||||
# to run mysql-test-run
|
# to run mysql-test-run
|
||||||
if (! -f $glob_scriptname)
|
if (! -f $glob_scriptname)
|
||||||
@ -775,7 +764,7 @@ sub command_line_setup () {
|
|||||||
{
|
{
|
||||||
mtr_report("Using tmpfs in $fs");
|
mtr_report("Using tmpfs in $fs");
|
||||||
$opt_mem= "$fs/var";
|
$opt_mem= "$fs/var";
|
||||||
$opt_mem .= $ENV{'MTR_BUILD_THREAD'} if $ENV{'MTR_BUILD_THREAD'};
|
$opt_mem .= $opt_mtr_build_thread if $opt_mtr_build_thread;
|
||||||
last;
|
last;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1230,6 +1219,43 @@ sub command_line_setup () {
|
|||||||
$path_snapshot= "$opt_tmpdir/snapshot_$opt_master_myport/";
|
$path_snapshot= "$opt_tmpdir/snapshot_$opt_master_myport/";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# To make it easier for different devs to work on the same host,
|
||||||
|
# an environment variable can be used to control all ports. A small
|
||||||
|
# number is to be used, 0 - 16 or similar.
|
||||||
|
#
|
||||||
|
# Note the MASTER_MYPORT has to be set the same in all 4.x and 5.x
|
||||||
|
# versions of this script, else a 4.0 test run might conflict with a
|
||||||
|
# 5.1 test run, even if different MTR_BUILD_THREAD is used. This means
|
||||||
|
# all port numbers might not be used in this version of the script.
|
||||||
|
#
|
||||||
|
# Also note the limitation of ports we are allowed to hand out. This
|
||||||
|
# differs between operating systems and configuration, see
|
||||||
|
# http://www.ncftp.com/ncftpd/doc/misc/ephemeral_ports.html
|
||||||
|
# But a fairly safe range seems to be 5001 - 32767
|
||||||
|
#
|
||||||
|
|
||||||
|
sub set_mtr_build_thread_ports() {
|
||||||
|
my $mtr_build_thread= shift;
|
||||||
|
|
||||||
|
# Up to two masters, up to three slaves
|
||||||
|
$opt_master_myport= $mtr_build_thread * 10 + 10000; # and 1
|
||||||
|
$opt_slave_myport= $opt_master_myport + 2; # and 3 4
|
||||||
|
$opt_ndbcluster_port= $opt_master_myport + 5;
|
||||||
|
$opt_ndbcluster_port_slave= $opt_master_myport + 6;
|
||||||
|
$im_port= $opt_master_myport + 7;
|
||||||
|
$im_mysqld1_port= $opt_master_myport + 8;
|
||||||
|
$im_mysqld2_port= $opt_master_myport + 9;
|
||||||
|
|
||||||
|
if ( $opt_master_myport < 5001 or $opt_master_myport + 10 >= 32767 )
|
||||||
|
{
|
||||||
|
mtr_error("MTR_BUILD_THREAD number results in a port",
|
||||||
|
"outside 5001 - 32767",
|
||||||
|
"($opt_master_myport - $opt_master_myport + 10)");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
sub datadir_setup () {
|
sub datadir_setup () {
|
||||||
|
|
||||||
# Make a list of all data_dirs
|
# Make a list of all data_dirs
|
||||||
@ -1576,7 +1602,8 @@ sub environment_setup () {
|
|||||||
if ( $opt_source_dist )
|
if ( $opt_source_dist )
|
||||||
{
|
{
|
||||||
push(@ld_library_paths, "$glob_basedir/libmysql/.libs/",
|
push(@ld_library_paths, "$glob_basedir/libmysql/.libs/",
|
||||||
"$glob_basedir/libmysql_r/.libs/");
|
"$glob_basedir/libmysql_r/.libs/",
|
||||||
|
"$glob_basedir/zlib.libs/");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1647,7 +1674,7 @@ sub environment_setup () {
|
|||||||
$ENV{'IM_PATH_SOCK'}= $instance_manager->{path_sock};
|
$ENV{'IM_PATH_SOCK'}= $instance_manager->{path_sock};
|
||||||
$ENV{'IM_USERNAME'}= $instance_manager->{admin_login};
|
$ENV{'IM_USERNAME'}= $instance_manager->{admin_login};
|
||||||
$ENV{'IM_PASSWORD'}= $instance_manager->{admin_password};
|
$ENV{'IM_PASSWORD'}= $instance_manager->{admin_password};
|
||||||
$ENV{MTR_BUILD_THREAD}= 0 unless $ENV{MTR_BUILD_THREAD}; # Set if not set
|
$ENV{MTR_BUILD_THREAD}= $opt_mtr_build_thread;
|
||||||
|
|
||||||
$ENV{'EXE_MYSQL'}= $exe_mysql;
|
$ENV{'EXE_MYSQL'}= $exe_mysql;
|
||||||
|
|
||||||
@ -4754,6 +4781,8 @@ Options that specify ports
|
|||||||
slave_port=PORT Specify the port number used by the first slave
|
slave_port=PORT Specify the port number used by the first slave
|
||||||
ndbcluster-port=PORT Specify the port number used by cluster
|
ndbcluster-port=PORT Specify the port number used by cluster
|
||||||
ndbcluster-port-slave=PORT Specify the port number used by slave cluster
|
ndbcluster-port-slave=PORT Specify the port number used by slave cluster
|
||||||
|
mtr-build-thread=# Specify unique collection of ports. Can also be set by
|
||||||
|
setting the environment variable MTR_BUILD_THREAD.
|
||||||
|
|
||||||
Options for test case authoring
|
Options for test case authoring
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ fi
|
|||||||
|
|
||||||
###########################################################################
|
###########################################################################
|
||||||
|
|
||||||
client_args="--silent --socket=$socket_path "
|
client_args="--silent --socket=$socket_path --connect_timeout=1 "
|
||||||
|
|
||||||
[ -n "$username" ] && client_args="$client_args --user=$username "
|
[ -n "$username" ] && client_args="$client_args --user=$username "
|
||||||
[ -n "$password" ] && client_args="$client_args --password=$password "
|
[ -n "$password" ] && client_args="$client_args --password=$password "
|
||||||
|
Reference in New Issue
Block a user