-
Notifications
You must be signed in to change notification settings - Fork 2
/
sktest_kavoon.py
58 lines (45 loc) · 1.37 KB
/
sktest_kavoon.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
from sktest_helpers import create_default_chain, list_differences
import time
num_nodes = 2
ch = create_default_chain(num_nodes, num_accounts=4)
ch.start()
node1 = ch.nodes[0]
node2 = ch.nodes[1]
eth1 = node1.eth
eth2 = node2.eth
eth1.pauseBroadcast(True)
eth2.pauseBroadcast(True)
tx1 = ch.transaction_obj(_from=0, nonce=0)
tx2 = ch.transaction_obj(_from=1, nonce=0)
tx3 = ch.transaction_obj(_from=2, nonce=0)
tx4 = ch.transaction_obj(_from=3, nonce=0)
eth2.sendRawTransaction(tx1)
time.sleep(1)
eth1.sendRawTransaction(tx1)
ch.wait_block()
eth2.sendRawTransaction(tx2)
time.sleep(1)
eth1.sendRawTransaction(tx2)
ch.wait_block()
eth2.sendRawTransaction(tx3)
time.sleep(1)
eth1.sendRawTransaction(tx3)
ch.wait_block()
time.sleep(2)
############################################
difference = difference = ch.compare_all_states()
if difference is None:
print('States on all nodes are consistent')
print('*** Test passed ***')
else:
states = [ch.state(index) for index in range(num_nodes)]
for a_index in range(num_nodes):
for b_index in range(a_index + 1, num_nodes):
diff = list_differences(states[a_index], states[b_index])
if diff:
print('')
print(f'Difference between node #{a_index + 1} and #{b_index + 1}')
print('\n'.join(diff))
print('*** Test failed ***')
input("press")
ch.stop()