@@ -215,10 +215,49 @@ def test_winner_restart(self):
215
215
self .assertCommits (aggs [1 :])
216
216
self .assertIsolation (aggs )
217
217
218
+ self .client .get_aggregates (clean = False )
219
+ self .client .stop ()
220
+
218
221
# need to start node1 to perform consequent tests
219
222
docker_api = docker .from_env ()
220
223
docker_api .containers .get ('node1' ).start ()
221
- self .awaitCommit (0 )
224
+ self .awaitOnline ("dbname=regression user=postgres host=127.0.0.1 port=15432" )
225
+
226
+ self .client .bgrun ()
227
+ time .sleep (3 )
228
+
229
+ def test_winner_crash (self ):
230
+ print ('### test_winner_crash ###' )
231
+
232
+ aggs_failure , aggs = self .performFailure (StopNode ('node1' ))
233
+
234
+ self .assertNoCommits (aggs_failure [:1 ])
235
+ self .assertCommits (aggs_failure [1 :])
236
+ self .assertIsolation (aggs_failure )
237
+
238
+ self .assertNoCommits (aggs [:1 ])
239
+ self .assertCommits (aggs [1 :])
240
+ self .assertIsolation (aggs )
241
+
242
+ aggs_failure , aggs = self .performFailure (CrashRecoverNode ('node2' ), node_wait_for_commit = 1 )
243
+
244
+ self .assertNoCommits (aggs_failure )
245
+ self .assertIsolation (aggs_failure )
246
+
247
+ self .assertNoCommits (aggs [:1 ])
248
+ self .assertCommits (aggs [1 :])
249
+ self .assertIsolation (aggs )
250
+
251
+ self .client .get_aggregates (clean = False )
252
+ self .client .stop ()
253
+
254
+ # need to start node1 to perform consequent tests
255
+ docker_api = docker .from_env ()
256
+ docker_api .containers .get ('node1' ).start ()
257
+ self .awaitOnline ("dbname=regression user=postgres host=127.0.0.1 port=15432" )
258
+
259
+ self .client .bgrun ()
260
+ time .sleep (3 )
222
261
223
262
224
263
if __name__ == '__main__' :
0 commit comments