Re: Unit tests, CI
| From: | till | 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"
>