LCOV - code coverage report
Current view: top level - basic_buffer - encode_buffer.c (source / functions) Hit Total Coverage
Test: coverage.info Lines: 6 8 75.0 %
Date: 2023-02-14 20:10:26 Functions: 1 1 100.0 %

          Line data    Source code
       1             : /* A very simple encoding test case using person.proto.
       2             :  * Just puts constant data in the fields and encodes into
       3             :  * buffer, which is then written to stdout.
       4             :  */
       5             : 
       6             : #include <stdio.h>
       7             : #include <pb_encode.h>
       8             : #include "person.pb.h"
       9             : #include "test_helpers.h"
      10             : 
      11           1 : int main()
      12             : {
      13             :     uint8_t buffer[Person_size];
      14             :     pb_ostream_t stream;
      15             :     
      16             :     /* Initialize the structure with constants */
      17           1 :     Person person = {"Test Person 99", 99, true, "test@person.com",
      18             :         3, {{"555-12345678", true, Person_PhoneType_MOBILE},
      19             :             {"99-2342", false, 0},
      20             :             {"1234-5678", true, Person_PhoneType_WORK},
      21             :         }};
      22             : 
      23           1 :     stream = pb_ostream_from_buffer(buffer, sizeof(buffer));
      24             :     
      25             :     /* Now encode it and check if we succeeded. */
      26           1 :     if (pb_encode(&stream, Person_fields, &person))
      27             :     {    
      28             :         /* Write the result data to stdout */
      29             :         SET_BINARY_MODE(stdout);
      30           1 :         fwrite(buffer, 1, stream.bytes_written, stdout);
      31           1 :         return 0; /* Success */
      32             :     }
      33             :     else
      34             :     {
      35           0 :         fprintf(stderr, "Encoding failed: %s\n", PB_GET_ERROR(&stream));
      36           0 :         return 1; /* Failure */
      37             :     }
      38             : }

Generated by: LCOV version 1.14