From 703dcd2087507d9df1f7d629e5ff07eb2de35f15 Mon Sep 17 00:00:00 2001 From: David Alger <david@classyllama.com> Date: Tue, 24 Nov 2015 14:14:06 -0600 Subject: [PATCH] Resolve PHP 7 unit test issues and remove allow_failures config (issue #1858) --- .travis.yml | 2 - .../Test/Unit/Model/PhpReadinessCheckTest.php | 41 +++++++++++++------ 2 files changed, 28 insertions(+), 15 deletions(-) diff --git a/.travis.yml b/.travis.yml index de425d0f9f2..a99b22b1ebd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,8 +21,6 @@ matrix: env: TEST_SUITE=static_phpcs - php: 5.6 env: TEST_SUITE=static_annotation - allow_failures: - - php: 7.0 before_install: - sudo apt-get update -qq - sudo apt-get install -y -qq postfix diff --git a/setup/src/Magento/Setup/Test/Unit/Model/PhpReadinessCheckTest.php b/setup/src/Magento/Setup/Test/Unit/Model/PhpReadinessCheckTest.php index 29b559a0f62..6f77ca1c1af 100644 --- a/setup/src/Magento/Setup/Test/Unit/Model/PhpReadinessCheckTest.php +++ b/setup/src/Magento/Setup/Test/Unit/Model/PhpReadinessCheckTest.php @@ -209,13 +209,15 @@ class PhpReadinessCheckTest extends \PHPUnit_Framework_TestCase 'message' => $xdebugMessage, 'error' => false, ], - 'always_populate_raw_post_data' => [ - 'message' => $rawPostMessage, - 'helpUrl' => 'http://php.net/manual/en/ini.core.php#ini.always-populate-settings-data', - 'error' => false - ] ] ]; + if (!$this->isPhp7OrHackLang()) { + $expected['data']['always_populate_raw_post_data'] = [ + 'message' => $rawPostMessage, + 'helpUrl' => 'http://php.net/manual/en/ini.core.php#ini.always-populate-settings-data', + 'error' => false + ]; + } $this->assertEquals($expected, $this->phpReadinessCheck->checkPhpSettings()); } @@ -246,14 +248,16 @@ class PhpReadinessCheckTest extends \PHPUnit_Framework_TestCase 'xdebug_max_nesting_level' => [ 'message' => $xdebugMessage, 'error' => true, - ], - 'always_populate_raw_post_data' => [ - 'message' => $rawPostMessage, - 'helpUrl' => 'http://php.net/manual/en/ini.core.php#ini.always-populate-settings-data', - 'error' => false ] ] ]; + if (!$this->isPhp7OrHackLang()) { + $expected['data']['always_populate_raw_post_data'] = [ + 'message' => $rawPostMessage, + 'helpUrl' => 'http://php.net/manual/en/ini.core.php#ini.always-populate-settings-data', + 'error' => false + ]; + } $this->assertEquals($expected, $this->phpReadinessCheck->checkPhpSettings()); } @@ -272,14 +276,17 @@ class PhpReadinessCheckTest extends \PHPUnit_Framework_TestCase ); $expected = [ 'responseType' => ResponseTypeInterface::RESPONSE_TYPE_SUCCESS, - 'data' => [ + 'data' => [] + ]; + if (!$this->isPhp7OrHackLang()) { + $expected['data'] = [ 'always_populate_raw_post_data' => [ 'message' => $rawPostMessage, 'helpUrl' => 'http://php.net/manual/en/ini.core.php#ini.always-populate-settings-data', 'error' => false ] - ] - ]; + ]; + } $this->assertEquals($expected, $this->phpReadinessCheck->checkPhpSettings()); } @@ -333,6 +340,14 @@ class PhpReadinessCheckTest extends \PHPUnit_Framework_TestCase ]; $this->assertEquals($expected, $this->phpReadinessCheck->checkPhpExtensions()); } + + /** + * @return bool + */ + protected function isPhp7OrHackLang() + { + return version_compare(PHP_VERSION, '7.0.0-beta') >= 0 || defined('HHVM_VERSION'); + } } namespace Magento\Setup\Model; -- GitLab