> On 24 Nov 2022, at 20:32, Andres Freund <and...@anarazel.de> wrote: > > On November 24, 2022 11:07:43 AM PST, Daniel Gustafsson <dan...@yesql.se> > wrote: >>> On 24 Nov 2022, at 18:07, Nikolay Shaplov <dh...@nataraj.su> wrote: >> One option could be to redefine bail() to take the exit function as a >> parameter >> and have the caller pass the preferred exit handler. >> >> -bail_out(bool non_rec, const char *fmt,...) >> +bail(void (*exit_func)(int), const char *fmt,...) >> >> The callsites would then look like the below, which puts a reference to the >> actual exit handler used in the code where it is called. > > I'd just rename _bail to bail_noatexit().
That's probably the best option, done in the attached along with the comment fixup to mention the recursion issue. >>> This magic spell "...%-5i %s%-*s %8.0f ms\n" is too dark to repeat it even >>> two >>> times. I understand problems with spaces... But may be it would be better >>> somehow narrow it to one ugly print... Print "ok %-5i "|"not ok %-5i" to >>> buffer first, and then have one "%s%-*s %8.0f ms%s\n" print or something >>> like >>> that... >> >> I'm not convinced that this printf format is that hard to read (which may >> well >> be attributed to Stockholm Syndrome), and I do think that breaking it up and >> adding more code to print the line will make it less readable instead. > > I don't think it's terrible either. I do think it'd also be ok to switch > between ok / not ok within a single printf, making it easier to keep them in > sync. I made it into a single printf to see what it would look like, with some additional comments to make it more readable (I'm not a fan of where pgindent moves those but..). -- Daniel Gustafsson https://vmware.com/
v12-0001-Change-pg_regress-output-format-to-be-TAP-compli.patch
Description: Binary data