|
72 | 72 | INSERT INTO alive VALUES($$committed-before-sigquit$$); |
73 | 73 | SELECT pg_backend_pid(); |
74 | 74 | ]; |
75 | | -ok(pump_until($killme, \$killme_stdout, qr/[[:digit:]]+[\r\n]$/m), |
| 75 | +ok(pump_until($killme, $psql_timeout, \$killme_stdout, qr/[[:digit:]]+[\r\n]$/m), |
76 | 76 | 'acquired pid for SIGQUIT'); |
77 | 77 | my $pid = $killme_stdout; |
78 | 78 | chomp($pid); |
|
84 | 84 | BEGIN; |
85 | 85 | INSERT INTO alive VALUES($$in-progress-before-sigquit$$) RETURNING status; |
86 | 86 | ]; |
87 | | -ok(pump_until($killme, \$killme_stdout, qr/in-progress-before-sigquit/m), |
| 87 | +ok(pump_until($killme, $psql_timeout, \$killme_stdout, qr/in-progress-before-sigquit/m), |
88 | 88 | 'inserted in-progress-before-sigquit'); |
89 | 89 | $killme_stdout = ''; |
90 | 90 | $killme_stderr = ''; |
|
97 | 97 | SELECT $$psql-connected$$; |
98 | 98 | SELECT pg_sleep(3600); |
99 | 99 | ]; |
100 | | -ok(pump_until($monitor, \$monitor_stdout, qr/psql-connected/m), |
| 100 | +ok(pump_until($monitor, $psql_timeout, \$monitor_stdout, qr/psql-connected/m), |
101 | 101 | 'monitor connected'); |
102 | 102 | $monitor_stdout = ''; |
103 | 103 | $monitor_stderr = ''; |
|
114 | 114 | ]; |
115 | 115 | ok( pump_until( |
116 | 116 | $killme, |
| 117 | + $psql_timeout, |
117 | 118 | \$killme_stderr, |
118 | 119 | qr/WARNING: terminating connection because of crash of another server process|server closed the connection unexpectedly|connection to server was lost/m |
119 | 120 | ), |
|
127 | 128 | # sending. |
128 | 129 | ok( pump_until( |
129 | 130 | $monitor, |
| 131 | + $psql_timeout, |
130 | 132 | \$monitor_stderr, |
131 | 133 | qr/WARNING: terminating connection because of crash of another server process|server closed the connection unexpectedly|connection to server was lost/m |
132 | 134 | ), |
|
149 | 151 | $killme_stdin .= q[ |
150 | 152 | SELECT pg_backend_pid(); |
151 | 153 | ]; |
152 | | -ok(pump_until($killme, \$killme_stdout, qr/[[:digit:]]+[\r\n]$/m), |
| 154 | +ok(pump_until($killme, $psql_timeout, \$killme_stdout, qr/[[:digit:]]+[\r\n]$/m), |
153 | 155 | "acquired pid for SIGKILL"); |
154 | 156 | $pid = $killme_stdout; |
155 | 157 | chomp($pid); |
|
162 | 164 | BEGIN; |
163 | 165 | INSERT INTO alive VALUES($$in-progress-before-sigkill$$) RETURNING status; |
164 | 166 | ]; |
165 | | -ok(pump_until($killme, \$killme_stdout, qr/in-progress-before-sigkill/m), |
| 167 | +ok(pump_until($killme, $psql_timeout, \$killme_stdout, qr/in-progress-before-sigkill/m), |
166 | 168 | 'inserted in-progress-before-sigkill'); |
167 | 169 | $killme_stdout = ''; |
168 | 170 | $killme_stderr = ''; |
|
174 | 176 | SELECT $$psql-connected$$; |
175 | 177 | SELECT pg_sleep(3600); |
176 | 178 | ]; |
177 | | -ok(pump_until($monitor, \$monitor_stdout, qr/psql-connected/m), |
| 179 | +ok(pump_until($monitor, $psql_timeout, \$monitor_stdout, qr/psql-connected/m), |
178 | 180 | 'monitor connected'); |
179 | 181 | $monitor_stdout = ''; |
180 | 182 | $monitor_stderr = ''; |
|
192 | 194 | ]; |
193 | 195 | ok( pump_until( |
194 | 196 | $killme, |
| 197 | + $psql_timeout, |
195 | 198 | \$killme_stderr, |
196 | 199 | qr/server closed the connection unexpectedly|connection to server was lost/m |
197 | 200 | ), |
|
203 | 206 | # sending. |
204 | 207 | ok( pump_until( |
205 | 208 | $monitor, |
| 209 | + $psql_timeout, |
206 | 210 | \$monitor_stderr, |
207 | 211 | qr/WARNING: terminating connection because of crash of another server process|server closed the connection unexpectedly|connection to server was lost/m |
208 | 212 | ), |
|
240 | 244 | 'can still write after orderly restart'); |
241 | 245 |
|
242 | 246 | $node->stop(); |
243 | | - |
244 | | -# Pump until string is matched, or timeout occurs |
245 | | -sub pump_until |
246 | | -{ |
247 | | - my ($proc, $stream, $untl) = @_; |
248 | | - $proc->pump_nb(); |
249 | | - while (1) |
250 | | - { |
251 | | - last if $$stream =~ /$untl/; |
252 | | - if ($psql_timeout->is_expired) |
253 | | - { |
254 | | - diag("aborting wait: program timed out"); |
255 | | - diag("stream contents: >>", $$stream, "<<"); |
256 | | - diag("pattern searched for: ", $untl); |
257 | | - |
258 | | - return 0; |
259 | | - } |
260 | | - if (not $proc->pumpable()) |
261 | | - { |
262 | | - diag("aborting wait: program died"); |
263 | | - diag("stream contents: >>", $$stream, "<<"); |
264 | | - diag("pattern searched for: ", $untl); |
265 | | - |
266 | | - return 0; |
267 | | - } |
268 | | - $proc->pump(); |
269 | | - } |
270 | | - return 1; |
271 | | - |
272 | | -} |
0 commit comments