Re: Re: run-tests.php
| From: | Marcus Boerger | Date: | Fri, 14 Sep 2007 13:36:20 +0000 |
| Subject: | Re: Re: run-tests.php | ||
| References: | 1 2 3 4 5 6 | Groups: | php.internals php.qa |
| Request: | Send a blank email to php-qa+get-45979@lists.php.net to get a copy of this message | ||
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