Add diagnostic output on error in pump_until
authorDaniel Gustafsson <dgustafsson@postgresql.org>
Thu, 31 Mar 2022 09:16:16 +0000 (11:16 +0200)
committerDaniel Gustafsson <dgustafsson@postgresql.org>
Thu, 31 Mar 2022 09:16:16 +0000 (11:16 +0200)
When pump_until was moved to Utils.pm in commit 6da65a3f9 the diag
calls were removed, this puts them back.

Per request from Andres Freund.

Discussion: https://postgr.es/m/20220329225819.ahk5u2tax3ez6d2t@alap3.anarazel.de

src/test/perl/PostgreSQL/Test/Utils.pm

index 15b314d1f8901588f05c3efff8a4cbafd51e10ac..dca1b3b17c4e95c630d8e52331916f9aa25446ac 100644 (file)
@@ -426,8 +426,16 @@ sub pump_until
        while (1)
        {
                last if $$stream =~ /$until/;
-               return 0 if ($timeout->is_expired);
-               return 0 if (not $proc->pumpable());
+               if ($timeout->is_expired)
+               {
+                       diag("pump_until: timeout expired when searching for \"$until\" with stream: \"$$stream\"");
+                       return 0;
+               }
+               if (not $proc->pumpable())
+               {
+                       diag("pump_until: process terminated unexpectedly when searching for \"$until\" with stream: \"$$stream\"");
+                       return 0;
+               }
                $proc->pump();
        }
        return 1;