Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:99077 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 40849 invoked from network); 17 May 2017 15:00:29 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 17 May 2017 15:00:29 -0000 Authentication-Results: pb1.pair.com header.from=andreas@heigl.org; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=andreas@heigl.org; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain heigl.org designates 195.191.240.18 as permitted sender) X-PHP-List-Original-Sender: andreas@heigl.org X-Host-Fingerprint: 195.191.240.18 hos109.unaxus.net Received: from [195.191.240.18] ([195.191.240.18:35759] helo=hos109.unaxus.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 7E/65-21791-C856C195 for ; Wed, 17 May 2017 11:00:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=heigl.org; s=default; h=To:References:Message-Id:Content-Transfer-Encoding:Cc:Date: In-Reply-To:From:Subject:Mime-Version:Content-Type:Sender:Reply-To:Content-ID :Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To: Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe :List-Post:List-Owner:List-Archive; bh=D2zAI5NBzdPSOngfN9PmCGKtbXsM2WloFQQmThuOIQ0=; b=D/+x1YniD8u2yYSarPzOI7tMxI 0eRH9gzOo9OuRVKmBi8pzMpqcE7f+9RViaiQ62vRsQOlG8x15wJvYSmFQdx2d0q826ZrN16/elIdn vP78GugUmOia8M6u8ps0+fdluDtX2EHxxuCacBIrCJcZHvGZcGSIM6vx1LuhnrPwxbpkoE+PRaR5O tiNeWUOYl1FeBLQmX8+BqC+uxnGLjF2f6UGhj3q31jUplK7FwL/al/fo+65oqSRGcZ9qVMmd7HO7m bL+kwWdOpb5EBXjvLi96Izk+5Pwh6rHmz0rrJhXdtsk8gvAol7VNRdi8Vd1aqUusFipJGMs1ymOrN 7PLzVyiA==; Received: from tmo-107-86.customers.d1-online.com ([80.187.107.86]:8200 helo=[10.72.42.148]) by hos109.unaxus.net with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.89) (envelope-from ) id 1dB0R6-002yYA-9w; Wed, 17 May 2017 17:00:24 +0200 Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (1.0) X-Mailer: iPhone Mail (14E304) In-Reply-To: Date: Wed, 17 May 2017 17:00:23 +0200 Cc: PHP Internals Content-Transfer-Encoding: quoted-printable Message-ID: References: To: Sammy Kaye Powers X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - hos109.unaxus.net X-AntiAbuse: Original Domain - lists.php.net X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - heigl.org X-Get-Message-Sender-Via: hos109.unaxus.net: authenticated_id: a.heigl+heigl.org/only user confirmed/virtual account not confirmed X-Authenticated-Sender: hos109.unaxus.net: a.heigl@heigl.org Subject: Re: [PHP-DEV] Implement formal process for run-tests.php refactor From: andreas@heigl.org (Andreas Heigl) --=20 Andreas Heigl Andreas@heigl.org > Am 17.05.2017 um 16:28 schrieb Sammy Kaye Powers : >=20 > Hello internals folks! >=20 > 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 othe= r > things are: >=20 > - Better maintainability > - Unit tests > - Concurrency > - Prettier output >=20 > 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 trea= t > run-tests as we would any other legacy app. >=20 > 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). >=20 > 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 en= d run-tests.php is a PHP-application and not a C one and with tests and all s= uch things to do it might be wasier to develop independent from the PHP-sour= ces.=20 It needs to be available to the PHP-sources in the end, but that might be po= ssible by using git-submodules (or downloading a phar-file?) Just my 0.02=E2=82=AC Cheers=20 Andreas >=20 > 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. >=20 > 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?) >=20 > 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 hel= p > prevent run-test champion drop-off (because sometimes, life happens). >=20 > Once we get a process in place, I've drafted up a possible proposal of nex= t > steps to get run-tests refactoring kicked off: >=20 > https://github.com/SammyK/run-tests#proposed-refactoring-path >=20 > It's time to circle the wagons on run-tests! :) >=20 > Thanks, > Sammy Kaye Powers > sammyk.me >=20 > 230 S Clark St #194 > Chicago, IL 60604