Browse Source

add 4 byte mysql test run

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
Morris Jobke 7 years ago
parent
commit
d0a3d17912
2 changed files with 45 additions and 9 deletions
  1. 22 0
      .drone.yml
  2. 23 9
      autotest.sh

+ 22 - 0
.drone.yml

@@ -148,6 +148,14 @@ pipeline:
       matrix:
         DB: postgres
         PHP: 5.6
+  mysqlmb4-php5.6:
+    image: nextcloudci/php5.6:php5.6-2
+    commands:
+      - NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysqlmb4
+    when:
+      matrix:
+        DB: mysqlmb4
+        PHP: 5.6
   integration-capabilities_features:
     image: nextcloudci/integration-php7.0:integration-php7.0-1
     commands:
@@ -368,6 +376,8 @@ matrix:
       PHP: 5.6
     - DB: postgres
       PHP: 5.6
+    - DB: mysqlmb4
+      PHP: 5.6
 
 services:
   cache:
@@ -390,3 +400,15 @@ services:
     when:
       matrix:
         DB: mysql
+  mysqlmb4:
+    image: mysql
+    environment:
+      - MYSQL_ROOT_PASSWORD=owncloud
+      - MYSQL_USER=oc_autotest
+      - MYSQL_PASSWORD=owncloud
+      - MYSQL_DATABASE=oc_autotest
+    volumes:
+      - /drone/src/github.com/nextcloud/server/tests/docker/mysqlmb4:/etc/mysql/conf.d
+    when:
+      matrix:
+        DB: mysqlmb4

+ 23 - 9
autotest.sh

@@ -210,16 +210,30 @@ function execute_tests {
         fi
 	fi
 	if [ "$DB" == "mysqlmb4" ] ; then
-		echo "Fire up the mysql docker"
-		DOCKER_CONTAINER_ID=$(docker run \
-			-v $BASEDIR/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)
+		if [ ! -z "$USEDOCKER" ] ; then
+			echo "Fire up the mysql docker"
+			DOCKER_CONTAINER_ID=$(docker run \
+				-v $BASEDIR/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")
+			DATABASEHOST=$(docker inspect --format="{{.NetworkSettings.IPAddress}}" "$DOCKER_CONTAINER_ID")
+
+		else
+			if [ -z "$DRONE" ] ; then # no need to drop the DB when we are on CI
+				if [ "mysql" != "$(mysql --version | grep -o mysql)" ] ; then
+					echo "Your mysql binary is not provided by mysql"
+					echo "To use the docker container set the USEDOCKER environment variable"
+					exit -1
+				fi
+				mysql -u "$DATABASEUSER" -powncloud -e "DROP DATABASE IF EXISTS $DATABASENAME" -h $DATABASEHOST || true
+			else
+				DATABASEHOST=127.0.0.1
+			fi
+		fi
 
 		echo "Waiting for MySQL(utf8mb4) initialisation ..."