Skip to content

Commit e00c948

Browse files
committed
snmp: update additional dependencies and improve SNMP record validation in tests
Signed-off-by: k402xxxcenxxx <[email protected]>
1 parent ac5fa79 commit e00c948

File tree

2 files changed

+19
-11
lines changed

2 files changed

+19
-11
lines changed

run_code_analysis.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ CONTAINER_RUNTIME=${CONTAINER_RUNTIME:-docker}
1111

1212
# From the Dockerfile
1313
FLB_CMAKE_OPTIONS=${FLB_CMAKE_OPTIONS:--DFLB_BACKTRACE=Off -DFLB_SHARED_LIB=Off -DFLB_DEBUG=On -DFLB_ALL=On -DFLB_EXAMPLES=Off -DFLB_TESTS_INTERNAL=On -DFLB_TESTS_RUNTIME=On}
14-
ADDITIONAL_DEPS=${ADDITIONAL_DEPS:-libssl-dev libsasl2-dev pkg-config libsystemd-dev zlib1g-dev libpq-dev postgresql-server-dev-all flex bison libyaml-dev netcat}
14+
ADDITIONAL_DEPS=${ADDITIONAL_DEPS:-libssl-dev libsasl2-dev pkg-config libsystemd-dev zlib1g-dev libpq-dev postgresql-server-dev-all flex bison libsnmp-dev libyaml-dev netcat}
1515

1616
# From the Unit Tests script
1717
SKIP_TESTS=${SKIP_TESTS:-flb-rt-out_elasticsearch flb-it-network flb-it-fstore flb-rt-out_elasticsearch flb-rt-out_td flb-rt-out_forward flb-rt-in_disk flb-rt-in_proc}

tests/runtime/in_snmp.c

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)