Re: Potential adoption of run-tests.php replacement
| From: | Nazar Mokrynskyi | Date: | Mon, 29 Jan 2018 22:41:23 +0000 |
| Subject: | Re: Potential adoption of run-tests.php replacement | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-101727@lists.php.net to get a copy of this message | ||
It was never intended to be a wrapper or to be 100% compatible.
It was created as a simpler and modern replacement with additional features like colored output
(tried to add this to run-tests.php initially, even submitted PR with some fixes and refactoring,
but found it too complex to deal with) and simpler CLI interface to work with.
It is intentionally missing a few PHPT sections that seem to be redundant and have slight tweaks to
some that are present. At the end of the day so many time have passed since run-tests.php was
initially written.
For instance, it is painful to work with tests in PHP source tree when they are called 001.phpt,
002.phpt and so on - you need to open each file and read it to see what it intends to test. My tool
uses file names instead, which makes browsing source tree with tests more productive and makes
--TEST-- section redundant (simply ignored).
This tool is 6.5 times smaller than run-tests.php and imho is better structured, which leads to
lower cost for introducing new features when/if needed.
Sincerely, Nazar Mokrynskyi
github.com/nazar-pc
30.01.18 00:10, Matt Ficken пише:
> This is a reimplementation of run-test.php, not just a wrapper (so its another parser for the
> PHPT file format). However, its missing support for many PHPT sections (ie its PHPT format support
> is incomplete).
>
> See:
> https://github.com/nazar-pc/phpt-tests-runner/blob/master/bin/phpt-tests-runner#L117
>
>
> I created PFTT as a multi-SAPI (CLI, IIS/FastCGI, CLI-WWW, Apache) multiplatform test tool
> reimplementing PHPT and PHPUnit(and support for other common tasks)...
>
> This may give you some clarification of what's missing
>
> http://git.php.net/?p=pftt2.git;a=blob_plain;f=src/com/mostc/pftt/model/core/EPhptSection.java;hb=refs/heads/master
>
> PFTT is a big heavyweight tool (so PFTT shouldn't be in core). run-tests.php is nice
> because its a lightweight tool, not overly complex and minimal to download, so I can easily do
>
make test for a custom build.... its just not as good at seriously
> pounding PHP across multiple scenarios, SAPIs, filesystems, etc... (built in part to hammer PHP on
> Windows to ensure it works well). Do we really need a 3rd PHPT engine?
>
> It also supports parallel execution (it tests many different scenarios, so faster execution is
> critical)... that's a feature that's hard to get right.
>
> -Regards
> -M
>
>
> On Mon, Jan 29, 2018 at 4:57 AM, Nazar Mokrynskyi <nazar@mokrynskyi.com <±~“„ßE
> ֔
ÎÚmailto:nazar@mokrynskyi.com>> wrote:
>
> Hi internals,
>
> As most of you know, there is this script called run-tests.php which is huge in size and
> hard to maintain.
>
> I also heard some wanted it to support parallel tests execution and probably other things.
>
> There is a project I've created a long time ago and still maintaining
> (https://github.com/nazar-pc/phpt-tests-runner
> <https://github.com/nazar-pc/phpt-tests-runner>) that should
> be able to run most of the tests without changes already with colored output and the whole thing is
> a fraction of run-tests.php's size.
>
> How I'd like to work towards mainlining it into php-src in case there is a desire and
> an agreement on such transition.
>
> If this seems like a good idea, it would be very useful if someone can enumerate the list
> of features that are currently used/needed from run-tests.php and which replacement should offer,
> alongside with features on top that might be useful (like parallel execution).
>
> If there was similar discussion already and there is an accepted solution there, let me
> know.
>
> --
> Sincerely, Nazar Mokrynskyi
> github.com/nazar-pc <http://github.com/nazar-pc>
>
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>