diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 23aeb004c71e27adc20f8715f4c6b1ed63fca60a..9960aa2d47a2292cff163ac7c5e6aa03306c7688 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -526,6 +526,10 @@ sub command_line_setup () { # 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'} ) { # Up to two masters, up to three slaves @@ -537,6 +541,13 @@ sub command_line_setup () { $im_mysqld2_port= $opt_master_myport + 8; } + 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)"); + } + # Read the command line # Note: Keep list, and the order, in sync with usage at end of this file