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

Reply via email to