From 7af48e550f084aed929bb7db99070cb8f5d08210 Mon Sep 17 00:00:00 2001 From: Petteri Aimonen Date: Fri, 20 Nov 2015 23:57:37 +0200 Subject: Fix generator crash with Enum inside Oneof (issue #188). Add testcase for the same. --- tests/regression/issue_188/SConscript | 6 ++++++ tests/regression/issue_188/oneof.proto | 29 +++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 tests/regression/issue_188/SConscript create mode 100644 tests/regression/issue_188/oneof.proto (limited to 'tests/regression') diff --git a/tests/regression/issue_188/SConscript b/tests/regression/issue_188/SConscript new file mode 100644 index 0000000..6bc3271 --- /dev/null +++ b/tests/regression/issue_188/SConscript @@ -0,0 +1,6 @@ +# Regression test for issue with Enums inside OneOf. + +Import('env') + +env.NanopbProto('oneof') + diff --git a/tests/regression/issue_188/oneof.proto b/tests/regression/issue_188/oneof.proto new file mode 100644 index 0000000..e37f5c0 --- /dev/null +++ b/tests/regression/issue_188/oneof.proto @@ -0,0 +1,29 @@ +syntax = "proto2"; + +message MessageOne +{ + required uint32 one = 1; + required uint32 two = 2; + required uint32 three = 3; + required int32 four = 4; +} + +enum EnumTwo +{ + SOME_ENUM_1 = 1; + SOME_ENUM_2 = 5; + SOME_ENUM_3 = 6; + SOME_ENUM_4 = 9; + SOME_ENUM_5 = 10; + SOME_ENUM_6 = 12; + SOME_ENUM_7 = 39; + SOME_ENUM_8 = 401; +} + +message OneofMessage +{ + oneof payload { + MessageOne message = 1; + EnumTwo enum = 2; + } +} -- cgit v1.2.3