This patch is needed to improve the probability that the MySQL tests pass in Red Hat's build environment. The 32-bit and 64-bit variants of a single architecture may be built on the same machine at the same time, so we have to ensure that the tests use different port numbers on a 64-bit arch than on a 32-bit, else they will interfere with each other. We also have to hack the top-level Makefile to enable the openssl regression tests. (Why doesn't this happen automatically given the configure option??) Note: keep an eye on which version of "mysql-test-run" gets invoked by the "make test" target. In the 4.1 branch this is now defaulting to the perl script, but 5.0 is not (yet?) doing that; they also seem to be fooling with a C-code version. Besides this patch, mysql-libtool.patch would need to be changed to use either one. diff -Naur mysql-5.0.15.orig/Makefile.am mysql-5.0.15/Makefile.am --- mysql-5.0.15.orig/Makefile.am 2005-10-16 21:27:31.000000000 -0400 +++ mysql-5.0.15/Makefile.am 2005-11-02 22:56:50.000000000 -0500 @@ -97,16 +97,9 @@ support-files/build-tags .PHONY: init-db bin-dist -# Test installation. Ports are configurable from the environment. +# Test installation. Ports are determined by code in mysql-test-run.sh -MYSQL_TEST_MANAGER_PORT = 9305 -MYSQL_TEST_MASTER_PORT = 9306 -MYSQL_TEST_SLAVE_PORT = 9308 -MYSQL_TEST_NDB_PORT = 9350 -MYSQL_TEST_RUN_ARGS = --manager-port=$(MYSQL_TEST_MANAGER_PORT) \ - --master_port=$(MYSQL_TEST_MASTER_PORT) \ - --slave_port=$(MYSQL_TEST_SLAVE_PORT) \ - --ndbcluster_port=$(MYSQL_TEST_NDB_PORT) +MYSQL_TEST_RUN_ARGS = --with-openssl test: cd mysql-test ; \ diff -Naur mysql-5.0.15.orig/mysql-test/mysql-test-run.sh mysql-5.0.15/mysql-test/mysql-test-run.sh --- mysql-5.0.15.orig/mysql-test/mysql-test-run.sh 2005-10-16 21:27:55.000000000 -0400 +++ mysql-5.0.15/mysql-test/mysql-test-run.sh 2005-11-02 22:55:14.000000000 -0500 @@ -208,11 +208,24 @@ MASTER_RUNNING=0 MASTER1_RUNNING=0 -MASTER_MYPORT=9306 SLAVE_RUNNING=0 -SLAVE_MYPORT=9308 # leave room for 2 masters for cluster tests -MYSQL_MANAGER_PORT=9305 # needs to be out of the way of slaves -NDBCLUSTER_PORT=9350 +# hack to allow 32- and 64-bit tests to run concurrently on same build machine +case `uname -m` in + ppc64 | s390x | x86_64) + MASTER_MYPORT=9406 + MASTER_MYPORT1=9407 + SLAVE_MYPORT=9408 # leave room for 2 masters for cluster tests + MYSQL_MANAGER_PORT=9405 # needs to be out of the way of slaves + NDBCLUSTER_PORT=9450 + ;; + *) + MASTER_MYPORT=9306 + MASTER_MYPORT1=9307 + SLAVE_MYPORT=9308 # leave room for 2 masters for cluster tests + MYSQL_MANAGER_PORT=9305 # needs to be out of the way of slaves + NDBCLUSTER_PORT=9350 + ;; +esac MYSQL_MANAGER_PW_FILE=$MYSQL_TEST_DIR/var/tmp/manager.pwd MYSQL_MANAGER_LOG=$MYSQL_TEST_DIR/var/log/manager.log MYSQL_MANAGER_USER=root