Re: Parallelised run-tests.php (patch)
| From: | Andrea Faulds | Date: | Tue, 10 Oct 2017 12:35:45 +0000 |
| Subject: | Re: Parallelised run-tests.php (patch) | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-100850@lists.php.net to get a copy of this message | ||
Hi Johannes,
Johannes Schlüter wrote:
On So, 2017-10-08 at 04:47 +0100, Andrea Faulds wrote:I'm glad you like it! Although I discover now that I am hardly the first to attempt this. Maybe I'll be the first to get it merged :pHave you long since ABANDONED every test directory besides Zend/tests?... or ran only eext/foo/tests ;)…*ahem*. Okay, enough terrible salesmanship. I felt like parallelising run-tests.php, so I did it. If you give it the flag -jX, it'll spawn X worker processes and throw batches at tests at them, and those workerThis is cool! I also see (from very very very) short look on the github diff that you have a parallelization protection for some tests, which might share resources. Very good!
Kind of unrelated: Somewhere on my 10+ years old todo list I also have the item of using FastCGI or similar for running tests to avoid running tthrough MINIT/MSHUTDOWN for each and every test (for some we can'T avoid due to ini requirements, but well) maybe a less hackish way for parallelizing might be using fpm workers and async io (just to spin the idea, maybe somebody takes it up ...)That's a reasonable idea. But I wonder if at that point, we should just use a “real” unit-testing framework, or at least a stripped-down version of one, which would run functions rather than files. PHPT is a simple format, but it requires invoking a PHP interpreter every time. We only really need to do that if we expect a fatal error or something like that… :) -- Andrea Faulds https://ajf.me/