aboutsummaryrefslogtreecommitdiff
path: root/tests/regression/issue_253/short_array.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/regression/issue_253/short_array.c')
-rw-r--r--tests/regression/issue_253/short_array.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/regression/issue_253/short_array.c b/tests/regression/issue_253/short_array.c
new file mode 100644
index 0000000..5ed6c3f
--- /dev/null
+++ b/tests/regression/issue_253/short_array.c
@@ -0,0 +1,24 @@
+#include <unittests.h>
+#include <pb_encode.h>
+#include "short_array.pb.h"
+
+int main()
+{
+ int status = 0;
+
+ COMMENT("Test message length calculation for short arrays");
+ {
+ uint8_t buffer[TestMessage_size] = {0};
+ pb_ostream_t ostream = pb_ostream_from_buffer(buffer, TestMessage_size);
+ TestMessage msg = TestMessage_init_zero;
+
+ msg.rep_uint32_count = 1;
+ msg.rep_uint32[0] = (1 << 31);
+
+ TEST(pb_encode(&ostream, TestMessage_fields, &msg));
+ TEST(ostream.bytes_written == TestMessage_size);
+ }
+
+ return status;
+}
+