测试用例

This commit is contained in:
2026-08-29 11:39:28 +08:00
parent a0758766c5
commit 8fd65b0de0
19 changed files with 1723 additions and 432 deletions
+13 -8
View File
@@ -1,6 +1,11 @@
#include "c_FastByteRingBuffer.h"
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
/* ------------------------------------------------------------------------------------------------------------------ */
/* */
#define RUN_TEST_CASE(test_func) \
do { \
@@ -126,7 +131,7 @@ static void test_ring_buffer_index_searching(void) {
// 1. Single byte search lookup match
assert(c_FastByteRingBuffer_IndexOfByte(&ring, 0x33) == 2); // Relative offset index 2 from head
assert(c_FastByteRingBuffer_IndexOfByte(&ring, 0x99) == C_ERR_NOT_FOUND);
assert(c_FastByteRingBuffer_IndexOfByte(&ring, 0x99) == C_ERR_NOTFOUND);
// 2. Pattern buffer sequence scan (testing across structural wrap-around edge boundaries)
uint8_t search_pattern[] = {0x44, 0x55, 0x66};
@@ -206,9 +211,9 @@ static void test_relative_random_access(void) {
assert(extracted_byte == 0x50); // Newest unread byte check
// 2. Validate bounds-checking flags
assert(c_FastByteRingBuffer_GetAtRelative(&ring, 4, &extracted_byte) == C_ERR_OUT_OF_BOUNDS);
assert(c_FastByteRingBuffer_GetAtRelative(&ring, 99, &extracted_byte) == C_ERR_OUT_OF_BOUNDS);
assert(c_FastByteRingBuffer_GetAtRelative(NULL, 0, &extracted_byte) == C_ERR_INVALID_PARAM);
assert(c_FastByteRingBuffer_GetAtRelative(&ring, 4, &extracted_byte) == C_ERR_OUTOFBOUND);
assert(c_FastByteRingBuffer_GetAtRelative(&ring, 99, &extracted_byte) == C_ERR_OUTOFBOUND);
assert(c_FastByteRingBuffer_GetAtRelative(NULL, 0, &extracted_byte) == C_ERR_PARAM);
c_FastByteRingBuffer_Destroy(&ring);
}
@@ -244,7 +249,7 @@ static void test_conditional_is_validator(void) {
static void test_ring_buffer_memcmp(void) {
c_FastByteRingBuffer_t ring;
assert(c_FastByteRingBuffer_Init(&ring, 6) == C_ERR_INVALID_PARAM); // Capacity = 6
assert(c_FastByteRingBuffer_Init(&ring, 6) == C_ERR_PARAM); // Capacity = 6
assert(c_FastByteRingBuffer_Init(&ring, 8) == C_SUCCESS); // Capacity = 6
uint8_t payload[] = {0x00, 0x11, 0x22, 0x33};
@@ -274,9 +279,9 @@ static void test_ring_buffer_memcmp(void) {
assert(c_FastByteRingBuffer_Memcmp(&ring, 1, check_mismatch, 4) != 0); // Identifies internal divergence
// 4. Bounds and parameter checks
assert(c_FastByteRingBuffer_Memcmp(&ring, 0, check_b, 100) == C_ERR_OUT_OF_BOUNDS); // Request width overflows content
assert(c_FastByteRingBuffer_Memcmp(&ring, 99, check_b, 1) == C_ERR_OUT_OF_BOUNDS); // Start pointer invalid
assert(c_FastByteRingBuffer_Memcmp(NULL, 0, check_b, 1) == C_ERR_INVALID_PARAM);
assert(c_FastByteRingBuffer_Memcmp(&ring, 0, check_b, 100) == C_ERR_OUTOFBOUND); // Request width overflows content
assert(c_FastByteRingBuffer_Memcmp(&ring, 99, check_b, 1) == C_ERR_OUTOFBOUND); // Start pointer invalid
assert(c_FastByteRingBuffer_Memcmp(NULL, 0, check_b, 1) == C_ERR_PARAM);
c_FastByteRingBuffer_Destroy(&ring);
}