Hello Mechtilde,
I had a rather quick look into the details of the failing test.
Am 17.03.25 um 19:15 schrieb Mechtilde Stehmann:
Debian CI
40s 2025-02-24 9:14:17 0 [Note] Plugin 'wsrep-provider' is disabled.
40s 2025-02-24 9:14:17 0 [Note] InnoDB: Buffer pool(s) load
completed at 250224 9:14:17
40s 2025-02-24 9:14:17 0 [Note] Server socket created on IP: '0.0.0.0'.
40s 2025-02-24 9:14:17 0 [ERROR] Can't start server: Bind on TCP/IP
port. Got error: 98: Address already in use
40s 2025-02-24 9:14:17 0 [ERROR] Do you already have another server
running on port: 3306 ?
40s 2025-02-24 9:14:17 0 [ERROR] Aborting
Can you use another port in your setup?
I have no idea about the setup configuration. I didn't any code review.
I'm getting the test running if I simply set a dedicated port as
obviously on the default port 3306 is already some other process is running.
--- a/debian/tests/setup
+++ b/debian/tests/setup
@@ -5,7 +5,7 @@ set -ex
/usr/bin/mariadb-install-db --no-defaults --datadir=${MARIADB_DIR} --force --skip-name-resolve --explicit_defaults_for_timestamp 2>&1
-/usr/sbin/mysqld --no-defaults --user=${MARIADB_USER} --socket=${MARIADB_UNIX_PORT} --datadir=${MARIADB_DIR} --pid-file=${MARIADB_PIDFILE} --explicit_defaults_for_timestamp 2>&1 &
+/usr/sbin/mysqld --no-defaults --user=${MARIADB_USER} --socket=${MARIADB_UNIX_PORT} -P
10010 --datadir=${MARIADB_DIR} --pid-file=${MARIADB_PIDFILE}
--explicit_defaults_for_timestamp 2>&1 &
attempts=0
while ! /usr/bin/mariadb-admin --user=${MARIADB_USER} --socket=${MARIADB_UNIX_PORT}
ping 2>&1 ; do
So I think adding some "-P xxxxx" argument to the mysqld start should do
the trick. Maybe it can be done a bit more elegant than hard code it
into d/t/setup.
Also you could also add a check before to test if port 3306 is used and
the -P option is needed.
--
Regards
Carsten