LCOV - code coverage report
Current view: top level - regression/issue_166 - enum_encoded_size.c (source / functions) Hit Total Coverage
Test: coverage.info Lines: 18 18 100.0 %
Date: 2023-02-14 20:10:26 Functions: 1 1 100.0 %

          Line data    Source code
       1             : #include <stdio.h>
       2             : #include <string.h>
       3             : #include <pb_encode.h>
       4             : #include "unittests.h"
       5             : #include "enums.pb.h"
       6             : 
       7           1 : int main()
       8             : {
       9           1 :     int status = 0;
      10             :     
      11             :     uint8_t buf[256];
      12             :     SignedMsg msg1;
      13             :     UnsignedMsg msg2;
      14             :     pb_ostream_t s;
      15             :     
      16             :     {
      17           1 :         COMMENT("Test negative value of signed enum");
      18             :         /* Negative value should take up the maximum size */
      19           1 :         msg1.value = SignedEnum_SE_MIN;
      20           1 :         s = pb_ostream_from_buffer(buf, sizeof(buf));
      21           1 :         TEST(pb_encode(&s, SignedMsg_fields, &msg1));
      22           1 :         TEST(s.bytes_written == SignedMsg_size);
      23             :         
      24           1 :         COMMENT("Test positive value of signed enum");
      25             :         /* Positive value should be smaller */
      26           1 :         msg1.value = SignedEnum_SE_MAX;
      27           1 :         s = pb_ostream_from_buffer(buf, sizeof(buf));
      28           1 :         TEST(pb_encode(&s, SignedMsg_fields, &msg1));
      29           1 :         TEST(s.bytes_written < SignedMsg_size);
      30             :     }
      31             :     
      32             :     {
      33           1 :         COMMENT("Test positive value of unsigned enum");
      34             :         /* This should take up the maximum size */
      35           1 :         msg2.value = UnsignedEnum_UE_MAX;
      36           1 :         s = pb_ostream_from_buffer(buf, sizeof(buf));
      37           1 :         TEST(pb_encode(&s, UnsignedMsg_fields, &msg2));
      38           1 :         TEST(s.bytes_written == UnsignedMsg_size);
      39             :     }
      40             :     
      41           1 :     return status;
      42             : }
      43             : 

Generated by: LCOV version 1.14