From 6bc74a8967610e663b15a1434e62f576da8f6345 Mon Sep 17 00:00:00 2001 From: Steve Karg Date: Tue, 29 Oct 2024 19:50:41 -0500 Subject: [PATCH] Added unit testing for FIFO peek feature. (#839) --- test/bacnet/basic/sys/fifo/src/main.c | 20 ++++++++++++++++++++ test/bacnet/datalink/bvlc/src/main.c | 1 + 2 files changed, 21 insertions(+) diff --git a/test/bacnet/basic/sys/fifo/src/main.c b/test/bacnet/basic/sys/fifo/src/main.c index 95c37a61..e641b06f 100644 --- a/test/bacnet/basic/sys/fifo/src/main.c +++ b/test/bacnet/basic/sys/fifo/src/main.c @@ -33,9 +33,11 @@ static void testFIFOBuffer(void) uint8_t add_data[40] = { "RoseSteveLouPatRachelJessicaDaniAmyHerb" }; uint8_t test_add_data[40] = { 0 }; uint8_t test_data = 0; + uint8_t peek_buf[64] = { 0 }; unsigned index = 0; unsigned count = 0; unsigned test_count = 0; + unsigned peek = 0, i = 0; bool status = 0; FIFO_Init(&test_buffer, data_store, sizeof(data_store)); @@ -59,6 +61,12 @@ static void testFIFOBuffer(void) zassert_false(FIFO_Empty(&test_buffer), NULL); test_data = FIFO_Peek(&test_buffer); zassert_equal(test_data, index, NULL); + for (peek = FIFO_Count(&test_buffer); peek > 0; peek--) { + FIFO_Peek_Ahead(&test_buffer, peek_buf, peek); + for (i = 0; i < peek; i++) { + zassert_equal(peek_buf[i], index + i, NULL); + } + } test_data = FIFO_Get(&test_buffer); zassert_equal(test_data, index, NULL); zassert_true(FIFO_Available(&test_buffer, 1), NULL); @@ -84,6 +92,12 @@ static void testFIFOBuffer(void) zassert_false(FIFO_Empty(&test_buffer), NULL); test_data = FIFO_Peek(&test_buffer); zassert_equal(test_data, count, NULL); + for (peek = FIFO_Count(&test_buffer); peek > 0; peek--) { + FIFO_Peek_Ahead(&test_buffer, peek_buf, peek); + for (i = 0; i < peek; i++) { + zassert_equal(peek_buf[i], count + i, NULL); + } + } test_data = FIFO_Get(&test_buffer); zassert_equal(test_data, count, NULL); } @@ -101,6 +115,12 @@ static void testFIFOBuffer(void) zassert_false(FIFO_Empty(&test_buffer), NULL); test_data = FIFO_Peek(&test_buffer); zassert_equal(test_data, add_data[index], NULL); + for (peek = FIFO_Count(&test_buffer); peek > 0; peek--) { + FIFO_Peek_Ahead(&test_buffer, peek_buf, peek); + for (i = 0; i < peek; i++) { + zassert_equal(peek_buf[i], add_data[index + i], NULL); + } + } test_data = FIFO_Get(&test_buffer); zassert_equal(test_data, add_data[index], NULL); } diff --git a/test/bacnet/datalink/bvlc/src/main.c b/test/bacnet/datalink/bvlc/src/main.c index 37c4f015..08681ddb 100644 --- a/test/bacnet/datalink/bvlc/src/main.c +++ b/test/bacnet/datalink/bvlc/src/main.c @@ -12,6 +12,7 @@ #include #include #include +#include /** * @addtogroup bacnet_tests