Bug #47282
Broken inheritance on AbstractNode (with PHP ~5.3.5)
Status: | Resolved | Start date: | 2013-04-16 | |
---|---|---|---|---|
Priority: | Should have | Due date: | ||
Assigned To: | Karsten Dambekalns | % Done: | 100% |
|
Category: | - | |||
Target version: | - |
Description
When running unit tests on PHP 5.3.5 (our Jenkins right now), there is a fatal error:
Apr 16 13:21:10 17604 php: PHP Fatal error: Can't inherit abstract function TYPO3\TYPO3CR\Domain\Model\NodeInterface::setName() (previously declared abstract in TYPO3\TYPO3CR\Domain\Model\AbstractNode) in /…/TYPO3CR/Domain/Model/AbstractNode.php on line 31 Apr 16 13:21:10 17604 php: PHP Stack trace: Apr 16 13:21:10 17604 php: PHP 1. {main}() /usr/bin/phpunit:0 Apr 16 13:21:10 17604 php: PHP 2. PHPUnit_TextUI_Command::main() /usr/bin/phpunit:46 Apr 16 13:21:10 17604 php: PHP 3. PHPUnit_TextUI_Command->run() /usr/share/php/PHPUnit/TextUI/Command.php:130 Apr 16 13:21:10 17604 php: PHP 4. PHPUnit_TextUI_TestRunner->doRun() /usr/share/php/PHPUnit/TextUI/Command.php:192 Apr 16 13:21:10 17604 php: PHP 5. PHPUnit_Framework_TestSuite->run() /usr/share/php/PHPUnit/TextUI/TestRunner.php:325 Apr 16 13:21:10 17604 php: PHP 6. PHPUnit_Framework_TestSuite->run() /usr/share/php/PHPUnit/Framework/TestSuite.php:705 Apr 16 13:21:10 17604 php: PHP 7. PHPUnit_Framework_TestSuite->runTest() /usr/share/php/PHPUnit/Framework/TestSuite.php:745 Apr 16 13:21:10 17604 php: PHP 8. PHPUnit_Framework_TestCase->run() /usr/share/php/PHPUnit/Framework/TestSuite.php:772 Apr 16 13:21:10 17604 php: PHP 9. PHPUnit_Framework_TestResult->run() /usr/share/php/PHPUnit/Framework/TestCase.php:751 Apr 16 13:21:10 17604 php: PHP 10. TYPO3\Flow\Tests\BaseTestCase->runBare() /usr/share/php/PHPUnit/Framework/TestResult.php:649 Apr 16 13:21:10 17604 php: PHP 11. PHPUnit_Framework_TestCase->runBare() /…/Framework/TYPO3.Flow/Tests/BaseTestCase.php:41 Apr 16 13:21:10 17604 php: PHP 12. TYPO3\TYPO3CR\Tests\Unit\Domain\Model\NodeTest->setUp() /…/TestCase.php:801 Apr 16 13:21:10 17604 php: PHP 13. TYPO3\Flow\Tests\BaseTestCase->getAccessibleMock() /…/Application/TYPO3.TYPO3CR/Tests/Unit/Domain/Model/NodeTest.php:28 Apr 16 13:21:10 17604 php: PHP 14. TYPO3\Flow\Tests\BaseTestCase->buildAccessibleProxy() /…/Framework/TYPO3.Flow/Tests/BaseTestCase.php:59 Apr 16 13:21:10 17604 php: PHP 15. ReflectionClass->__construct() /…/Tests/BaseTestCase.php:89 Apr 16 13:21:10 17604 php: PHP 16. Composer\Autoload\ClassLoader->loadClass() /…/Libraries/composer/ClassLoader.php:0 Apr 16 13:21:10 17604 php: PHP 17. include() /…/Libraries/composer/ClassLoader.php:183 Apr 16 13:21:10 17604 php: PHP 18. Composer\Autoload\ClassLoader->loadClass() /…/Libraries/composer/ClassLoader.php:0 Apr 16 13:21:10 17604 php: PHP 19. include() /…/Libraries/composer/ClassLoader.php:183
The tests pass with PHP 5.4.12 and 5.3.22, so this seems to be some weird old issue. Anyway, since the methods getName()
and setName()
are in the NodeInterface
, there is no need for them to be in AbstractNode
as abstract methods.
Associated revisions
[BUGFIX] Remove setName() and getName() from AbstractNode
Since the methods getName() and setName() are in the NodeInterface,
there is no need for them to be in AbstractNode as abstract methods.
Change-Id: I0f4a2b8783332733dfc93c7dd6284b38a50c310f
Fixes: #47282
History
#1 Updated by Gerrit Code Review over 2 years ago
Patch set 1 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/20001
#2 Updated by Karsten Dambekalns over 2 years ago
- Status changed from Accepted to Under Review
#3 Updated by Karsten Dambekalns over 2 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset 4cf061699b2335ff17e60fb7e058f1bb8e322911.