Refactor test infrastructure for metadata stress
[ctf-testsuite.git] / tests / 1.8 / stress / metadata / pass / many-callsites / test.py
1 #!/usr/bin/env python3
2 from ctftestsuite.stress import MetadataTest
3
4
5 class Test(MetadataTest):
6 what = '{size} callsites'
7
8 def write_metadata(self, f):
9 p1 = \
10 '''/* CTF 1.8 */
11
12 typealias integer { size = 8; align = 8; signed = false; base = 10; } := uint8_t;
13 typealias integer { size = 32; align = 8; signed = false; base = hex; } := uint32_t;
14
15 trace {
16 major = 0;
17 minor = 0;
18 uuid = "2a6422d0-6cee-11e0-8c08-cb07d7b3a564";
19 byte_order = le;
20 packet.header := struct {
21 uint32_t magic;
22 uint8_t uuid[16];
23 };
24 };
25
26 event {
27 name = myevent;
28 };
29
30 '''
31
32 callsite_fmt = \
33 '''callsite {{
34 name = "myevent";
35 func = "myfunc{i}";
36 file = "myfile{i}";
37 line = {i};
38 ip = 0x{i};
39 }};
40
41 '''
42
43 f.write(p1)
44
45 for i in range(self.size):
46 callsite = callsite_fmt.format(i=i)
47 f.write(callsite)
48
49
50 if __name__ == '__main__':
51 test = Test()
52 test.main()
This page took 0.030525 seconds and 4 git commands to generate.