-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcommandGen.py
117 lines (86 loc) · 3.41 KB
/
commandGen.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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# generation a list of commands
# just use put
import os
import random
import pickle
commands = ['joinServer' ,
'killServer' ,
'joinClient' ,
'breakConnection' ,
'createConnection' ,
'stabilize' ,
'printStore',
'put' ,
'get' ]
command_Nums = 5000
key = list('abcdefghijklmnopqrstuvwxyz1234567890')
clientid = list('56789')
chars = '1234567890qwertyuiopasdfghjklzxcvbnm'
lenchars = len(chars)
low = 8000
high = 10000
longerkeys = [i + j + k for i in key for j in key for k in key]
kv_store = {}
with open('tests/commandPartition.txt', 'w') as f:
# use 3 servers at first
for i in range(3):
f.write("joinServer %d\n" % (i))
f.write("joinClient %d %d\n" % (i + 5, i))
for _ in range(command_Nums ):
length = random.randint(low,high)
k = longerkeys[random.randint(0, len(longerkeys) - 1)]
c = ''
for i in range(length):
c += chars[random.randint(0, lenchars - 1)]
f.write('put ' + clientid[random.randint(0,2)] + ' ' + k + ' ' + c + '\n')
for i in range(3, 4):
f.write("joinServer %d\n" % (i))
f.write("joinClient %d %d\n" % (i + 5, i))
for _ in range(command_Nums ):
length = random.randint(low,high)
k = longerkeys[random.randint(0, len(longerkeys) - 1)]
c = ''
for i in range(length):
c += chars[random.randint(0, lenchars - 1)]
f.write('put ' + clientid[random.randint(0,3)] + ' ' + k + ' ' + c + '\n')
for i in range(4, 5):
f.write("joinServer %d\n" % (i))
f.write("joinClient %d %d\n" % (i + 5, i))
for _ in range(command_Nums ):
length = random.randint(low,high)
k = longerkeys[random.randint(0, len(longerkeys) - 1)]
c = ''
for i in range(length):
c += chars[random.randint(0, lenchars - 1)]
f.write('put ' + clientid[random.randint(0,4)] + ' ' + k + ' ' + c + '\n')
f.write('breakConnection 0 2\nbreakConnection 0 3\nbreakConnection 0 4\nbreakConnection 1 3\nbreakConnection 1 4\nbreakConnection 2 4\nbreakConnection 2 3\n')
for _ in range(command_Nums ):
length = random.randint(low,high)
k = longerkeys[random.randint(0, len(longerkeys) - 1)]
c = ''
for i in range(length):
c += chars[random.randint(0, lenchars - 1)]
f.write('put ' + clientid[random.randint(0,4)] + ' ' + k + ' ' + c + '\n')
f.write('killServer 4\n')
for _ in range(command_Nums ):
length = random.randint(low,high)
k = longerkeys[random.randint(0, len(longerkeys) - 1)]
c = ''
for i in range(length):
c += chars[random.randint(0, lenchars - 1)]
f.write('put ' + clientid[random.randint(0,3)] + ' ' + k + ' ' + c + '\n')
for i in range(4, 5):
f.write("joinServer %d\n" % (i))
f.write("joinClient %d %d\n" % (i + 5, i))
# for _ in range(command_Nums ):
# length = random.randint(low,high)
# k = longerkeys[random.randint(0, len(longerkeys) - 1)]
# c = ''
# for i in range(length):
# c += chars[random.randint(0, lenchars - 1)]
# f.write('put ' + clientid[random.randint(0,4)] + ' ' + k + ' ' + c + '\n')
f.write("stabilize\n")
for i in range(5):
f.write("printStore %d\n" % (i))
f.write("killServer %d\n" % (i))
f.write("#\n")