Re: making pg_regress less noisy by removing boilerplate

From: Andres Freund <andres(at)anarazel(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org, Daniel Gustafsson <daniel(at)yesql(dot)se>
Subject: Re: making pg_regress less noisy by removing boilerplate
Date: 2022-02-21 17:31:09
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


On 2022-02-21 12:05:42 -0500, Tom Lane wrote:
> Also, those steps typically run a lot faster than they did then
> (both software speedups, and most people use better hardware).
> We no longer need that output to reassure ourselves that progress
> is being made.


> > It seems we could [ combine printouts ]
> How about going further, and just not print *any* of this overhead
> stuff


> except maybe the "running on port 51696 with PID 1156405" line (and I'm not
> too wedded to that)?

We still have a few issues with ports conflicts on windows. We should really
consider just desupporting all windows versions without unix socket
support. But until then it seems useful to be able to figure out random

> It'd also be a good idea to start using "make -s" by default for the
> preparatory steps.

For the temp-install and checkprep targets, or for something else? That'd
probably just be a few @'s in front of rm, mkdir?

One thing with temp-install that's been bothering me is that it often hides
compilation failures inside install.log, and that it ends up building contrib
with -j1. It'd be a bit of redundant work, but perhaps we should make it
depend on a top-directory world-bin?

This reminds me that a while ago I added the below to my Makefile.custom, to
avoid all the "Nothing to be done for xyz" noise. Not sure if it bothers
others as much as me...

# Targets that don't require building anything cause make to say "make:
# Nothing to be done for 'target'." That's OK if it happens once at the
# top-level, but distracting for recursive make invocations of targets like
# distprep, generated-headers-symlinks etc.
# The message can be silenced by depending on another target that always does
# something. That works better than adding recipes to each of these common
# targets, because in some makefiles they have their own recipses, triggering
# warnings.
# To avoid repetition, use foreach/eval/call to create the dependencies, and a prefix
# rule for the recipe.
# @ silences, : is the shell do-nothing command.

define create_silence_target
$(1): | $(1).silence
$(foreach t,$(standard_targets) $(standard_always_targets) generated-header-symlinks,$(eval $(call create_silence_target,$(t))))


Andres Freund

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Fujii Masao 2022-02-21 17:39:16 Re: RFC: Logging plan of the running query
Previous Message Nathan Bossart 2022-02-21 17:23:06 Re: Postgres restart in the middle of exclusive backup and the presence of backup_label file