Re: pg_regress: schedule multi-line test groups

From: Alexandre Felipe <o(dot)alexandre(dot)felipe(at)gmail(dot)com>
To: Zsolt Parragi <zsolt(dot)parragi(at)percona(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org, Daniel Gustafsson <daniel(at)yesql(dot)se>, Michael Paquier <michael(at)paquier(dot)xyz>
Subject: Re: pg_regress: schedule multi-line test groups
Date: 2026-11-15 12:32:17
Message-ID: CAE8JnxP=V5trXGUW9afzkC-jzKWw-gdhM19Aq-06xErVok7MHQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Nov 13, 2026 at 4:10 PM Zsolt Parragi <zsolt(dot)parragi(at)percona(dot)com>
wrote:

> Hello
>

Hello
Thank you for joining.

> This looks like a good feature, but I think the parser needs some
> improvements:
>
> 1. A test name directly followed by # is silently dropped
>
> test: a b#note

or
>
> test:
> a
> b# depends on a
>
> Will only run 'a'

Fixed, updated syntax at the function doc comment.

> 2. An empty or comment-only schedule file now fails
>
Yes, intentionally, the patch preamble mentions that.

3. The --max-concurrent-tests error reports the wrong line
>
> test:
> a
> b
> c
> d
> test: a
>
> With --max-concurrent-tests=3 this reports "line 6: test: a". With a
> trailing comment after the group it reports the comment line instead.
> Maybe it should point to the start of the test?
>

upstream has two conditions with the same error message, and I failed
to distinguish them.

Now there is only one message, will show
> in schedule file "..." line 5, test d: max concurrency (3) exceeded
I think this is better than the pointing to the start of the test, but
if that is still preferred it can easily be changed.

4. (2) and (3) both come from the goto structure. Wouldn't a
> run_test_group() helper be simpler?
>

It would, I was trying to keep the *patch* as small as possible
I suggested some functional changes in this thread on 2026-09-20 [1]
I recorded a video presenting a mockup of of that in [2]

5.
>
> EFFECTIVE CONCURRENCY
> =====================
> This also add for each group a note about the average execution
> concurrency achieved during the test.
>
> # parallel group (2 tests): brin_bloom brin_multi
> # effective concurrency 1.46 / 2
>
> Wouldn't it be better to separate this part into a separate patch file?
>

v2.3 puts effective concurrency logging in a separate patch.

[1]
https://www.postgresql.org/message-id/CAE8JnxPycpY5mk7C-rNa4jeMQQXG1H5mobB10Oa_CaQs1nBvUg%40mail.gmail.com
[2] https://youtu.be/FHjQEuDoxFw

Attachment Content-Type Size
index.html text/html 16.8 KB
v2.3-0001-pg_regress-multi-line-test-groups.patch application/octet-stream 17.7 KB
v2.3-0002-pg_regress-report-group-effective-concurrency.patch application/octet-stream 2.2 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrey Borodin 2026-11-15 13:13:07 Re: transaction_timeout is not enforced during ClientWrite
Previous Message Andrey Borodin 2026-11-15 12:27:44 Re: Be strict when request to flush past end of WAL in WaitXLogInsertionsToFinish