jsonrainbow / json-schema

PHP implementation of JSON schema. Fork of the http://jsonschemaphpv.sourceforge.net/ project
MIT License
3.53k stars 351 forks source link

Tests fail on RHEL 6 (json-schema 1.3.4, PHP 5.3.3) #84

Closed siwinski closed 10 years ago

siwinski commented 10 years ago
$ git clone https://github.com/justinrainbow/json-schema
Initialized empty Git repository in /tmp/json-schema/.git/
remote: Counting objects: 1631, done.
remote: Compressing objects: 100% (795/795), done.
remote: Total 1631 (delta 722), reused 1515 (delta 628)
Receiving objects: 100% (1631/1631), 334.09 KiB, done.
Resolving deltas: 100% (722/722), done.
$ cd json-schema/
$ git checkout 1.3.4
Note: checking out '1.3.4'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at ad8b959... Merge pull request #68 from webdevel/travis-ci-dev
$ composer.phar install --dev
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.
  - Installing phpdocumentor/unified-asset-installer (1.1.1)
    Loading from cache

  - Installing symfony/console (v2.3.3)
    Loading from cache

  - Installing pimple/pimple (v1.0.2)
    Loading from cache

  - Installing cilex/console-service-provider (1.0.0)
    Loading from cache

  - Installing doctrine/lexer (v1.0)
    Loading from cache

  - Installing doctrine/annotations (v1.1.2)
    Loading from cache

  - Installing jms/metadata (1.4.0)
    Loading from cache

  - Installing phpoption/phpoption (1.3.0)
    Loading from cache

  - Installing jms/parser-lib (1.0.0)
    Loading from cache

  - Installing json-schema/json-schema-test-suite (1.1.0)
    Cloning 1.1.0

  - Installing phpcollection/phpcollection (0.2.0)
    Loading from cache

  - Installing zendframework/zend-stdlib (2.2.3)
    Loading from cache

  - Installing zendframework/zend-servicemanager (2.2.3)
    Loading from cache

  - Installing zendframework/zend-math (2.2.3)
    Loading from cache

  - Installing zendframework/zend-json (2.2.3)
    Loading from cache

  - Installing zendframework/zend-serializer (2.2.3)
    Loading from cache

  - Installing zendframework/zend-i18n (2.2.3)
    Loading from cache

  - Installing zendframework/zend-filter (2.2.3)
    Loading from cache

  - Installing zendframework/zend-config (2.2.3)
    Loading from cache

  - Installing zendframework/zend-eventmanager (2.2.3)
    Loading from cache

  - Installing zendframework/zend-cache (2.2.3)
    Loading from cache

  - Installing twig/twig (v1.13.2)
    Loading from cache

  - Installing symfony/translation (v2.3.3)
    Loading from cache

  - Installing symfony/validator (v2.3.3)
    Loading from cache

  - Installing symfony/event-dispatcher (v2.3.3)
    Loading from cache

  - Installing phpdocumentor/template-abstract (1.2.1)
    Loading from cache

  - Installing phpdocumentor/template-zend (1.3.1)
    Loading from cache

  - Installing phpdocumentor/template-xml (1.2.0)
    Loading from cache

  - Installing phpdocumentor/template-responsive-twig (1.2.1)
    Loading from cache

  - Installing phpdocumentor/template-responsive (1.3.1)
    Loading from cache

  - Installing phpdocumentor/template-old-ocean (1.3.1)
    Loading from cache

  - Installing phpdocumentor/template-new-black (1.3.1)
    Loading from cache

  - Installing phpdocumentor/template-clean (1.0.1)
    Loading from cache

  - Installing phpdocumentor/template-checkstyle (1.2.0)
    Loading from cache

  - Installing dflydev/markdown (v1.0.2)
    Loading from cache

  - Installing phpdocumentor/reflection-docblock (2.0.0)
    Loading from cache

  - Installing nikic/php-parser (v0.9.4)
    Loading from cache

  - Installing phpdocumentor/reflection (1.0.0)
    Loading from cache

  - Installing phpdocumentor/graphviz (1.0.0)
    Loading from cache

  - Installing symfony/finder (v2.3.3)
    Loading from cache

  - Installing phpdocumentor/fileset (1.0.0)
    Loading from cache

  - Installing psr/log (1.0.0)
    Loading from cache

  - Installing monolog/monolog (1.6.0)
    Loading from cache

  - Installing jms/serializer (0.13.0)
    Loading from cache

  - Installing symfony/process (v2.3.3)
    Loading from cache

  - Installing cilex/cilex (1.0.1)
    Loading from cache

  - Installing phpdocumentor/phpdocumentor (v2.0.1)
    Loading from cache

  - Installing phpunit/php-token-stream (1.1.5)
    Loading from cache

  - Installing symfony/yaml (v2.2.1)
    Loading from cache

  - Installing phpunit/php-text-template (1.1.4)
    Loading from cache

  - Installing phpunit/phpunit-mock-objects (1.2.3)
    Loading from cache

  - Installing phpunit/php-timer (1.0.4)
    Loading from cache

  - Installing phpunit/php-file-iterator (1.3.3)
    Loading from cache

  - Installing phpunit/php-code-coverage (1.2.11)
    Loading from cache

  - Installing phpunit/phpunit (3.7.21)
    Loading from cache

