I remember that some more methods could be shared if the
parameter order of parserTests.php was changed Not sure whether params order has to change but yest, more code there could be shared. No idea why the localsettings are not shared for example.
That was done for creating the "articles" once, outside of the test loop. Originally they were also created in place, but inserting all articles for each test was really slow.
Ok, here is why I want articles to be created in-between tests, within the test loop: http://pastebin.com/g694dG6L Also, I want to change the local settings before creating certain articles, to create them with lower-case characters for some tests. I would suggest taking the lost in performance into account for that, it gives more flexibility for the tests. Or do are there any other ideas?
Also see my patch-set https://gerrit.wikimedia.org/r/#/c/20534/ which is blocked by this problem, here I wanted to introduce the "!!config" sections into "!!article". " !!config" is also something new I have introduced to parser tests in case you haven't seen it yet.
Cheers, Daniel
2012/9/1 Platonides Platonides@gmail.com
On 31/08/12 12:01, Daniel Werner wrote:
Hi everyone,
Started poking on parser tests lately and found myself riddled after a while. It seems like when running parser test files with phpunit.php they follow different rules as when running them with parserTests.php.
If I observed this correctly, phpunit.php collects all articles to be created with "!!article", creates them, and then it runs tests. With parserTests.php on the other hand everything is executed in the order it
is
defined. In some tests it can be important whether a article already
exists
or not.
That was done for creating the "articles" once, outside of the test loop. Originally they were also created in place, but inserting all articles for each test was really slow.
If a test relies on some articles existing, those should be defined before it. If it's not documented, it should be. With that rule in place, the difference on creating at the start or on demand doesn't matter.
(...)
I would very much appreciate if anyone could explain to me why there are both of these files and why we maintain (more or less) a whole bunch of redundant code for those tests.
Cheers, Daniel
Someone did a crappy work when creating the phpunit parser tests, duplicating a lot of code and sharing none between them. It was later improved by several people, as years passed, I did myself several fixes to the phpunit code. I think it is easy to compare them with a visual diff tool. I remember that some more methods could be shared if the parameter order of parserTests.php was changed.
Best regards
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l