Refactor test infrastructure for metadata stress
[ctf-testsuite.git] / tests / 1.8 / stress / metadata / pass / many-typealias / test.py
1 #!/usr/bin/env python3
2 from ctftestsuite.stress import MetadataTest
3
4
5 class Test(MetadataTest):
6 what = '{size} typealiases'
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 '''
27
28 typealias_fmt = \
29 '''typealias integer {{ size = 8; align = 8; signed = false; base = 10; }} := t{name};
30 '''
31
32 f.write(p1)
33
34 for i in range(self.size):
35 typealias = typealias_fmt.format(name=i)
36 f.write(typealias)
37
38
39 if __name__ == '__main__':
40 test = Test()
41 test.main()
This page took 0.028934 seconds and 4 git commands to generate.