aboutsummaryrefslogtreecommitdiffstats
path: root/tests/regression
diff options
context:
space:
mode:
authorPetteri Aimonen <jpa@git.mail.kapsi.fi>2015-11-20 23:57:37 +0200
committerPetteri Aimonen <jpa@git.mail.kapsi.fi>2015-11-20 23:57:37 +0200
commit7af48e550f084aed929bb7db99070cb8f5d08210 (patch)
tree7b047610f5750cc8967446c132e1bc030680f0a8 /tests/regression
parent990b7223ebfae4161ba4bf7ef81094f2317a665b (diff)
Fix generator crash with Enum inside Oneof (issue #188).
Add testcase for the same.
Diffstat (limited to 'tests/regression')
-rw-r--r--tests/regression/issue_188/SConscript6
-rw-r--r--tests/regression/issue_188/oneof.proto29
2 files changed, 35 insertions, 0 deletions
diff --git a/tests/regression/issue_188/SConscript b/tests/regression/issue_188/SConscript
new file mode 100644
index 00000000..6bc32712
--- /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 00000000..e37f5c02
--- /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;
+ }
+}