From 6dfac457d80d2f56ee3a69a5ab69ee64389e9e64 Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Wed, 17 Aug 2016 11:40:35 +0200 Subject: [PATCH] Fix tests Ensure tests after the InstallCommand test will have a clean database. Previous attempt failed because of a foreign key Also, nightly on Travis seems to target PHP 7.2-dev, so I put 7.1 in requirement and moved nightly in allowed failures. And it seems xdebug isn't shipped with PHP 7.1, so I added a workaround to avoid build to fail when trying to remove xdebug.ini file. --- .travis.yml | 5 ++++- .../CoreBundle/Command/InstallCommandTest.php | 20 +++++++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1a33198a2..a387fc135 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,6 +20,7 @@ php: - 5.5 - 5.6 - 7.0 + - 7.1 - nightly - hhvm @@ -38,6 +39,7 @@ matrix: env: DB=pgsql # driver for PostgreSQL currently unsupported by HHVM, requires 3rd party dependency allow_failures: - php: hhvm + - php: nightly # exclude v1 branches branches: @@ -46,7 +48,8 @@ branches: before_script: - if [[ $TRAVIS_PHP_VERSION != hhvm ]]; then echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini; fi; - - if [[ $TRAVIS_PHP_VERSION != hhvm ]]; then phpenv config-rm xdebug.ini; fi; + # xdebug isn't enable for PHP 7.1 + - if [[ $TRAVIS_PHP_VERSION != '7.1' && $TRAVIS_PHP_VERSION != 'hhvm' ]]; then phpenv config-rm xdebug.ini; fi - composer self-update --no-progress - if [[ "$DB" = "pgsql" ]]; then psql -c 'create database wallabag_test;' -U postgres; fi; diff --git a/tests/Wallabag/CoreBundle/Command/InstallCommandTest.php b/tests/Wallabag/CoreBundle/Command/InstallCommandTest.php index 6c6ce0873..089a1c5fe 100644 --- a/tests/Wallabag/CoreBundle/Command/InstallCommandTest.php +++ b/tests/Wallabag/CoreBundle/Command/InstallCommandTest.php @@ -28,16 +28,32 @@ class InstallCommandTest extends WallabagCoreTestCase * * http://stackoverflow.com/a/14374832/569101 */ - $this->markTestSkipped('PostgreSQL spotted: can find a good way to drop current database, skipping.'); + $this->markTestSkipped('PostgreSQL spotted: can\'t find a good way to drop current database, skipping.'); } } + /** + * Ensure next tests will have a clean database + */ public static function tearDownAfterClass() { $application = new Application(static::$kernel); $application->setAutoExit(false); - $code = $application->run(new ArrayInput([ + $application->run(new ArrayInput([ + 'command' => 'doctrine:schema:drop', + '--no-interaction' => true, + '--force' => true, + '--env' => 'test', + ]), new NullOutput()); + + $application->run(new ArrayInput([ + 'command' => 'doctrine:schema:create', + '--no-interaction' => true, + '--env' => 'test', + ]), new NullOutput()); + + $application->run(new ArrayInput([ 'command' => 'doctrine:fixtures:load', '--no-interaction' => true, '--env' => 'test',