Re: Add extension options to control TAP and isolation tests

From: Arthur Zakirov <a(dot)zakirov(at)postgrespro(dot)ru>
To: Michael Paquier <michael(at)paquier(dot)xyz>, Nikolay Shaplov <dhyan(at)nataraj(dot)su>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org, Adam Berlin <berlin(dot)ab(at)gmail(dot)com>
Subject: Re: Add extension options to control TAP and isolation tests
Date: 2018-11-23 14:29:00
Message-ID: 84ee717f-f70e-28d9-06d4-71593b13a59f@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello,

On 21.11.2018 03:39, Michael Paquier wrote:
> I have added a reference to regress-tap in one of the new paragraphs.
> Linking the existing stuff to point to "regress" is a separate issue
> though, and while pointing to the TAP section is adapted as its
> guidelines are rather general, I am not sure which one would make the
> most sense though.
> --
> Michael

The patch is very useful. Using TAP_TESTS is more convenient and clearer
than adding wal-check target. Every time I was adding TAP tests for a
extension I had to remember that I should add wal-check.

After applying the patch all tests pass, there wasn't any error.

Also I tested it in one of our extension which has TAP tests.
installcheck and check work as expected.

I think the patch can be marked as "Ready for Committer".

But there is a problem that you need to copy your extension to the
contrib directory if you want to run TAP tests. I tried to run TAP test
of the extension outside of PostgreSQL source directory. And it failed
to run the test. It is because `prove_installcheck` redefines
`top_builddir` and `PG_REGRESS`:

cd ./ && TESTDIR='/home/artur/source/pg/rum'
PATH="/home/artur/progs/pgsql/bin:$PATH" PGPORT='65432'
top_builddir='/home/artur/source/pg/rum//home/artur/progs/pgsql/lib/pgxs/src/makefiles/../..'
PG_REGRESS='/home/artur/source/pg/rum//home/artur/progs/pgsql/lib/pgxs/src/makefiles/../../src/test/regress/pg_regress'
/usr/sbin/prove -I
/home/artur/progs/pgsql/lib/pgxs/src/makefiles/../../src/test/perl/ -I
./ t/*.pl
t/001_wal.pl .. Bailout called. Further testing stopped: system
/home/artur/source/pg/rum//home/artur/progs/pgsql/lib/pgxs/src/makefiles/../../src/test/regress/pg_regress
failed

Unfortunately I didn't find the way to run it, maybe I miss something.
It can be fixed by an additional patch I attached. I think I can create
an entry in the future commitfest or it can be joined into your patch.

--
Arthur Zakirov
Postgres Professional: http://www.postgrespro.com
Russian Postgres Company

Attachment Content-Type Size
use_pgxs_tap_tests.patch text/x-patch 1.7 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jakub Glapa 2018-11-23 14:31:41 Re: dsa_allocate() faliure
Previous Message Sergey Cherkashin 2018-11-23 14:13:24 Re: Psql patch to show access methods info