Re: pgsql: Add 'basebackup_to_shell' contrib module.

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Andrew Dunstan <andrew@dunslane.net>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Magnus Hagander <magnus@hagander.net>
Date: 2022-03-26T19:35:28Z
Lists: pgsql-hackers
Hi,

On 2022-03-26 14:40:06 -0400, Robert Haas wrote:
> Well, I think that's unwarranted. Many years ago, people discovered
> that it was annoying if you had to distinguish files solely based on
> name, and so they invented directories and pathnames. That was a good
> call.

Yea. I have no problem naming tests the same way, particularly if they do
similar things. But we should show the path.


> Displaying that information in the buildfarm output would be a good call,
> too.

I would find it very useful locally when running the tests too. A very simple
approach would be to invoke prove with absolute paths to the tests. But that's
not particularly pretty.  But unless we change the directory that prove is run
in away from the directory that contains t/ (there's a thread about that, but
more to do), I don't think we can do better on an individual test basis?

We could just make prove_[install]check echo the $(subdir) it's about to run
tests for? Certainly looks better to me:

make -j48 -Otarget -s -C src/bin/ check NO_TEMP_INSTALL=1
...
=== tap tests in src/bin/pg_resetwal ===
t/001_basic.pl ...... ok
t/002_corrupted.pl .. ok
All tests successful.
Files=2, Tests=18,  3 wallclock secs ( 0.01 usr  0.01 sys +  2.39 cusr  0.31 csys =  2.72 CPU)
Result: PASS
=== tap tests in src/bin/pg_checksums ===
t/001_basic.pl .... ok
t/002_actions.pl .. ok
All tests successful.
Files=2, Tests=74,  4 wallclock secs ( 0.02 usr  0.01 sys +  1.57 cusr  0.42 csys =  2.02 CPU)
Result: PASS
=== tap tests in src/bin/psql ===
t/001_basic.pl ........... ok
t/010_tab_completion.pl .. ok
t/020_cancel.pl .......... ok
All tests successful.
Files=3, Tests=125,  6 wallclock secs ( 0.03 usr  0.00 sys +  3.65 cusr  0.56 csys =  4.24 CPU)
Result: PASS
...

Greetings,

Andres Freund



Commits

  1. Print information about type of test and subdirectory before running tests.

  2. In basebackup_to_shell tests, properly set up pg_hba.conf.

  3. Add .gitignore for basebackup_to_shell.

  4. basebackup_to_shell: Add TAP test.

  5. Document basebackup_to_shell.required_role.

  6. Add 'basebackup_to_shell' contrib module.