Re: Unit tests, CI

From: Date: Mon, 15 Feb 2010 16:27:44 +0000
Subject: Re: Unit tests, CI
References: 1  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-53270@lists.php.net to get a copy of this message
Hey, On Fri, Feb 12, 2010 at 4:36 AM, Daniel O'Connor <daniel.oconnor@gmail.com> wrote: > I've set up: > http://test.pear.php.net/unit-test-results/ > > Its quick, its dirty, and it runs every hour - PHPUnit and PHPT tests. It's > certainly not cruise control and doesn't pretend to be. > > If interest is high enough, small features can be added to it; or we can > invest the time to look at cruise control or other CI environments which > already do Neat Things. > > In lieu of spamming package authors with failures, or some other fancy > notification system; my recommendation is that you add the page as one of > your homepages. I don't think this is a problem - but what about emailing the failures to pear-qa@? Maybe then someone could a) take a look or b) nudge/pester the maintainer? Regardless of the above - this is pretty awesome and thanks for setting it up! Till > > The test environment is PHP 5.3.1 and PHPUnit 3.4. > > Of particular interest: > http://test.pear.php.net/unit-test-results/phpunit_results.txt > > > This also means that http://lauken.com/doconnor/ is pretty much > dead as of > now - not that it wasn't before :) > > > Some stuff to take note of: > 1) Errors like: > > php -c ../php.ini -f > /home/clockwerx/packages-all/HTTP_Session/tests/AllTests.php > > Fatal error: Cannot redeclare class PHPUnit_Framework_TestSuite in > /usr/local/lib/php/pear/PHPUnit/Framework/TestSuite.php on line 94 > > This is simply PHPUnit 3.4 compatibility. > The fix? > > http://svn.php.net/viewvc/pear/packages/Services_YouTube/trunk/tests/AllTests.php?r1=294914&r2=294913&pathrev=294914 > > This will still work happily with PHPUnit 3.3, and probably lower versioins > too. > > 2) Other errors like: > > php -c ../php.ini -f /home/clockwerx/packages-all/Auth/tests/AllTests.php > > Warning: require_once(Net/POP3.php): failed to open stream: No such > file or directory in > /home/clockwerx/packages-all/Auth/Auth/Container/POP3.php on line 39 > > Fatal error: require_once(): Failed opening required 'Net/POP3.php' > (include_path='.:/usr/local/lib/php/pear/') in > /home/clockwerx/packages-all/Auth/Auth/Container/POP3.php on line 39 > > This is just because the host environment hasn't installed that dependency - > I'm happy to do it on request; just be sure to check your package.xml first > :) > > 3) Errors caused by requiring special setup: > > php -c ../php.ini -f > /home/clockwerx/packages-all/PhpDocumentor/tests/AllTests.php > > Warning: require_once(PhpDocumentor/phpDocumentor/Setup.inc.php): > failed to open stream: No such file or directory in > > /home/clockwerx/packages-all/PhpDocumentor/tests/phpDocumentorSetupCleanConverterNamePieceTests.php > on line 51 > > Fatal error: require_once(): Failed opening required > 'PhpDocumentor/phpDocumentor/Setup.inc.php' > (include_path='.:/usr/local/lib/php/pear/') in > > /home/clockwerx/packages-all/PhpDocumentor/tests/phpDocumentorSetupCleanConverterNamePieceTests.php > on line 51 > > Normally, the tests should skip if a precondition cannot be met. > I'm also happy to set up any requirements on a case by case basis. > > 4) All of the tests run from the top level of trunk directory. > IE: > cd packages-all/Foo_Bar/ > > php tests/AllTests.php > pear run-tests -r tests > > That means your svn structure should look like > packages-all/Foo_Bar/Foo.php > packages-all/Foo_Bar/Foo/Bar.php > packages-all/Foo_Bar/Foo/Bar/Whee.php > > ... the same as what the package would install like. > > If it's not; since the SVN migration, it's really easy to fix: > svn mkdir Foo > svn mv Bar.php Foo/ > svn mv Bar Foo/ > php tests/AllTests.php > > pfm # regenerate your package.xml however you like. > svn commit -m "Fixed SVN layout, package.xml" >

« previous php.pear.dev (#53270) next »