Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o8UCv-0004uc-MS for pgsql-hackers@arkaria.postgresql.org; Mon, 04 Jul 2022 22:06:17 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1o8UCu-0003pj-F1 for pgsql-hackers@arkaria.postgresql.org; Mon, 04 Jul 2022 22:06:16 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o8UCu-0003pa-60 for pgsql-hackers@lists.postgresql.org; Mon, 04 Jul 2022 22:06:16 +0000 Received: from smtp.outgoing.loopia.se ([93.188.3.37]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o8UCn-0007r5-00 for pgsql-hackers@lists.postgresql.org; Mon, 04 Jul 2022 22:06:15 +0000 Received: from s807.loopia.se (localhost [127.0.0.1]) by s807.loopia.se (Postfix) with ESMTP id C6E992F36EC5 for ; Tue, 5 Jul 2022 00:06:05 +0200 (CEST) Received: from s630.loopia.se (unknown [172.22.191.5]) by s807.loopia.se (Postfix) with ESMTP id B6FC02E33B86; Tue, 5 Jul 2022 00:06:05 +0200 (CEST) Received: from s472.loopia.se (unknown [172.22.191.5]) by s630.loopia.se (Postfix) with ESMTP id ABE1E13ABE22; Tue, 5 Jul 2022 00:06:05 +0200 (CEST) X-Virus-Scanned: amavisd-new at amavis.loopia.se X-Spam-Flag: NO X-Spam-Score: -1 X-Spam-Level: X-Spam-Status: No, score=-1 tagged_above=-999 required=6.2 tests=[ALL_TRUSTED=-1] autolearn=disabled Received: from s899.loopia.se ([172.22.191.6]) by s472.loopia.se (s472.loopia.se [172.22.190.12]) (amavisd-new, port 10024) with LMTP id INvzo-EyF175; Tue, 5 Jul 2022 00:06:05 +0200 (CEST) X-Loopia-Auth: user X-Loopia-User: daniel@yesql.se X-Loopia-Originating-IP: 217.213.77.61 Received: from smtpclient.apple (host-217-213-77-61.mobileonline.telia.com [217.213.77.61]) (Authenticated sender: daniel@yesql.se) by s899.loopia.se (Postfix) with ESMTPSA id 058712C8BA5B; Tue, 5 Jul 2022 00:06:04 +0200 (CEST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.100.31\)) Subject: Re: TAP output format in pg_regress From: Daniel Gustafsson In-Reply-To: <5e6bc6a6-0a4e-109d-2b7d-c286dc58d609@enterprisedb.com> Date: Tue, 5 Jul 2022 00:06:04 +0200 Cc: Andres Freund , PostgreSQL Developers Content-Transfer-Encoding: quoted-printable Message-Id: <461F8D8E-77D8-4F15-84C6-F7FD239018C0@yesql.se> References: <49A54862-C682-4B60-9155-05F178FA79DC@yesql.se> <20220321234924.kcc3q26o7sx6rnfa@alap3.anarazel.de> <489D2B5A-B26F-4918-BC07-B426329169E3@yesql.se> <5e6bc6a6-0a4e-109d-2b7d-c286dc58d609@enterprisedb.com> To: Peter Eisentraut X-Mailer: Apple Mail (2.3696.100.31) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > On 4 Jul 2022, at 16:27, Peter Eisentraut = wrote: >=20 > On 29.06.22 21:50, Daniel Gustafsson wrote: >> Attached is a new version of this patch, which completes the TAP = output format >> option such that all codepaths emitting output are TAP compliant. = The verbose >> option is fixed to to not output extraneous newlines which the = previous PoC >> did. The output it made to conform to the original TAP spec since = v13/14 TAP >> parsers seem less common than those that can handle the original = spec. Support >> for the new format additions should be quite simple to add should we = want that. >> Running pg_regress --verbose should give the current format output. >> I did end up combining TAP and --verbose into a single patch, as the = TAP format >> sort of depends on the verbose flag as TAP has no verbose mode. I = can split it >> into two separate should a reviewer prefer that. >=20 > I'm not sure what to make of all these options. I think providing a = TAP output for pg_regress is a good idea. But then do we still need the = old output? Is it worth maintaining two output formats that display = exactly the same thing in slightly different ways? If we believe that TAP is good enough for human consumption and not just = as input to test runners then we don't. Personally I think the traditional = format is more pleasant to read than raw TAP output when running tests. > What is the purpose of the --verbose option? When and how is one = supposed to activate that? The proposed default format now hides the = fact that some tests are started in parallel. The discussion on this was in = 20220221164736.rq3ornzjdkmwk2wo@alap3.anarazel.de where it was proposed that we could cut the boilerplate. Thinking on it = I agree that the parallel run info should be included even without = --verbose so I'll add that back. In general, running with --verbose should ideally = only be required for troubleshooting setup/teardown issues with testing. > I remember the last time I wanted to tweak the output of the parallel = tests, people were very attached to the particular timing and spacing of = the current output. So I'm not sure people will like this. >=20 > The timing output is very popular. Where is that in the TAP output? As I mentioned in the mail upthread, TAP runners generally hide that = info and only show a running total. That being said, I do agree with adding back = so I'll do that in a new version of the patch. > More generally, what do you envision we do with this feature? Who is = it for, what are the tradeoffs, etc.? In general, my thinking with this was that normal testruns started with = make check (or similar) by developers would use the traditional format = (albeit less verbose) and that the TAP output was for automated test runners in = general and the meson test runner in particular. The TAP format is an opt-in with = the traditional format being the default. The tradeoff is of course that maintaining two output formats is more = work than maintaining one, but it's not really something we change all that often = so that might not be too heavy a burden. I personally didn't see us replacing the traditional format for "human readable" runs, if that's where the discussion is heading then the patch = can look quite different. Having test output format parity with supported = back branches seemed like a good idea to me at the time of writing at least. -- Daniel Gustafsson https://vmware.com/