Adding docker based unit test execution for mysql utf8mb4

This commit is contained in:
Thomas Müller 2016-02-09 17:38:12 +01:00 committed by Morris Jobke
parent a7245ea082
commit 9c3f066dab
No known key found for this signature in database
GPG Key ID: 9CE5ED29E7FCD38A
3 changed files with 36 additions and 1 deletions

View File

@ -21,7 +21,7 @@ ADMINLOGIN=admin$EXECUTOR_NUMBER
BASEDIR=$PWD
PRIMARY_STORAGE_CONFIGS="local swift"
DBCONFIGS="sqlite mysql mariadb pgsql oci"
DBCONFIGS="sqlite mysql mariadb pgsql oci mysqlmb4"
# $PHP_EXE is run through 'which' and as such e.g. 'php' or 'hhvm' is usually
# sufficient. Due to the behaviour of 'which', $PHP_EXE may also be a path
@ -209,6 +209,31 @@ function execute_tests {
exit 1
fi
fi
if [ "$DB" == "mysqlmb4" ] ; then
echo "Fire up the mysql docker"
DOCKER_CONTAINER_ID=$(docker run \
-v tests/docker/mysqlmb4:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=owncloud \
-e MYSQL_USER="$DATABASEUSER" \
-e MYSQL_PASSWORD=owncloud \
-e MYSQL_DATABASE="$DATABASENAME" \
-d mysql:5.7)
DATABASEHOST=$(docker inspect --format="{{.NetworkSettings.IPAddress}}" "$DOCKER_CONTAINER_ID")
echo "Waiting for MySQL(utf8mb4) initialisation ..."
if ! apps/files_external/tests/env/wait-for-connection $DATABASEHOST 3306 60; then
echo "[ERROR] Waited 60 seconds, no response" >&2
exit 1
fi
sleep 1
echo "MySQL(utf8mb4) is up."
_DB="mysql"
cp tests/docker/mysqlmb4.config.php config
fi
if [ "$DB" == "mariadb" ] ; then
if [ ! -z "$USEDOCKER" ] ; then
echo "Fire up the mariadb docker"

View File

@ -0,0 +1,5 @@
<?php
$CONFIG = array(
'mysql.utf8mb4' => true,
);

View File

@ -0,0 +1,5 @@
[mysqld]
innodb_large_prefix=true
innodb_file_format=barracuda
innodb_file_per_table=true