@@ -48,6 +48,7 @@ void flb_test_snmp_records_message_get(struct callback_records *records)
4848
4949 TEST_CHECK (records -> num_records > 0 );
5050 for (i = 0 ; i < records -> num_records ; i ++ ) {
51+ off = 0 ;
5152 msgpack_unpacked_init (& result );
5253
5354 while (msgpack_unpack_next (& result , records -> records [i ].data ,
@@ -87,21 +88,28 @@ void flb_test_snmp_records_message_walk(struct callback_records *records)
8788
8889 TEST_CHECK (records -> num_records > 0 );
8990 for (i = 0 ; i < records -> num_records ; i ++ ) {
91+ off = 0 ;
92+
9093 msgpack_unpacked_init (& result );
9194 while (msgpack_unpack_next (& result , records -> records [i ].data ,
9295 records -> records [i ].size , & off ) == MSGPACK_UNPACK_SUCCESS ) {
9396 flb_time_pop_from_msgpack (& ftm , & result , & obj );
9497 TEST_CHECK (obj -> type == MSGPACK_OBJECT_MAP );
95- for (j = 0 ; j < obj -> via .map .size ; j ++ ) {
96- key = obj -> via .map .ptr [j ].key ;
97- val = obj -> via .map .ptr [j ].val ;
98-
99- TEST_CHECK (strncmp (expected_keys [j ],
100- key .via .str .ptr ,
101- 26 ) == 0 );
102- TEST_CHECK (strncmp (expected_vals [j ],
103- val .via .str .ptr ,
98+ {
99+ size_t count = obj -> via .map .size ;
100+ TEST_CHECK (count >= 2 );
101+ size_t limit = count < 2 ? count : 2 ;
102+ for (j = 0 ; j < limit ; j ++ ) {
103+ key = obj -> via .map .ptr [j ].key ;
104+ val = obj -> via .map .ptr [j ].val ;
105+
106+ TEST_CHECK (strncmp (expected_keys [j ],
107+ key .via .str .ptr ,
108+ 26 ) == 0 );
109+ TEST_CHECK (strncmp (expected_vals [j ],
110+ val .via .str .ptr ,
104111 7 ) == 0 );
112+ }
105113 }
106114 }
107115 msgpack_unpacked_destroy (& result );
@@ -153,7 +161,7 @@ void do_test_records(char *response, void (*records_cb)(struct callback_records
153161 /* Start test */
154162 TEST_CHECK (flb_start (ctx ) == 0 );
155163
156- /* 4 sec passed. It must have flushed */
164+ /* 5 sec passed. It must have flushed */
157165 sleep (5 );
158166
159167 records_cb (records );
0 commit comments