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:
|
||||
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'])
|
||||
largest_msg = max(messages, key = count_required_fields)
|
||||
largest_count = count_required_fields(largest_msg)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
CFLAGS=-ansi -Wall -Werror -I .. -g -O0 --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
|
||||
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
|
||||
|
||||
@@ -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
|
||||
decode_unittests: decode_unittests.o pb_decode.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
|
||||
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