summaryrefslogtreecommitdiffstats
path: root/libs/nanopb/tests/extra_fields
diff options
context:
space:
mode:
Diffstat (limited to 'libs/nanopb/tests/extra_fields')
-rw-r--r--libs/nanopb/tests/extra_fields/SConscript16
-rw-r--r--libs/nanopb/tests/extra_fields/alltypes_with_extra_fields.pbbin0 -> 523 bytes
-rw-r--r--libs/nanopb/tests/extra_fields/person_with_extra_field.expected14
-rw-r--r--libs/nanopb/tests/extra_fields/person_with_extra_field.pbbin0 -> 124 bytes
4 files changed, 30 insertions, 0 deletions
diff --git a/libs/nanopb/tests/extra_fields/SConscript b/libs/nanopb/tests/extra_fields/SConscript
new file mode 100644
index 00000000..75ac5c5e
--- /dev/null
+++ b/libs/nanopb/tests/extra_fields/SConscript
@@ -0,0 +1,16 @@
+# Test that the decoder properly handles unknown fields in the input.
+
+Import("env")
+
+dec = env.GetBuildPath('$BUILD/basic_buffer/${PROGPREFIX}decode_buffer${PROGSUFFIX}')
+env.RunTest('person_with_extra_field.output', [dec, "person_with_extra_field.pb"])
+env.Compare(["person_with_extra_field.output", "person_with_extra_field.expected"])
+
+dec = env.GetBuildPath('$BUILD/basic_stream/${PROGPREFIX}decode_stream${PROGSUFFIX}')
+env.RunTest('person_with_extra_field_stream.output', [dec, "person_with_extra_field.pb"])
+env.Compare(["person_with_extra_field_stream.output", "person_with_extra_field.expected"])
+
+# This uses the backwards compatibility alltypes test, so that
+# alltypes_with_extra_fields.pb doesn't have to be remade so often.
+dec2 = env.GetBuildPath('$BUILD/backwards_compatibility/${PROGPREFIX}decode_legacy${PROGSUFFIX}')
+env.RunTest('alltypes_with_extra_fields.output', [dec2, 'alltypes_with_extra_fields.pb'])
diff --git a/libs/nanopb/tests/extra_fields/alltypes_with_extra_fields.pb b/libs/nanopb/tests/extra_fields/alltypes_with_extra_fields.pb
new file mode 100644
index 00000000..f9f53941
--- /dev/null
+++ b/libs/nanopb/tests/extra_fields/alltypes_with_extra_fields.pb
Binary files differ
diff --git a/libs/nanopb/tests/extra_fields/person_with_extra_field.expected b/libs/nanopb/tests/extra_fields/person_with_extra_field.expected
new file mode 100644
index 00000000..da9c32df
--- /dev/null
+++ b/libs/nanopb/tests/extra_fields/person_with_extra_field.expected
@@ -0,0 +1,14 @@
+name: "Test Person 99"
+id: 99
+email: "test@person.com"
+phone {
+ number: "555-12345678"
+ type: MOBILE
+}
+phone {
+ number: "99-2342"
+}
+phone {
+ number: "1234-5678"
+ type: WORK
+}
diff --git a/libs/nanopb/tests/extra_fields/person_with_extra_field.pb b/libs/nanopb/tests/extra_fields/person_with_extra_field.pb
new file mode 100644
index 00000000..ffb303dd
--- /dev/null
+++ b/libs/nanopb/tests/extra_fields/person_with_extra_field.pb
Binary files differ