zendframework/zend-servicemanager suggests installing zendframework/zend-di (Zend\Di component)
zendframework/zend-math suggests installing ircmaxell/random-lib (Fallback random byte generator for Zend\Math\Rand if OpenSSL/Mcrypt extensions are unavailable)
zendframework/zend-json suggests installing zendframework/zend-server (Zend\Server component)
zendframework/zend-i18n suggests installing zendframework/zend-resources (Translation resources)
zendframework/zend-i18n suggests installing zendframework/zend-validator (You should install this package to use the provided validators)
zendframework/zend-i18n suggests installing zendframework/zend-view (You should install this package to use the provided view helpers)
zendframework/zend-filter suggests installing zendframework/zend-crypt (Zend\Crypt component)
zendframework/zend-filter suggests installing zendframework/zend-uri (Zend\Uri component for UriNormalize filter)
zendframework/zend-filter suggests installing zendframework/zend-validator (Zend\Validator component)
zendframework/zend-cache suggests installing ext-apc (APC >= 3.1.6 to use the APC storage adapter)
zendframework/zend-cache suggests installing ext-dba (DBA, to use the DBA storage adapter)
zendframework/zend-cache suggests installing ext-memcached (Memcached >= 1.0.0 to use the Memcached storage adapter)
zendframework/zend-cache suggests installing ext-wincache (WinCache, to use the WinCache storage adapter)
zendframework/zend-cache suggests installing zendframework/zend-session (Zend\Session component)
symfony/translation suggests installing symfony/config ()
symfony/validator suggests installing doctrine/common ()
symfony/validator suggests installing symfony/config ()
symfony/validator suggests installing symfony/http-foundation ()
symfony/validator suggests installing symfony/intl ()
symfony/event-dispatcher suggests installing symfony/dependency-injection ()
symfony/event-dispatcher suggests installing symfony/http-kernel ()
monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server)
monolog/monolog suggests installing mlehner/gelf-php (Allow sending log messages to a GrayLog2 server)
monolog/monolog suggests installing raven/raven (Allow sending log messages to a Sentry server)
phpunit/phpunit suggests installing phpunit/php-invoker (>=1.1.0,<1.2.0)
Generating autoload files
$ phpunit
PHPUnit 3.7.21 by Sebastian Bergmann.

Configuration read from /tmp/json-schema/phpunit.xml.dist

...............................................................  63 / 769 (  8%)
............................................................... 126 / 769 ( 16%)
............................................................... 189 / 769 ( 24%)
............................................................... 252 / 769 ( 32%)
............................................................... 315 / 769 ( 40%)
............................................................... 378 / 769 ( 49%)
............................................................... 441 / 769 ( 57%)
............................................................... 504 / 769 ( 65%)
............................................................... 567 / 769 ( 73%)
............................................................... 630 / 769 ( 81%)
............................................................... 693 / 769 ( 90%)
..............................................PHP Fatal error:  Can't inherit abstract function JsonSchema\Uri\Retrievers\UriRetrieverInterface::retrieve() (previously declared abstract in JsonSchema\Uri\Retrievers\AbstractRetriever) in /tmp/json-schema/src/JsonSchema/Uri/Retrievers/AbstractRetriever.php on line 14
PHP Stack trace:
PHP   1. {main}() /usr/bin/phpunit:0
PHP   2. PHPUnit_TextUI_Command::main() /usr/bin/phpunit:46
PHP   3. PHPUnit_TextUI_Command->run() /usr/share/pear/PHPUnit/TextUI/Command.php:129
PHP   4. PHPUnit_TextUI_TestRunner->doRun() /usr/share/pear/PHPUnit/TextUI/Command.php:176
PHP   5. PHPUnit_Framework_TestSuite->run() /tmp/json-schema/vendor/phpunit/phpunit/PHPUnit/TextUI/TestRunner.php:349
PHP   6. PHPUnit_Framework_TestSuite->run() /tmp/json-schema/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php:705
PHP   7. PHPUnit_Framework_TestSuite->runTest() /tmp/json-schema/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php:745
PHP   8. PHPUnit_Framework_TestCase->run() /tmp/json-schema/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php:775
PHP   9. PHPUnit_Framework_TestResult->run() /tmp/json-schema/vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php:776
PHP  10. PHPUnit_Framework_TestCase->runBare() /tmp/json-schema/vendor/phpunit/phpunit/PHPUnit/Framework/TestResult.php:648
PHP  11. PHPUnit_Framework_TestCase->runTest() /tmp/json-schema/vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php:831
PHP  12. ReflectionMethod->invokeArgs() /tmp/json-schema/vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php:976
PHP  13. JsonSchema\Tests\RefResolverTest->testFetchRefAbsolute() /tmp/json-schema/vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php:976
PHP  14. Composer\Autoload\ClassLoader->loadClass() /tmp/json-schema/vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php:0
PHP  15. include() /tmp/json-schema/vendor/composer/ClassLoader.php:185
PHP  16. Composer\Autoload\ClassLoader->loadClass() /tmp/json-schema/vendor/composer/ClassLoader.php:0
PHP  17. include() /tmp/json-schema/vendor/composer/ClassLoader.php:185

