Hello internals folks! As you may already know, run-tests.php is an old legacy app that is in serious need of a refactor. Some things that are badly needed amongst other things are:
- Better maintainability - Unit tests - Concurrency - Prettier output I have seen numerous attempts of rewriting run-tests from scratch after some rallying at a UG or PHP conference only to see the initial excitement die off. The general advice for refactoring legacy apps is to not start with a clean slate, rather refactor a little bit at a time. We should treat run-tests as we would any other legacy app. We need a structured process to allow the run-tests app to get refactored a little bit at a time. I propose the following (open to discussion of course). 1) Create a new run-tests karma with access to php-src.git/run-tests.php (and hopefully the soon-to-be created php-src.git/run-tests folder). 2) Elect 2-3 people and grant the new run-tests karma to them. They will champion the PR's that incrementally improve run-tests. 3) The new run-tests champions (we'll call them "champions" because, why not?) will run the entire test suite ensuring that the refactor didn't inadvertently break the functionality and if all good, merge. (We might be able to get a solid Docker container or an automated CI process for an end-to-end test - thoughts?) 4) The run-tests champions could be elected for a year-long term with the possibility of being reelected for another year commitment. This would help prevent run-test champion drop-off (because sometimes, life happens). Once we get a process in place, I've drafted up a possible proposal of next steps to get run-tests refactoring kicked off: https://github.com/SammyK/run-tests#proposed-refactoring-path It's time to circle the wagons on run-tests! :) Thanks, Sammy Kaye Powers sammyk.me 230 S Clark St #194 Chicago, IL 60604