Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit c42e368

Browse files
committed
do more tests without db reinit
1 parent 2cb0f75 commit c42e368

File tree

2 files changed

+34
-17
lines changed

2 files changed

+34
-17
lines changed

tests2/lib/test_helper.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,18 @@ def awaitOnline(self, dsn):
6666
time.sleep(5)
6767
total_sleep += 5
6868

69+
def assertDataSync(self):
70+
self.client.stop()
71+
72+
if not self.client.is_data_identic():
73+
raise AssertionError('Different data on nodes')
74+
75+
if self.client.no_prepared_tx() != 0:
76+
raise AssertionError('There are some uncommitted tx')
77+
78+
self.client.bgrun()
79+
80+
6981
def performFailure(self, failure, wait=0, node_wait_for_commit=-1, node_wait_for_online=None, stop_load=False):
7082

7183
time.sleep(TEST_WARMING_TIME)

tests2/test_recovery.py

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,11 @@ def test_node_partition(self):
8484
def test_edge_partition(self):
8585
print('### test_edge_partition ###')
8686

87-
aggs_failure, aggs = self.performFailure(EdgePartition('node2', 'node3'),
87+
aggs_failure, aggs = self.performFailure(EdgePartition('node1', 'node3'),
8888
node_wait_for_online="dbname=regression user=postgres host=127.0.0.1 port=15434", stop_load=True)
8989

90-
self.assertTrue( ('commit' in aggs_failure[1]['transfer']['finish']) or ('commit' in aggs_failure[2]['transfer']['finish']) )
91-
self.assertCommits(aggs_failure[0:1]) # first node
90+
self.assertTrue( ('commit' in aggs_failure[0]['transfer']['finish']) or ('commit' in aggs_failure[2]['transfer']['finish']) )
91+
self.assertCommits(aggs_failure[1:2]) # second node
9292
self.assertIsolation(aggs_failure)
9393

9494
self.assertCommits(aggs)
@@ -136,25 +136,30 @@ def test_node_crash(self):
136136
def test_node_bicrash(self):
137137
print('### test_node_bicrash ###')
138138

139-
aggs_failure, aggs = self.performFailure(CrashRecoverNode('node3'),
140-
node_wait_for_commit=2, stop_load=True)
139+
for _ in range(10):
140+
aggs_failure, aggs = self.performFailure(CrashRecoverNode('node3'),
141+
node_wait_for_commit=2, stop_load=True)
141142

142-
self.assertCommits(aggs_failure[:2])
143-
self.assertNoCommits(aggs_failure[2:])
144-
self.assertIsolation(aggs_failure)
143+
self.assertCommits(aggs_failure[:2])
144+
self.assertNoCommits(aggs_failure[2:])
145+
self.assertIsolation(aggs_failure)
145146

146-
self.assertCommits(aggs)
147-
self.assertIsolation(aggs)
147+
self.assertCommits(aggs)
148+
self.assertIsolation(aggs)
148149

149-
aggs_failure, aggs = self.performFailure(CrashRecoverNode('node1'),
150-
node_wait_for_commit=0, stop_load=True)
150+
aggs_failure, aggs = self.performFailure(CrashRecoverNode('node1'),
151+
node_wait_for_commit=0, stop_load=True)
151152

152-
self.assertNoCommits(aggs_failure[0:1]) # [1]
153-
self.assertCommits(aggs_failure[1:]) # [2, 3]
154-
self.assertIsolation(aggs_failure)
153+
self.assertNoCommits(aggs_failure[0:1]) # [1]
154+
self.assertCommits(aggs_failure[1:]) # [2, 3]
155+
self.assertIsolation(aggs_failure)
156+
157+
self.assertCommits(aggs)
158+
self.assertIsolation(aggs)
159+
160+
self.assertDataSync()
161+
print('### iteration okay ###')
155162

156-
self.assertCommits(aggs)
157-
self.assertIsolation(aggs)
158163

159164
if __name__ == '__main__':
160165
unittest.main()

0 commit comments

Comments
 (0)