Re: [PATCH] Autoguessing TEST_PHP_EXECUTABLE if none is provided in run-tests.php
| From: | Alexey Shein | Date: | Fri, 09 Sep 2011 18:11:44 +0000 |
| Subject: | Re: [PATCH] Autoguessing TEST_PHP_EXECUTABLE if none is provided in run-tests.php | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-55343@lists.php.net to get a copy of this message | ||
2011/9/9 Christopher Jones <christopher.jones@oracle.com>:
>
>
> On 09/08/2011 05:07 AM, Alexey Shein wrote:
>>
>> Hello!
>> I've made some improvements to run-tests.php:
>> 1) Autoguessing TEST_PHP_EXECUTABLE and TEST_PHP_CGI_EXECUTABLE if
>> they're not provided, i.e. assume they have value 'auto'. You can
>> still pass your own value as usual.
>> 2) Added option -n (use no php.ini) to the shebang line
>> (#!/usr/bin/php -n) so it would run more reliably on some hosts. My
>> Ubuntu setup did not have E letter in variables_order (i.e.
>> variables_order=GPCS) so $_ENV array was empty and some tests were
>> skipped when they could be run.
>> 3) Some better error handling of wrong paths
>>
>> So now you can run run-tests.php with just
>> $ ./run-tests.php ext
>> instead of
>> $ TEST_PHP_EXECUTABLE=auto php -n run-tests.php ext
>>
>> You can also run run-tests.php from sub-dir, it will correctly guess
>> 'auto' as well:
>> $ cd ext/
>> $ ../run-tests.php zlib
>>
>> Please, review this patch and, if there's no objections, I will
>> prepare 5.4 and 5.3 versions too.
>>
>>
>>
>>
>
> I don't have a problem with the intent to make it easier and more
> failsafe. In particular I'm +1 on autoguessing, which might be a
> marginally contentious change for some developers.
>
> A few of us build PHP outside the svn source tree. The following
> modification to your patch fixes the intended autodetection in this
> scenario:
>
> if ($php == 'auto') {
> $php = realpath($CUR_DIR . '/sapi/cli/php');
> if (!$php) {
> $php = realpath(__DIR__ . '/sapi/cli/php');
> }
> putenv("TEST_PHP_EXECUTABLE=$php");
> }
> $environment['TEST_PHP_EXECUTABLE'] = $php;
>
>
> It allows the following to work for me:
>
> cd ~/phpbuild
> ./sapi/cli/php -n ~/phpsrc/php/php-src/branches/PHP_5_4/run-tests.php
> /tmp/array_bind_001.phpt
>
> Since run-tests.php is kept in sync on all branches, you'll only need
> one version of the patch.
So you mean to check sapi/cli/php in the current dir first and, if not
found, further in the directory related to run-tests.php (PHP_5_4 in
your example). Ok, that makes sense, usual running from svn tree will
not be changed.
> Chris
>
> --
> Email: christopher.jones@oracle.com
> Tel: +1 650 506 8630
> Blog: http://blogs.oracle.com/opal/
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
--
Regards,
Shein Alexey