Fix bug with .proto without messages (again), and add a test case for it.
This commit is contained in:
@@ -414,6 +414,7 @@ def generate_header(dependencies, headername, enums, messages):
|
|||||||
for msg in messages:
|
for msg in messages:
|
||||||
yield msg.fields_declaration() + '\n'
|
yield msg.fields_declaration() + '\n'
|
||||||
|
|
||||||
|
if messages:
|
||||||
count_required_fields = lambda m: len([f for f in msg.fields if f.htype == 'PB_HTYPE_REQUIRED'])
|
count_required_fields = lambda m: len([f for f in msg.fields if f.htype == 'PB_HTYPE_REQUIRED'])
|
||||||
largest_msg = max(messages, key = count_required_fields)
|
largest_msg = max(messages, key = count_required_fields)
|
||||||
largest_count = count_required_fields(largest_msg)
|
largest_count = count_required_fields(largest_msg)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
CFLAGS=-ansi -Wall -Werror -I .. -g -O0 --coverage
|
CFLAGS=-ansi -Wall -Werror -I .. -g -O0 --coverage
|
||||||
LDFLAGS=--coverage
|
LDFLAGS=--coverage
|
||||||
DEPS=../pb_decode.h ../pb_encode.h ../pb.h person.pb.h callbacks.pb.h unittests.h unittestproto.pb.h alltypes.pb.h missing_fields.pb.h
|
DEPS=../pb_decode.h ../pb_encode.h ../pb.h person.pb.h callbacks.pb.h unittests.h unittestproto.pb.h alltypes.pb.h missing_fields.pb.h
|
||||||
TESTS=test_decode1 test_encode1 decode_unittests encode_unittests
|
TESTS=test_decode1 test_encode1 decode_unittests encode_unittests test_no_messages
|
||||||
|
|
||||||
all: breakpoints $(TESTS) run_unittests
|
all: breakpoints $(TESTS) run_unittests
|
||||||
|
|
||||||
@@ -28,6 +28,7 @@ test_encode_callbacks: test_encode_callbacks.o pb_encode.o callbacks.pb.o
|
|||||||
test_missing_fields: test_missing_fields.o pb_encode.o pb_decode.o missing_fields.pb.o
|
test_missing_fields: test_missing_fields.o pb_encode.o pb_decode.o missing_fields.pb.o
|
||||||
decode_unittests: decode_unittests.o pb_decode.o unittestproto.pb.o
|
decode_unittests: decode_unittests.o pb_decode.o unittestproto.pb.o
|
||||||
encode_unittests: encode_unittests.o pb_encode.o unittestproto.pb.o
|
encode_unittests: encode_unittests.o pb_encode.o unittestproto.pb.o
|
||||||
|
test_no_messages: no_messages.pb.h no_messages.pb.c no_messages.pb.o
|
||||||
|
|
||||||
%.pb: %.proto
|
%.pb: %.proto
|
||||||
protoc -I. -I../generator -I/usr/include -o$@ $<
|
protoc -I. -I../generator -I/usr/include -o$@ $<
|
||||||
|
|||||||
7
tests/no_messages.proto
Normal file
7
tests/no_messages.proto
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
/* Test that a file without any messages works. */
|
||||||
|
|
||||||
|
enum Test {
|
||||||
|
First = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user