The easiest way to fix 030_pager.pl is to just replace ' ' with '*'
in regex. With readline, everything that we look for is placed on
its own line so we don't break anything, but --without-readline
produces the following output (with some hand-written debug info):
IPC::Run 0000 [#2(438962)]: ** pumping
IPC::Run 0000 [#2(438962)]: read( 11 ) = 4 chars '39
IPC::Run 0000 [#2(438962)]: '
stream:postgres=# \pset expanded
SELECT generate_series(1,20) as g;
Expanded display is on.
postgres=# 39
So the output that is turned on with IPCRUNDEBUG=data shows us "we got
only 4 chars, '39\n\0'!", but in reality we have more stuff in stream,
so pump_until() function doesn't match with passed regex
Patch is attached
Regards,
Oleg
diff --git a/src/bin/psql/t/030_pager.pl b/src/bin/psql/t/030_pager.pl
index cf81fb1603c..3e34ae1a16f 100644
--- a/src/bin/psql/t/030_pager.pl
+++ b/src/bin/psql/t/030_pager.pl
@@ -85,17 +85,17 @@ do_command(
do_command(
"SELECT 'test' AS t FROM generate_series(1,24);\n",
- qr/^ *24\r?$/m,
+ qr/^.*24\r?$/m,
"execute SELECT query that needs pagination");
do_command(
"\\pset expanded\nSELECT generate_series(1,20) as g;\n",
- qr/^ *39\r?$/m,
+ qr/^.*39\r?$/m,
"execute SELECT query that needs pagination in expanded mode");
do_command(
"\\pset tuples_only off\n\\d+ information_schema.referential_constraints\n",
- qr/^ *\d+\r?$/m,
+ qr/^.*\d+\r?$/m,
"execute command with footer that needs pagination");
# send psql an explicit \q to shut it down, else pty won't close properly