On Sat, Feb 6, 2010 at 01:04, Ævar Arnfjörð Bjarmason avarab@gmail.com wrote:
Since the tests were ported from t/ to phpunit's phase3/maintenance/tests/ in r61938 and other commits running the tests on my machine takes up to 1GB of memory and grows as it runs more tests. It seems that phpunit uses the same instance of the php interpreter for running all the tests.
Is there some way around this? Perhaps phpunit.xml could be tweaked so that it runs a new php for each test?
Furthermore when I run `make test' I get this:
Time: 03:35, Memory: 1849.25Mb
There were 2 failures:
1) LanguageConverterTest::testGetPreferredVariantUserOption Failed asserting that two strings are equal. --- Expected +++ Actual @@ @@ -tg-latn +tg
/home/avar/src/mw/trunk/phase3/maintenance/tests/LanguageConverterTest.php:82
2) Warning No tests found in class "ParserUnitTest".
FAILURES! Tests: 686, Assertions: 3431, Failures: 2, Incomplete: 34
But when I run phpunit manually on the test then all tests pass:
$ phpunit LanguageConverterTest.php PHPUnit 3.4.5 by Sebastian Bergmann.
.........
Time: 23 seconds, Memory: 23.75Mb
OK (9 tests, 34 assertions)
Also after I get "Tests: 686, Assertions: 3431, Failures: 2, Incomplete: 34" in the first output phpunit doesn't exit and continues hugging my memory. Why is it still running? It has already run all the tests.
I've worked around this by adding a 'make tap' target which runs the phpunit tests individually with Test::Harness. I made it the default target due to the problems with running all the tests at once with phpunit:
http://www.mediawiki.org/wiki/Special:Code/MediaWiki/62071 http://www.mediawiki.org/wiki/Special:Code/MediaWiki/62072
Does something run these tests or the parsertests automatically? It would be really neat to test all svn revisions of MediaWiki and report the results on Special:Code. I think I read somewhere that something runs the parsertests automatically.