Re: Implement formal process for run-tests.php refactor

From: Date: Wed, 17 May 2017 15:00:23 +0000
Subject: Re: Implement formal process for run-tests.php refactor
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-99077@lists.php.net to get a copy of this message
-- Andreas Heigl Andreas@heigl.org > Am 17.05.2017 um 16:28 schrieb Sammy Kaye Powers <me@sammyk.me>: > > 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). Just a stupid question for a non-regular: Why not a separate repo? In the end run-tests.php is a PHP-application and not a C one and with tests and all such things to do it might be wasier to develop independent from the PHP-sources. It needs to be available to the PHP-sources in the end, but that might be possible by using git-submodules (or downloading a phar-file?) Just my 0.02€ Cheers Andreas > > 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

« previous php.internals (#99077) next »