Le 11 août 09 à 22:51, dan nessett a écrit :

> --- On Tue, 8/11/09, Alexandre Emsenhuber  
> <[email protected]> wrote:
>
>> +1, we could maybe write our own test system that can be
>> based on the
>> new Maintenance class, since we already some test scripts
>> in /
>> maintenance/ (cdb-test.php, fuzz-tester.php,
>> parserTests.php,
>> preprocessorFuzzTest.php and syntaxChecker.php). Porting
>> tests such as
>> parser to PHPUnit is a pain, since it has no native way to
>> write a
>> test suite that has a "unknow" number of tests to run.
>
> Rewriting parserTests as php unit tests would be a horrible waste of  
> time. parserTests works and it provides a reasonable service. One  
> problem, however, is how do we fix the parser? It seems it is a  
> pretty complex code system (when I ran a MacGyver test on  
> parserTests, 141 files were accessed, most of which are associated  
> with the parser). I have been thinking about this, but those  
> thoughts are not yet sufficiently clear to make public yet.
>
> On the other hand, taking the parserTests route and doing all of our  
> own test infrastructure would also be a good deal of work. There are  
> tools out there (phpuint and prove) that are useful. In my view  
> creating a test infrastructure from scratch would unnecessarily  
> waste time and resources.
>
> Dan
>
My idea is the move the "backend" of ParserTest (parserTests.txt file  
processing, result reporting, ...) and the TestRecorder stuff to  
something like a MediaWikiTests class that extends Maintenance and  
move the rest in a file in /maintenance/tests/ (to be created) and re- 
use the backend to have files that have the same format, but test's  
input could be raw PHP code (a bit like PHP core's tests) with a new  
config variable that's like $wgParserTestFiles but for these kind of  
test. This mostly concerns the actual tests in /tests/ and /t/inc/).  
We can also port cdb-test.php, fuzz-tester.php,  
preprocessorFuzzTest.php and syntaxChecker.php to this new system and  
then create a script in /maintenance/ that runs all the tests in / 
maintenance/tests/. This allows to also upload all the tests to  
CodeReview, not only the parser tests. A benefit is that we can get  
ride of /tests/ and /t/.

Alexandre Emsenhuber (ialex)


_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to