Merge pull request #206 from nextcloud/ci-mysql

Add mysql job to CI
This commit is contained in:
Morris Jobke 2016-06-30 09:06:19 +02:00 committed by GitHub
commit 3acdc1339d
4 changed files with 33 additions and 7 deletions

View File

@ -17,6 +17,13 @@ build:
- git submodule update --init
- ./occ maintenance:install --database-name oc_autotest --database-user oc_autotest --admin-user admin --admin-pass admin --database sqlite --database-pass=''
- ./autotest.sh sqlite
mysql:
image: morrisjobke/nextcloud-ci-php7:1.0.4
commands:
- sleep 15 # gives the database enough time to initialize
- rm -rf data/* config/config.php # TODO: remove this - temporary fix for CI issues
- git submodule update --init
- ./autotest.sh mysql
postgres:
image: morrisjobke/nextcloud-ci-php7:1.0
commands:
@ -33,3 +40,10 @@ compose:
environment:
- POSTGRES_USER=oc_autotest
- POSTGRES_PASSWORD=oc_autotest
mysql:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD=owncloud
- MYSQL_USER=oc_autotest
- MYSQL_PASSWORD=owncloud
- MYSQL_DATABASE=oc_autotest

@ -1 +1 @@
Subproject commit 509385e674563e48a977bf8285c826963835528e
Subproject commit 46668812ff12d320ba207f120bd50acffa6e7748

View File

@ -200,12 +200,16 @@ function execute_tests {
echo "MySQL is up."
else
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
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
fi
if [ "$DB" == "mariadb" ] ; then

View File

@ -9,6 +9,8 @@
namespace Test\Files\Cache;
use Doctrine\DBAL\Platforms\MySqlPlatform;
class LongId extends \OC\Files\Storage\Temporary {
public function getId() {
return 'long:' . str_repeat('foo', 50) . parent::getId();
@ -108,6 +110,12 @@ class CacheTest extends \Test\TestCase {
* @dataProvider folderDataProvider
*/
public function testFolder($folder) {
if(strpos($folder, 'F09F9890')) {
// 4 byte UTF doesn't work on mysql
if(\OC::$server->getDatabaseConnection()->getDatabasePlatform() instanceof MySqlPlatform) {
$this->markTestSkipped('MySQL doesn\'t support 4 byte UTF-8');
}
}
$file2 = $folder.'/bar';
$file3 = $folder.'/foo';
$data1 = array('size' => 100, 'mtime' => 50, 'mimetype' => 'httpd/unix-directory');