Fatal error: Can't inherit abstract function JsonSchema\Uri\Retrievers\UriRetrieverInterface::retrieve() (previously declared abstract in JsonSchema\Uri\Retrievers\AbstractRetriever) in /tmp/json-schema/src/JsonSchema/Uri/Retrievers/AbstractRetriever.php on line 14

Call Stack:
    0.0001     633280   1. {main}() /usr/bin/phpunit:0
    0.0026    1186960   2. PHPUnit_TextUI_Command::main() /usr/bin/phpunit:46
    0.0026    1187688   3. PHPUnit_TextUI_Command->run() /usr/share/pear/PHPUnit/TextUI/Command.php:129
    0.1613   13194792   4. PHPUnit_TextUI_TestRunner->doRun() /usr/share/pear/PHPUnit/TextUI/Command.php:176
    0.1631   13713920   5. PHPUnit_Framework_TestSuite->run() /tmp/json-schema/vendor/phpunit/phpunit/PHPUnit/TextUI/TestRunner.php:349
    0.4592   15792696   6. PHPUnit_Framework_TestSuite->run() /tmp/json-schema/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php:705
    0.4780   16695320   7. PHPUnit_Framework_TestSuite->runTest() /tmp/json-schema/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php:745
    0.4780   16695320   8. PHPUnit_Framework_TestCase->run() /tmp/json-schema/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php:775
    0.4780   16695320   9. PHPUnit_Framework_TestResult->run() /tmp/json-schema/vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php:776
    0.4781   16696312  10. PHPUnit_Framework_TestCase->runBare() /tmp/json-schema/vendor/phpunit/phpunit/PHPUnit/Framework/TestResult.php:648
    0.4781   16737520  11. PHPUnit_Framework_TestCase->runTest() /tmp/json-schema/vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php:831
    0.4781   16738960  12. ReflectionMethod->invokeArgs() /tmp/json-schema/vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php:976
    0.4781   16738992  13. JsonSchema\Tests\RefResolverTest->testFetchRefAbsolute() /tmp/json-schema/vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php:976
    0.4781   16739384  14. Composer\Autoload\ClassLoader->loadClass() /tmp/json-schema/vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php:0
    0.4783   16752024  15. include('/tmp/json-schema/src/JsonSchema/Uri/Retrievers/PredefinedArray.php') /tmp/json-schema/vendor/composer/ClassLoader.php:185
    0.4783   16752416  16. Composer\Autoload\ClassLoader->loadClass() /tmp/json-schema/vendor/composer/ClassLoader.php:0
    0.4783   16759240  17. include('/tmp/json-schema/src/JsonSchema/Uri/Retrievers/AbstractRetriever.php') /tmp/json-schema/vendor/composer/ClassLoader.php:185
$ php -v
PHP 5.3.3 (cli) (built: Jul 12 2013 04:36:18) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    with Xdebug v2.1.4, Copyright (c) 2002-2012, by Derick Rethans
rejinka commented 10 years ago

Ran into the same fatal error minutes ago

alexmmm commented 10 years ago

This is related to a php bug/feature and dicussed as a bug here:

https://bugs.php.net/bug.php?id=43200

It was fixed by php/php-src@31ef559712dae57046b6377f07634ad57f9d88cf and seems to be no longer an issue in php versions >= 5.3.9

justinrainbow commented 10 years ago

This will be fixed in the next tag v1.3.5