Re: psql tests hangs

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Kirk Wolak <wolakk(at)gmail(dot)com>, Daniel Gustafsson <daniel(at)yesql(dot)se>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
Subject: Re: psql tests hangs
Date: 2023-05-12 16:12:56
Message-ID: CAFj8pRC4a_gMC+o8qrRYfEZyui8fgE-ezpZZxMk3346MtR200Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

pá 12. 5. 2023 v 17:50 odesílatel Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> napsal:

> Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> writes:
> > pá 12. 5. 2023 v 15:26 odesílatel Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> napsal:
> >> Oh! AFAICS, we don't do any of those things, but I agree it seems like
> >> a good idea. Can you confirm that if you unset PSQL_WATCH_PAGER then
> >> the test passes for you?
>
> > yes, I tested it now, and unset PSQL_WATCH_PAGER fixed this issue.
>
> OK. So after looking at this a bit, the reason PAGER and PSQL_PAGER
> don't cause us any problems in the test environment is that they are
> not honored unless isatty(fileno(stdin)) && isatty(fileno(stdout)).
> It seems to me that it's a bug that there is no such check before
> using PSQL_WATCH_PAGER. Is there actually any defensible reason
> for that?
>

Theoretically, we can write tests for these features, and then stdout,
stdin may not be tty.

Except for testing, using pager in non-interactive mode makes no sense.

Regards

Pavel

> I think we do need to clear out all three variables in
> Cluster::interactive_psql. But our regular psql tests shouldn't
> be at risk here.
>
> regards, tom lane
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message MARK CALLAGHAN 2023-05-12 16:41:33 Re: Large files for relations
Previous Message David G. Johnston 2023-05-12 16:12:14 Re: Adding SHOW CREATE TABLE