News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Volker Dusch's Blog:
Dealing with segfaults while PHPUnit code coverage generation for CI
April 14, 2011 @ 11:55:13

Volker Dusch has a new post to his blog looking at handling segfaults during code coverage generation that might come up during your continuous integration process (with PHPUnit flavor unit tests).

About half the "Build failed" mails I've gotten from Jenkins in the last two weeks where not due to me breaking the tests but just PHPUnit segfaulting. "Wait! I know PHPUnit can't segfault!", only PHP itself can. And it does, quite often. For some reason that probably has to do with using PHP 5.2.OLD it doesn't survive generate the clover.xml file or the HTML report about 20% of the times it's being run.

He finds a solution to keep this from happening - not correcting the segfault as much as running the testing again to get it to pass. He wraps the call to PHPUnit inside of a simple shell script that tries to execute the PHPUnit testing suite as long as a segfault isn't thrown. If something was seriously broken, this could cause all sorts of problems, but in theory it's a simple hack that gets the job done.

0 comments voice your opinion now!
jenkins phpunit build continuousintegration codecoverage segfault


blog comments powered by Disqus

Similar Posts

Artur Ejsmont's Blog: How to build mongodb pecl extension in 32bit for PHP 5.2 on OSX Snow Leaopard

DevShed: Building an RSS File

O\'Reilly: Improve Your Build Process with Ant

Sebastian Bergmann's Blog: International PHP Conference 2007 - Spring Edition

Matthew Turland's Blog: Unit Tests and Code Coverage with PHPT


Community Events

Don't see your event here?
Let us know!


example podcast voicesoftheelephpant interview api release php7 laravel symfony2 opinion series library install configure community conference performance framework introduction application

All content copyright, 2015 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework