Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitbe1b3f6

Browse files
committed
run recovery test at travis
1 parent6836fae commitbe1b3f6

File tree

3 files changed

+25
-41
lines changed

3 files changed

+25
-41
lines changed

‎tests2/lib/bank_client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def finish_tx(self, name):
3030
iflatency>self.max_latency:
3131
self.max_latency=latency
3232

33-
ifnamenotinself.finish:
33+
ifnamenotinself.finish:
3434
self.finish[name]=1
3535
else:
3636
self.finish[name]+=1
@@ -194,7 +194,7 @@ def run(self):
194194
self.loop.run_forever()
195195

196196
defbgrun(self):
197-
print('Starting evloop in different process');
197+
print('Starting evloop in different process')
198198
self.parent_pipe,self.child_pipe=aioprocessing.AioPipe()
199199
self.evloop_process=multiprocessing.Process(target=self.run,args=())
200200
self.evloop_process.start()

‎tests2/lib/failure_injector.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,13 @@ def container_exec(self, node, command):
99
exec_id=self.docker_api.exec_create(node,command,user='root')
1010
output=self.docker_api.exec_start(exec_id)
1111

12+
classNoFailure(FailureInjector):
13+
14+
defstart(self):
15+
return
16+
17+
defstop(self):
18+
return
1219

1320
classSingleNodePartition(FailureInjector):
1421

‎tests2/test_recovery.py

Lines changed: 16 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,12 @@ class RecoveryTest(unittest.TestCase, TestHelper):
5757

5858
@classmethod
5959
defsetUpClass(self):
60-
#subprocess.check_call(['docker-compose','up',
61-
# '--force-recreate',
62-
# '-d'])
60+
subprocess.check_call(['docker-compose','up',
61+
'--force-recreate',
62+
'-d'])
6363

6464
# XXX: add normal wait here
65-
#time.sleep(30)
65+
time.sleep(20)
6666
self.client=MtmClient([
6767
"dbname=regression user=postgres host=127.0.0.1 port=15432",
6868
"dbname=regression user=postgres host=127.0.0.1 port=15433",
@@ -75,24 +75,18 @@ def tearDownClass(self):
7575
print('tearDown')
7676
self.client.stop()
7777
# XXX: check nodes data identity here
78-
#subprocess.check_call(['docker-compose','down'])
78+
subprocess.check_call(['docker-compose','down'])
7979

8080
deftest_normal_operations(self):
8181
print('### normal_operations ###')
8282

83-
self.client.clean_aggregates()
84-
time.sleep(TEST_DURATION)
85-
aggs_failure=self.client.get_aggregates()
86-
87-
self.client.clean_aggregates()
88-
time.sleep(TEST_RECOVERY_TIME)
89-
aggs=self.client.get_aggregates()
83+
aggs_failure,aggs=self.performFailure(NoFailure())
9084

91-
foragginaggs_failure:
92-
self.assertTrue('commit'inaggs_failure[agg]['finish'])
85+
self.assertCommits(aggs_failure)
86+
self.assertIsolation(aggs_failure)
9387

94-
foragginaggs:
95-
self.assertTrue('commit'inaggs[agg]['finish'])
88+
self.assertCommits(aggs)
89+
self.assertIsolation(aggs)
9690

9791

9892
deftest_node_partition(self):
@@ -111,31 +105,14 @@ def test_node_partition(self):
111105
deftest_edge_partition(self):
112106
print('### edgePartitionTest ###')
113107

114-
failure=EdgePartition('node2','node3')
115-
failure.start()
108+
aggs_failure,aggs=self.performFailure(EdgePartition('node2','node3'))
116109

117-
self.client.clean_aggregates()
118-
time.sleep(TEST_DURATION)
119-
aggs_failure=self.client.get_aggregates()
120-
121-
failure.stop()
122-
123-
self.client.clean_aggregates()
124-
time.sleep(TEST_RECOVERY_TIME)
125-
aggs=self.client.get_aggregates()
110+
self.assertTrue( ('commit'inaggs_failure[1]['transfer']['finish'])or ('commit'inaggs_failure[2]['transfer']['finish']) )
111+
self.assertCommits(aggs_failure[0:1])# first node
112+
self.assertIsolation(aggs_failure)
126113

127-
self.assertTrue( ('commit'inaggs_failure['transfer_2']['finish'])or ('commit'inaggs_failure['transfer_1']['finish']) )
128-
self.assertTrue('commit'inaggs_failure['transfer_0']['finish'] )
129-
self.assertTrue(aggs_failure['sumtotal_0']['isolation']==0)
130-
self.assertTrue(aggs_failure['sumtotal_1']['isolation']==0)
131-
self.assertTrue(aggs_failure['sumtotal_2']['isolation']==0)
132-
133-
self.assertTrue('commit'inaggs['transfer_0']['finish'] )
134-
self.assertTrue('commit'inaggs['transfer_1']['finish'] )
135-
self.assertTrue('commit'inaggs['transfer_2']['finish'] )
136-
self.assertTrue(aggs['sumtotal_0']['isolation']==0)
137-
self.assertTrue(aggs['sumtotal_1']['isolation']==0)
138-
self.assertTrue(aggs['sumtotal_2']['isolation']==0)
114+
self.assertCommits(aggs)
115+
self.assertIsolation(aggs)
139116

140117
subprocess.check_call(['blockade','join'])
141118
print("Node3 joined back")

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp