~ubuntu-branches/ubuntu/vivid/emscripten/vivid

« back to all changes in this revision

Viewing changes to src/relooper/test_fuzz6.cpp

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-05-02 13:11:51 UTC
  • Revision ID: package-import@ubuntu.com-20130502131151-q8dvteqr1ef2x7xz
Tags: upstream-1.4.1~20130504~adb56cb
ImportĀ upstreamĀ versionĀ 1.4.1~20130504~adb56cb

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
 
 
3
#include <stdlib.h>
 
4
#include "Relooper.h"
 
5
 
 
6
int main() {
 
7
  #define SIZE (10*1024*1024)
 
8
  char *buffer = (char*)malloc(SIZE);
 
9
  Relooper::SetOutputBuffer(buffer, SIZE);
 
10
 
 
11
  Block *b0 = new Block("print('entry'); var label; var state; var decisions = [759, 1223, 618, 1805, 277, 512, 204, 1545, 606, 734, 585, 447, 1670, 1031, 665, 1728, 353, 634, 1033, 13, 658, 589, 474, 854, 405, 1111, 1640, 697, 1156, 1357, 317, 618, 990, 1401, 405, 564, 497, 829, 653, 1194, 25, 322, 1178, 198, 1565, 1419, 1608, 486, 368, 606, 813, 22, 148, 141, 261, 375, 472, 964, 1106, 694, 205, 771, 44, 675, 545, 1027, 1528, 240, 1289, 564, 792, 744, 366, 668, 823, 210, 428, 1009, 1662, 1317, 1183, 681, 14, 1334, 712, 506, 224, 695, 401, 1035, 384, 486, 1519, 122, 1186, 1487, 1819, 1702, 463, 1706, 660, 1642, 847, 991, 976, 940, 867, 46, 23, 1449, 56, 1711, 634, 404, 1558, 168, 710, 1581, 1302, 870, 997, 1295, 1739, 769, 1005, 291, 1638, 1771, 842, 659, 1695, 713, 935, 802, 1173, 1572, 850, 607, 996, 55, 1576, 321, 1815, 662, 1044, 1612, 1680, 1050, 844, 553, 278, 1447, 1662, 1094, 1797, 774, 1013, 1204, 907, 340, 1172, 1460, 869, 1264, 111, 1176, 484, 845, 258, 417, 1246, 1017, 745, 189, 333, 1658, 1395, 1764, 1786, 165, 404, 847, 1429, 1574, 403, 718, 1118, 1756, 94, 56, 1498, 1696, 1355, 840, 50, 82, 371, 1087, 875, 1337, 267, 958, 1209, 1167, 1025, 1684, 184, 962, 1496, 201, 127, 372, 1, 1005, 402, 1387, 213, 1143, 1271, 167, 10, 12, 1060, 1390, 1366, 893, 747, 1005, 481, 876, 227, 514, 589, 250, 273, 1188, 1052, 719, 219, 1006, 38, 120, 1454, 489, 672, 149, 534, 1081, 1721, 586, 330, 25, 356, 1743, 1607, 336, 981, 419, 1036, 1293, 1026, 1300, 1453, 792, 22, 45, 420, 409, 1027, 1437, 1421, 795, 136, 1276, 1610, 1593]; var index = 0; function check() { if (index == decisions.length) throw 'HALT'; return decisions[index++] }");
 
12
  Block *b1 = new Block("print(1); state = check();// ...........................................................................");
 
13
  Block *b2 = new Block("print(2); state = check();// .........");
 
14
  Block *b3 = new Block("print(3); state = check();// ..................................");
 
15
  Block *b4 = new Block("print(4); state = check();// ...........................................................................................................................");
 
16
  Block *b5 = new Block("print(5); state = check();// ..........................................................................................................................................");
 
17
  Block *b6 = new Block("print(6); state = check();// .........");
 
18
  Block *b7 = new Block("print(7); state = check();// .............................................................................................................................................................................................");
 
19
  Block *b8 = new Block("print(8); state = check();// ....................................................................................................................................................................................................................................................");
 
20
  Block *b9 = new Block("print(9); state = check();// ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................");
 
21
  Block *b10 = new Block("print(10); state = check();// ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................");
 
22
  Block *b11 = new Block("print(11); state = check();// ........................................................");
 
23
  Block *b12 = new Block("print(12); state = check();// ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................");
 
24
  Block *b13 = new Block("print(13); state = check();// ...................");
 
25
  Block *b14 = new Block("print(14); state = check();// .............................");
 
26
  Block *b15 = new Block("print(15); state = check();// ..................................................");
 
27
  Block *b16 = new Block("print(16); state = check();// ................................................................................................................................................................................................................................................................................................................................................................");
 
28
  Block *b17 = new Block("print(17); state = check();// ................................................................");
 
29
  Block *b18 = new Block("print(18); state = check();// ..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................");
 
30
  Block *b19 = new Block("print(19); state = check();// ......................................................................................................................................................................................................................");
 
31
  Block *b20 = new Block("print(20); state = check();// ..................................................................................................................................................................");
 
32
  Block *b21 = new Block("print(21); state = check();// ...........................");
 
33
  Block *b22 = new Block("print(22); state = check();// .........................................................................................................");
 
34
  Block *b23 = new Block("print(23); state = check();// .................................................................................................................................................................................................................");
 
35
  Block *b24 = new Block("print(24); state = check();// ...........................");
 
36
  Block *b25 = new Block("print(25); state = check();// ......................................................................................................................................................");
 
37
  Block *b26 = new Block("print(26); state = check();// .........................................................................................................................................................................................................................................................................");
 
38
  Block *b27 = new Block("print(27); state = check();// .............................................................................................................................................................................");
 
39
  Block *b28 = new Block("print(28); state = check();// ..............................................................................................................");
 
40
  Block *b29 = new Block("print(29); state = check();// ...............");
 
41
  Block *b30 = new Block("print(30); state = check();// .................................................................................................................................................................................................................");
 
42
  Block *b31 = new Block("print(31); state = check();// ..........................................................................................................................................................................................................");
 
43
  Block *b32 = new Block("print(32); state = check();// ......................................................................................................");
 
44
  Block *b33 = new Block("print(33); state = check();// ....");
 
45
  Block *b34 = new Block("print(34); state = check();// ..........................................................................................................................................");
 
46
  Block *b35 = new Block("print(35); state = check();// .................................");
 
47
  Block *b36 = new Block("print(36); state = check();// .........................");
 
48
  Block *b37 = new Block("print(37); state = check();// ................................................................................................................................");
 
49
  Block *b38 = new Block("print(38); state = check();// ............................................................................................................................................................................................................................................................................................................................................");
 
50
  Block *b39 = new Block("print(39); state = check();// ................");
 
51
  Block *b40 = new Block("print(40); state = check();// ................................................................................................................................................");
 
52
  Block *b41 = new Block("print(41); state = check();// ...................................................................................................................................");
 
53
  Block *b42 = new Block("print(42); state = check();// .....................................................");
 
54
  Block *b43 = new Block("print(43); state = check();// .........");
 
55
  Block *b44 = new Block("print(44); state = check();// .....................................................................................................................................................");
 
56
  Block *b45 = new Block("print(45); state = check();// ............................");
 
57
  Block *b46 = new Block("print(46); state = check();// .............................................................................");
 
58
  Block *b47 = new Block("print(47); state = check();// ....................................................................................................................................");
 
59
  Block *b48 = new Block("print(48); state = check();// ............");
 
60
  Block *b49 = new Block("print(49); state = check();// ............................................................................................................................................................................................................................................................................................");
 
61
  Block *b50 = new Block("print(50); state = check();// ........................................");
 
62
  Block *b51 = new Block("print(51); state = check();// .............................................................................................");
 
63
  Block *b52 = new Block("print(52); state = check();// ..............................................................................");
 
64
  Block *b53 = new Block("print(53); state = check();// ..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................");
 
65
  Block *b54 = new Block("print(54); state = check();// .....................................");
 
66
  Block *b55 = new Block("print(55); state = check();// ...........................................................................................................................................................................................................");
 
67
  Block *b56 = new Block("print(56); state = check();// ....................................................................................................................................................................................................................");
 
68
  Block *b57 = new Block("print(57); state = check();// ...........................................................................................................................................................................................................................................................................................................................");
 
69
  Block *b58 = new Block("print(58); state = check();// ......................................................................................");
 
70
  Block *b59 = new Block("print(59); state = check();// ...................................");
 
71
  Block *b60 = new Block("print(60); state = check();// ......................................................................................................................................................................................................................................");
 
72
  Block *b61 = new Block("print(61); state = check();// .........................................................................................................................................................");
 
73
  Block *b62 = new Block("print(62); state = check();// .......................................................................................");
 
74
  Block *b63 = new Block("print(63); state = check();// .....................................................................................................................................................................");
 
75
  Block *b64 = new Block("print(64); state = check();// .......................................................................................................................................................................................................................................................................");
 
76
  Block *b65 = new Block("print(65); state = check();// .........................................................");
 
77
  Block *b66 = new Block("print(66); state = check();// ...............................................................................................................");
 
78
  Block *b67 = new Block("print(67); state = check();// .....................................................................................................................................................................................................................");
 
79
  Block *b68 = new Block("print(68); state = check();// ......................................................................................................................................................................................................................................................................................................................");
 
80
  Block *b69 = new Block("print(69); state = check();// ......................................................................................................................................................");
 
81
  Block *b70 = new Block("print(70); state = check();// ..........................................................................................................................");
 
82
  Block *b71 = new Block("print(71); state = check();// ...........................................................................................................................................................................................................");
 
83
  Block *b72 = new Block("print(72); state = check();// ..........................................................................................................");
 
84
  Block *b73 = new Block("print(73); state = check();// .");
 
85
  Block *b74 = new Block("print(74); state = check();// ..............................................");
 
86
  Block *b75 = new Block("print(75); state = check();// .............................................");
 
87
  Block *b76 = new Block("print(76); state = check();// ..............................................................................................................................................................................................................................................................................................................................................................................................................................");
 
88
  Block *b77 = new Block("print(77); state = check();// ...........................................................................................................................................................................................................................................................................................");
 
89
  Block *b78 = new Block("print(78); state = check();// ..........................................................................................");
 
90
  Block *b79 = new Block("print(79); state = check();// ...................................................................................................................................................................................................................................................");
 
91
  Block *b80 = new Block("print(80); state = check();// ....................................");
 
92
  Block *b81 = new Block("print(81); state = check();// ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................");
 
93
  Block *b82 = new Block("print(82); state = check();// ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................");
 
94
  Block *b83 = new Block("print(83); state = check();// ........................................................................................");
 
95
  Block *b84 = new Block("print(84); state = check();// ...................");
 
96
  Block *b85 = new Block("print(85); state = check();// .........................................................................................................................................................................................................................................................................................................................................................");
 
97
  Block *b86 = new Block("print(86); state = check();// .................................................................................................................................................................................................................................................");
 
98
  Block *b87 = new Block("print(87); state = check();// ......");
 
99
  Block *b88 = new Block("print(88); state = check();// ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................");
 
100
  Block *b89 = new Block("print(89); state = check();// ......................................................................................................................................................................................................................................................................................................................................................");
 
101
  Block *b90 = new Block("print(90); state = check();// ...........................................................................................................................................................................................................................");
 
102
  Block *b91 = new Block("print(91); state = check();// ..............................................");
 
103
  b0->AddBranchTo(b30, NULL);
 
104
  b1->AddBranchTo(b66, NULL);
 
105
  b2->AddBranchTo(b51, NULL);
 
106
  b3->AddBranchTo(b57, NULL);
 
107
  b4->AddBranchTo(b31, NULL);
 
108
  b5->AddBranchTo(b21, NULL);
 
109
  b6->AddBranchTo(b88, NULL);
 
110
  b7->AddBranchTo(b75, "state % 2 == 0");
 
111
  b7->AddBranchTo(b89, NULL);
 
112
  b8->AddBranchTo(b47, "state % 2 == 0");
 
113
  b8->AddBranchTo(b19, NULL);
 
114
  b9->AddBranchTo(b66, NULL);
 
115
  b10->AddBranchTo(b52, NULL);
 
116
  b11->AddBranchTo(b40, NULL);
 
117
  b12->AddBranchTo(b87, NULL);
 
118
  b13->AddBranchTo(b72, "state % 3 == 0");
 
119
  b13->AddBranchTo(b6, "state % 3 == 1");
 
120
  b13->AddBranchTo(b55, NULL);
 
121
  b14->AddBranchTo(b2, "state % 2 == 0");
 
122
  b14->AddBranchTo(b52, NULL);
 
123
  b15->AddBranchTo(b11, NULL);
 
124
  b16->AddBranchTo(b57, NULL);
 
125
  b17->AddBranchTo(b1, "state % 2 == 0");
 
126
  b17->AddBranchTo(b24, NULL);
 
127
  b18->AddBranchTo(b67, NULL);
 
128
  b19->AddBranchTo(b56, NULL);
 
129
  b20->AddBranchTo(b34, NULL);
 
130
  b21->AddBranchTo(b25, NULL);
 
131
  b22->AddBranchTo(b72, NULL);
 
132
  b23->AddBranchTo(b64, NULL);
 
133
  b24->AddBranchTo(b36, NULL);
 
134
  b25->AddBranchTo(b88, NULL);
 
135
  b26->AddBranchTo(b56, NULL);
 
136
  b27->AddBranchTo(b3, NULL);
 
137
  b28->AddBranchTo(b75, NULL);
 
138
  b29->AddBranchTo(b8, NULL);
 
139
  b30->AddBranchTo(b58, "state % 3 == 0");
 
140
  b30->AddBranchTo(b66, "state % 3 == 1");
 
141
  b30->AddBranchTo(b6, NULL);
 
142
  b31->AddBranchTo(b60, NULL);
 
143
  b32->AddBranchTo(b83, NULL);
 
144
  b33->AddBranchTo(b60, NULL);
 
145
  b34->AddBranchTo(b73, NULL);
 
146
  b35->AddBranchTo(b7, NULL);
 
147
  b36->AddBranchTo(b60, "state % 2 == 0");
 
148
  b36->AddBranchTo(b16, NULL);
 
149
  b37->AddBranchTo(b82, NULL);
 
150
  b38->AddBranchTo(b45, NULL);
 
151
  b39->AddBranchTo(b72, "state % 3 == 0");
 
152
  b39->AddBranchTo(b73, "state % 3 == 1");
 
153
  b39->AddBranchTo(b31, NULL);
 
154
  b40->AddBranchTo(b89, NULL);
 
155
  b41->AddBranchTo(b64, "state % 2 == 0");
 
156
  b41->AddBranchTo(b90, NULL);
 
157
  b42->AddBranchTo(b12, NULL);
 
158
  b43->AddBranchTo(b32, NULL);
 
159
  b44->AddBranchTo(b28, NULL);
 
160
  b45->AddBranchTo(b63, "state % 2 == 0");
 
161
  b45->AddBranchTo(b47, NULL);
 
162
  b46->AddBranchTo(b70, "state % 2 == 0");
 
163
  b46->AddBranchTo(b42, NULL);
 
164
  b47->AddBranchTo(b28, NULL);
 
165
  b48->AddBranchTo(b20, "state % 2 == 0");
 
166
  b48->AddBranchTo(b91, NULL);
 
167
  b49->AddBranchTo(b6, NULL);
 
168
  b50->AddBranchTo(b29, NULL);
 
169
  b51->AddBranchTo(b36, NULL);
 
170
  b52->AddBranchTo(b61, "state % 2 == 0");
 
171
  b52->AddBranchTo(b2, NULL);
 
172
  b53->AddBranchTo(b75, "state % 2 == 0");
 
173
  b53->AddBranchTo(b46, NULL);
 
174
  b54->AddBranchTo(b30, NULL);
 
175
  b55->AddBranchTo(b59, NULL);
 
176
  b56->AddBranchTo(b34, NULL);
 
177
  b57->AddBranchTo(b39, NULL);
 
178
  b58->AddBranchTo(b30, NULL);
 
179
  b59->AddBranchTo(b47, NULL);
 
180
  b60->AddBranchTo(b10, NULL);
 
181
  b61->AddBranchTo(b88, NULL);
 
182
  b62->AddBranchTo(b36, NULL);
 
183
  b63->AddBranchTo(b54, NULL);
 
184
  b64->AddBranchTo(b79, NULL);
 
185
  b65->AddBranchTo(b65, NULL);
 
186
  b66->AddBranchTo(b6, NULL);
 
187
  b67->AddBranchTo(b78, NULL);
 
188
  b68->AddBranchTo(b51, NULL);
 
189
  b69->AddBranchTo(b32, NULL);
 
190
  b70->AddBranchTo(b47, NULL);
 
191
  b71->AddBranchTo(b38, NULL);
 
192
  b72->AddBranchTo(b91, "state % 2 == 0");
 
193
  b72->AddBranchTo(b80, NULL);
 
194
  b73->AddBranchTo(b62, "state % 3 == 0");
 
195
  b73->AddBranchTo(b31, "state % 3 == 1");
 
196
  b73->AddBranchTo(b43, NULL);
 
197
  b74->AddBranchTo(b77, NULL);
 
198
  b75->AddBranchTo(b7, NULL);
 
199
  b76->AddBranchTo(b22, NULL);
 
200
  b77->AddBranchTo(b76, NULL);
 
201
  b78->AddBranchTo(b14, "state % 2 == 0");
 
202
  b78->AddBranchTo(b62, NULL);
 
203
  b79->AddBranchTo(b81, NULL);
 
204
  b80->AddBranchTo(b51, "state % 2 == 0");
 
205
  b80->AddBranchTo(b50, NULL);
 
206
  b81->AddBranchTo(b40, NULL);
 
207
  b82->AddBranchTo(b60, "state % 2 == 0");
 
208
  b82->AddBranchTo(b43, NULL);
 
209
  b83->AddBranchTo(b77, NULL);
 
210
  b84->AddBranchTo(b60, "state % 2 == 0");
 
211
  b84->AddBranchTo(b77, NULL);
 
212
  b85->AddBranchTo(b42, NULL);
 
213
  b86->AddBranchTo(b85, "state % 2 == 0");
 
214
  b86->AddBranchTo(b88, NULL);
 
215
  b87->AddBranchTo(b88, NULL);
 
216
  b88->AddBranchTo(b70, NULL);
 
217
  b89->AddBranchTo(b68, NULL);
 
218
  b90->AddBranchTo(b33, NULL);
 
219
  b91->AddBranchTo(b33, NULL);
 
220
 
 
221
  Relooper r;
 
222
  r.AddBlock(b0);
 
223
  r.AddBlock(b1);
 
224
  r.AddBlock(b2);
 
225
  r.AddBlock(b3);
 
226
  r.AddBlock(b4);
 
227
  r.AddBlock(b5);
 
228
  r.AddBlock(b6);
 
229
  r.AddBlock(b7);
 
230
  r.AddBlock(b8);
 
231
  r.AddBlock(b9);
 
232
  r.AddBlock(b10);
 
233
  r.AddBlock(b11);
 
234
  r.AddBlock(b12);
 
235
  r.AddBlock(b13);
 
236
  r.AddBlock(b14);
 
237
  r.AddBlock(b15);
 
238
  r.AddBlock(b16);
 
239
  r.AddBlock(b17);
 
240
  r.AddBlock(b18);
 
241
  r.AddBlock(b19);
 
242
  r.AddBlock(b20);
 
243
  r.AddBlock(b21);
 
244
  r.AddBlock(b22);
 
245
  r.AddBlock(b23);
 
246
  r.AddBlock(b24);
 
247
  r.AddBlock(b25);
 
248
  r.AddBlock(b26);
 
249
  r.AddBlock(b27);
 
250
  r.AddBlock(b28);
 
251
  r.AddBlock(b29);
 
252
  r.AddBlock(b30);
 
253
  r.AddBlock(b31);
 
254
  r.AddBlock(b32);
 
255
  r.AddBlock(b33);
 
256
  r.AddBlock(b34);
 
257
  r.AddBlock(b35);
 
258
  r.AddBlock(b36);
 
259
  r.AddBlock(b37);
 
260
  r.AddBlock(b38);
 
261
  r.AddBlock(b39);
 
262
  r.AddBlock(b40);
 
263
  r.AddBlock(b41);
 
264
  r.AddBlock(b42);
 
265
  r.AddBlock(b43);
 
266
  r.AddBlock(b44);
 
267
  r.AddBlock(b45);
 
268
  r.AddBlock(b46);
 
269
  r.AddBlock(b47);
 
270
  r.AddBlock(b48);
 
271
  r.AddBlock(b49);
 
272
  r.AddBlock(b50);
 
273
  r.AddBlock(b51);
 
274
  r.AddBlock(b52);
 
275
  r.AddBlock(b53);
 
276
  r.AddBlock(b54);
 
277
  r.AddBlock(b55);
 
278
  r.AddBlock(b56);
 
279
  r.AddBlock(b57);
 
280
  r.AddBlock(b58);
 
281
  r.AddBlock(b59);
 
282
  r.AddBlock(b60);
 
283
  r.AddBlock(b61);
 
284
  r.AddBlock(b62);
 
285
  r.AddBlock(b63);
 
286
  r.AddBlock(b64);
 
287
  r.AddBlock(b65);
 
288
  r.AddBlock(b66);
 
289
  r.AddBlock(b67);
 
290
  r.AddBlock(b68);
 
291
  r.AddBlock(b69);
 
292
  r.AddBlock(b70);
 
293
  r.AddBlock(b71);
 
294
  r.AddBlock(b72);
 
295
  r.AddBlock(b73);
 
296
  r.AddBlock(b74);
 
297
  r.AddBlock(b75);
 
298
  r.AddBlock(b76);
 
299
  r.AddBlock(b77);
 
300
  r.AddBlock(b78);
 
301
  r.AddBlock(b79);
 
302
  r.AddBlock(b80);
 
303
  r.AddBlock(b81);
 
304
  r.AddBlock(b82);
 
305
  r.AddBlock(b83);
 
306
  r.AddBlock(b84);
 
307
  r.AddBlock(b85);
 
308
  r.AddBlock(b86);
 
309
  r.AddBlock(b87);
 
310
  r.AddBlock(b88);
 
311
  r.AddBlock(b89);
 
312
  r.AddBlock(b90);
 
313
  r.AddBlock(b91);
 
314
 
 
315
  r.Calculate(b0);
 
316
  printf("\n\n");
 
317
  r.Render();
 
318
 
 
319
  puts(buffer);
 
320
 
 
321
  return 1;
 
322
}