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 коммит произвёл GitHub
Родитель 83a046a0fb 01829e8d7c
Коммит 3acdc1339d
4 изменённых файлов: 33 добавлений и 7 удалений

Просмотреть файл

@ -17,6 +17,13 @@ build:
- git submodule update --init - 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='' - ./occ maintenance:install --database-name oc_autotest --database-user oc_autotest --admin-user admin --admin-pass admin --database sqlite --database-pass=''
- ./autotest.sh sqlite - ./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: postgres:
image: morrisjobke/nextcloud-ci-php7:1.0 image: morrisjobke/nextcloud-ci-php7:1.0
commands: commands:
@ -33,3 +40,10 @@ compose:
environment: environment:
- POSTGRES_USER=oc_autotest - POSTGRES_USER=oc_autotest
- POSTGRES_PASSWORD=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

Просмотреть файл

@ -200,12 +200,16 @@ function execute_tests {
echo "MySQL is up." echo "MySQL is up."
else else
if [ -z "$DRONE" ] ; then # no need to drop the DB when we are on CI
if [ "mysql" != "$(mysql --version | grep -o mysql)" ] ; then if [ "mysql" != "$(mysql --version | grep -o mysql)" ] ; then
echo "Your mysql binary is not provided by mysql" echo "Your mysql binary is not provided by mysql"
echo "To use the docker container set the USEDOCKER environment variable" echo "To use the docker container set the USEDOCKER environment variable"
exit -1 exit -1
fi fi
mysql -u "$DATABASEUSER" -powncloud -e "DROP DATABASE IF EXISTS $DATABASENAME" -h $DATABASEHOST || true mysql -u "$DATABASEUSER" -powncloud -e "DROP DATABASE IF EXISTS $DATABASENAME" -h $DATABASEHOST || true
else
DATABASEHOST=127.0.0.1
fi
fi fi
fi fi
if [ "$DB" == "mariadb" ] ; then if [ "$DB" == "mariadb" ] ; then

Просмотреть файл

@ -9,6 +9,8 @@
namespace Test\Files\Cache; namespace Test\Files\Cache;
use Doctrine\DBAL\Platforms\MySqlPlatform;
class LongId extends \OC\Files\Storage\Temporary { class LongId extends \OC\Files\Storage\Temporary {
public function getId() { public function getId() {
return 'long:' . str_repeat('foo', 50) . parent::getId(); return 'long:' . str_repeat('foo', 50) . parent::getId();
@ -108,6 +110,12 @@ class CacheTest extends \Test\TestCase {
* @dataProvider folderDataProvider * @dataProvider folderDataProvider
*/ */
public function testFolder($folder) { 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'; $file2 = $folder.'/bar';
$file3 = $folder.'/foo'; $file3 = $folder.'/foo';
$data1 = array('size' => 100, 'mtime' => 50, 'mimetype' => 'httpd/unix-directory'); $data1 = array('size' => 100, 'mtime' => 50, 'mimetype' => 'httpd/unix-directory');