|
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