location reporting in TAP test failures
Hackorum builds and tests every patch posted to the lists, not only commitfest submissions. This is Hackorum's own CI rather than the PostgreSQL project's, and it is still under testing - please report anything that looks wrong.
You can run a PostgreSQL built from this patch straight from Docker, with no checkout and no build:
docker run --rm -p 5432:5432 ghcr.io/hackorum-dev/postgres-patch:t38822psql -h localhost -U postgresBuilt from patchset v1 (message #1), July 27, 2026 at 08:18 PM.
Every patchset is also pushed to a branch of our PostgreSQL fork, so you can check out the same tree CI built. Without a PostgreSQL checkout:
git clone --branch t38822_1 https://github.com/hackorum-dev/postgres.gitIn a checkout you already have, add the fork once:
git remote add hackorum https://github.com/hackorum-dev/postgres.gitthen, for this patchset and every later one:
git fetch hackorum t38822_1 && git checkout t38822_1Patchset v1 (message #1) is on t38822_1
Right now, when a TAP test reports a failure, it looks something like this:
# Failed test 'creating a replication slot'
# at
/....../postgresql/src/bin/pg_basebackup/../../../src/test/perl/TestLib.pm
line 371.
That file location is where we call out to the test function provided by
Test::More.
What we'd really want is
# Failed test 'creating a replication slot'
# at t/020_pg_receivewal.pl line 36.
because that's where the code that's doing the testing is.
To achieve that, we need to have our test library functions tell that
they are support functions and not the actual tests. The attached patch
does that. The mechanism is (somewhat) explained in the Test::Builder
man page.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
On 05/06/18 18:28, Peter Eisentraut wrote:
Right now, when a TAP test reports a failure, it looks something like this:
# Failed test 'creating a replication slot'
# at
/....../postgresql/src/bin/pg_basebackup/../../../src/test/perl/TestLib.pm
line 371.That file location is where we call out to the test function provided by
Test::More.What we'd really want is
# Failed test 'creating a replication slot'
# at t/020_pg_receivewal.pl line 36.because that's where the code that's doing the testing is.
To achieve that, we need to have our test library functions tell that
they are support functions and not the actual tests. The attached patch
does that. The mechanism is (somewhat) explained in the Test::Builder
man page.
Looks good. I wish there was some way to remind to do this for any
future test helper functions, too, but I don't have any ideas off the
top of my head.
Since this is purely a test change, IMO this could go to master now, no
need to wait for until v12 development starts.
- Heikki
On 21.06.18 19:30, Heikki Linnakangas wrote:
Looks good. I wish there was some way to remind to do this for any
future test helper functions, too, but I don't have any ideas off the
top of my head.
Committed.
Since this is purely a test change, IMO this could go to master now, no
need to wait for until v12 development starts.
I didn't want to deal with the potential for some version differences in
the test modules to cause rare problems, so v12 only for now.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
On Sun, Jul 01, 2018 at 01:17:07PM +0200, Peter Eisentraut wrote:
On 21.06.18 19:30, Heikki Linnakangas wrote:
Since this is purely a test change, IMO this could go to master now, no
need to wait for until v12 development starts.I didn't want to deal with the potential for some version differences in
the test modules to cause rare problems, so v12 only for now.
Totally agreed. Thanks for taking this approach.
--
Michael