BadVPN – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 #include <misc/debug.h>
2 #include <structure/ChunkBuffer2.h>
3  
4 int main ()
5 {
6 struct ChunkBuffer2_block blocks[16];
7 ChunkBuffer2 buf;
8 ChunkBuffer2_Init(&buf, blocks, 16, 4 * sizeof(struct ChunkBuffer2_block));
9  
10 ASSERT_FORCE(buf.input_dest == (uint8_t *)&blocks[1])
11 ASSERT_FORCE(buf.input_avail == 15 * sizeof(struct ChunkBuffer2_block))
12 ASSERT_FORCE(buf.output_dest == NULL)
13 ASSERT_FORCE(buf.output_avail == -1)
14  
15 ChunkBuffer2_SubmitPacket(&buf, sizeof(struct ChunkBuffer2_block));
16  
17 ASSERT_FORCE(buf.input_dest == (uint8_t *)&blocks[3])
18 ASSERT_FORCE(buf.input_avail == 13 * sizeof(struct ChunkBuffer2_block))
19 ASSERT_FORCE(buf.output_dest == (uint8_t *)&blocks[1])
20 ASSERT_FORCE(buf.output_avail == 1 * sizeof(struct ChunkBuffer2_block))
21  
22 ChunkBuffer2_SubmitPacket(&buf, 8 * sizeof(struct ChunkBuffer2_block));
23  
24 ASSERT_FORCE(buf.input_dest == (uint8_t *)&blocks[12])
25 ASSERT_FORCE(buf.input_avail == 4 * sizeof(struct ChunkBuffer2_block))
26 ASSERT_FORCE(buf.output_dest == (uint8_t *)&blocks[1])
27 ASSERT_FORCE(buf.output_avail == 1 * sizeof(struct ChunkBuffer2_block))
28  
29 ChunkBuffer2_SubmitPacket(&buf, 4 * sizeof(struct ChunkBuffer2_block));
30  
31 ASSERT_FORCE(buf.input_dest == NULL)
32 ASSERT_FORCE(buf.input_avail == -1)
33 ASSERT_FORCE(buf.output_dest == (uint8_t *)&blocks[1])
34 ASSERT_FORCE(buf.output_avail == 1 * sizeof(struct ChunkBuffer2_block))
35  
36 ChunkBuffer2_ConsumePacket(&buf);
37  
38 ASSERT_FORCE(buf.input_dest == (uint8_t *)&blocks[1])
39 ASSERT_FORCE(buf.input_avail == 1 * sizeof(struct ChunkBuffer2_block))
40 ASSERT_FORCE(buf.output_dest == (uint8_t *)&blocks[3])
41 ASSERT_FORCE(buf.output_avail == 8 * sizeof(struct ChunkBuffer2_block))
42  
43 ChunkBuffer2_ConsumePacket(&buf);
44  
45 ASSERT_FORCE(buf.input_dest == (uint8_t *)&blocks[1])
46 ASSERT_FORCE(buf.input_avail == 10 * sizeof(struct ChunkBuffer2_block))
47 ASSERT_FORCE(buf.output_dest == (uint8_t *)&blocks[12])
48 ASSERT_FORCE(buf.output_avail == 4 * sizeof(struct ChunkBuffer2_block))
49  
50 ChunkBuffer2_SubmitPacket(&buf, 9 * sizeof(struct ChunkBuffer2_block));
51  
52 ASSERT_FORCE(buf.input_dest == (uint8_t *)&blocks[11])
53 ASSERT_FORCE(buf.input_avail == 0 * sizeof(struct ChunkBuffer2_block))
54 ASSERT_FORCE(buf.output_dest == (uint8_t *)&blocks[12])
55 ASSERT_FORCE(buf.output_avail == 4 * sizeof(struct ChunkBuffer2_block))
56  
57 ChunkBuffer2_ConsumePacket(&buf);
58  
59 ASSERT_FORCE(buf.input_dest == (uint8_t *)&blocks[11])
60 ASSERT_FORCE(buf.input_avail == 5 * sizeof(struct ChunkBuffer2_block))
61 ASSERT_FORCE(buf.output_dest == (uint8_t *)&blocks[1])
62 ASSERT_FORCE(buf.output_avail == 9 * sizeof(struct ChunkBuffer2_block))
63  
64 ChunkBuffer2_SubmitPacket(&buf, 1 * sizeof(struct ChunkBuffer2_block));
65  
66 ASSERT_FORCE(buf.input_dest == NULL)
67 ASSERT_FORCE(buf.input_avail == -1)
68 ASSERT_FORCE(buf.output_dest == (uint8_t *)&blocks[1])
69 ASSERT_FORCE(buf.output_avail == 9 * sizeof(struct ChunkBuffer2_block))
70  
71 ChunkBuffer2_ConsumePacket(&buf);
72  
73 ASSERT_FORCE(buf.input_dest == (uint8_t *)&blocks[1])
74 ASSERT_FORCE(buf.input_avail == 9 * sizeof(struct ChunkBuffer2_block))
75 ASSERT_FORCE(buf.output_dest == (uint8_t *)&blocks[11])
76 ASSERT_FORCE(buf.output_avail == 1 * sizeof(struct ChunkBuffer2_block))
77  
78 ChunkBuffer2_ConsumePacket(&buf);
79  
80 ASSERT_FORCE(buf.input_dest == (uint8_t *)&blocks[1])
81 ASSERT_FORCE(buf.input_avail == 15 * sizeof(struct ChunkBuffer2_block))
82 ASSERT_FORCE(buf.output_dest == NULL)
83 ASSERT_FORCE(buf.output_avail == -1)
84  
85 return 0;
86 }