More documentation, small improvements

git-svn-id: https://svn.kapsi.fi/jpa/nanopb@955 e3a754e5-d11d-0410-8d38-ebb782a927b9
This commit is contained in:
Petteri Aimonen
2011-08-14 20:11:05 +00:00
parent 6dfba365b0
commit 842d52633d
13 changed files with 562 additions and 104 deletions

View File

@@ -10,6 +10,10 @@ clean:
%: %.c $(DEPS)
$(CC) $(CFLAGS) -o $@ $< ../pb_decode.c ../pb_encode.c
person.h: person.proto
protoc -I. -I../generator -I/usr/include -operson.pb $<
python ../generator/nanopb_generator.py person.pb
run_unittests: decode_unittests encode_unittests
./decode_unittests
./encode_unittests

View File

@@ -48,34 +48,21 @@ int main()
TEST(pb_read(&stream, buffer, 15))
}
{
pb_istream_t s;
uint32_t u;
int32_t i;
COMMENT("Test pb_decode_varint32");
TEST((s = S("\x00"), pb_decode_varint32(&s, &u) && u == 0));
TEST((s = S("\x01"), pb_decode_varint32(&s, &u) && u == 1));
TEST((s = S("\xAC\x02"), pb_decode_varint32(&s, &u) && u == 300));
TEST((s = S("\xFF\xFF\xFF\xFF\x0F"), pb_decode_varint32(&s, &u) && u == UINT32_MAX));
TEST((s = S("\xFF\xFF\xFF\xFF\x0F"), pb_decode_varint32(&s, (uint32_t*)&i) && i == -1));
}
{
pb_istream_t s;
uint64_t u;
int64_t i;
COMMENT("Test pb_decode_varint64");
TEST((s = S("\x00"), pb_decode_varint64(&s, &u) && u == 0));
TEST((s = S("\x01"), pb_decode_varint64(&s, &u) && u == 1));
TEST((s = S("\xAC\x02"), pb_decode_varint64(&s, &u) && u == 300));
TEST((s = S("\xFF\xFF\xFF\xFF\x0F"), pb_decode_varint64(&s, &u) && u == UINT32_MAX));
TEST((s = S("\xFF\xFF\xFF\xFF\x0F"), pb_decode_varint64(&s, (uint64_t*)&i) && i == UINT32_MAX));
COMMENT("Test pb_decode_varint");
TEST((s = S("\x00"), pb_decode_varint(&s, &u) && u == 0));
TEST((s = S("\x01"), pb_decode_varint(&s, &u) && u == 1));
TEST((s = S("\xAC\x02"), pb_decode_varint(&s, &u) && u == 300));
TEST((s = S("\xFF\xFF\xFF\xFF\x0F"), pb_decode_varint(&s, &u) && u == UINT32_MAX));
TEST((s = S("\xFF\xFF\xFF\xFF\x0F"), pb_decode_varint(&s, (uint64_t*)&i) && i == UINT32_MAX));
TEST((s = S("\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x01"),
pb_decode_varint64(&s, (uint64_t*)&i) && i == -1));
pb_decode_varint(&s, (uint64_t*)&i) && i == -1));
TEST((s = S("\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x01"),
pb_decode_varint64(&s, &u) && u == UINT64_MAX));
pb_decode_varint(&s, &u) && u == UINT64_MAX));
}
{