Hello Nuno,

Thursday, September 13, 2007, 9:20:51 PM, you wrote:

>>>   now i get the issue. It grabbs more than one line! This means
>>> run-tests.php has to be fixed. The whole thing is designed under
>>> the assumption that %s catches no new lines and hence only one
>>> line.
>>
>> That would be the best answer but I think it's a difficult fix and 
>> whatever it was might break other tests. I think it would mean replacing 
>> %s with something other than .+?. I'll have a look tomorrow and see if I 
>> can find a regex that would do - one of the things that had me confused 
>> for a while was that I thought the ? (non-greedy qualifier) should 
>> guarentee the minimum match but it doesn't work quite like that.


> OK, so basically it is impossible to fix the current regex to match what we 
> want (I had a quick chat with the PCRE author and he thinks the same).
> I propose the following patch: 
> http://web.ist.utl.pt/nuno.lopes/php_run_tests_%s.txt

> The main changes are:
> '%s' => '[^\r\n]+'

Nice patch! The only thing i wonder about is why you disallow /r. Shouldn't
we allow it to prevent problems? Or is it enough to take care of it only at
line endings, and if so where are we doing that?

best regards
marcus

> '%a' => '.+'

> This means that some tests have to be fixed, but the majority passes. Most 
> important is that with this patch I found some tests that had the expected 
> output wrong.

> So unless someone rejects this patch, I'll commit it (and update the 
> http://qa.php.net/write-test.php page too).
> Anyway, I don't think that a function name should be replaced by %s. The 
> expected output should be as stricter as possible.


> Nuno 



Best regards,
 Marcus

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to