From 94ccffb2b5b22408f0f5395b820bcfa5c1b172d3 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 16 Oct 2018 12:32:28 -0400 Subject: [PATCH] Make PostgresNode.pm's poll_query_until() more chatty about failures. Reporting only the stderr is unhelpful when the problem is that the server output we're getting doesn't match what was expected. So we should report the query output too; and just for good measure, let's print the query we used and the output we expected. Back-patch to 9.5 where poll_query_until was introduced. Discussion: https://postgr.es/m/17913.1539634756@sss.pgh.pa.us --- src/bin/pg_rewind/RewindTest.pm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/bin/pg_rewind/RewindTest.pm b/src/bin/pg_rewind/RewindTest.pm index 426bd6e5cf..734adb72ec 100644 --- a/src/bin/pg_rewind/RewindTest.pm +++ b/src/bin/pg_rewind/RewindTest.pm @@ -151,9 +151,18 @@ sub poll_query_until $attempts++; } - # The query result didn't change in 90 seconds. Give up. Print the stderr - # from the last attempt, hopefully that's useful for debugging. - diag $stderr; + # The query result didn't change in 90 seconds. Give up. Print the + # output from the last attempt, hopefully that's useful for debugging. + chomp($stderr); + $stderr =~ s/\r//g if $Config{osname} eq 'msys'; + diag qq(poll_query_until timed out executing this query: +$query +expecting this output: +t +last actual query output: +$stdout +with stderr: +$stderr); return 0; } -- 2.50.0