blob: b285754bc2f3974391272552c401a5e743009fc2 (
plain)
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
|
#include "defaults.pb.h"
#include <unittests.h>
#include <pb_decode.h>
int check_defaults(const DefaultsMsg *msg)
{
int status = 0;
TEST(msg->b1[0] == 0xDE && msg->b1[1] == 0xAD && msg->b1[2] == 0x00 &&
msg->b1[3] == 0xBE && msg->b1[4] == 0xEF);
TEST(msg->b2.bytes[0] == 0xDE && msg->b2.bytes[1] == 0xAD &&
msg->b2.bytes[2] == 0x00 && msg->b2.bytes[3] == 0xBE &&
msg->b2.bytes[4] == 0xEF && msg->b2.size == 5);
TEST(msg->b3.bytes[0] == 0xDE && msg->b3.bytes[1] == 0xAD &&
msg->b3.bytes[2] == 0x00 && msg->b3.bytes[3] == 0xBE &&
msg->b3.bytes[4] == 0xEF && msg->b2.size == 5);
TEST(msg->s1[0] == (char)0xC3 && msg->s1[1] == (char)0xA4 &&
msg->s1[2] == (char)0xC3 && msg->s1[3] == (char)0xB6 &&
msg->s1[4] == '\0');
return status;
}
int main()
{
int status = 0;
{
DefaultsMsg msg = DefaultsMsg_init_default;
COMMENT("Checking defaults from static initializer");
status += check_defaults(&msg);
}
{
DefaultsMsg msg = DefaultsMsg_init_zero;
pb_istream_t empty = {0,0,0};
pb_decode(&empty, DefaultsMsg_fields, &msg);
COMMENT("Checking defaults set at runtime");
status += check_defaults(&msg);
}
return status;
}
|