tests and fix for ringbuffer
This commit is contained in:
parent
b8e676299a
commit
53851b91d6
@ -62,6 +62,8 @@ int ringbufferPut(ringbuffer_t *handle, uint8_t *data, uint32_t dataLen) {
|
||||
freeSpace = (handle->bufferSize - handle->bufferWriteIdx) + handle->bufferReadIdx;
|
||||
}
|
||||
|
||||
freeSpace--;
|
||||
|
||||
if (dataLen > freeSpace) {
|
||||
return -1;
|
||||
}
|
||||
|
@ -43,6 +43,23 @@ void testRingbuffer0() {
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 0);
|
||||
CU_ASSERT(rb.bufferReadIdx == 0);
|
||||
|
||||
CU_ASSERT(rb.buffer[0] == 0);
|
||||
CU_ASSERT(rb.buffer[1] == 0);
|
||||
CU_ASSERT(rb.buffer[2] == 0);
|
||||
CU_ASSERT(rb.buffer[3] == 0);
|
||||
CU_ASSERT(rb.buffer[4] == 0);
|
||||
CU_ASSERT(rb.buffer[5] == 0);
|
||||
CU_ASSERT(rb.buffer[6] == 0);
|
||||
CU_ASSERT(rb.buffer[7] == 0);
|
||||
CU_ASSERT(rb.buffer[8] == 0);
|
||||
CU_ASSERT(rb.buffer[9] == 0);
|
||||
CU_ASSERT(rb.buffer[10] == 0);
|
||||
CU_ASSERT(rb.buffer[11] == 0);
|
||||
CU_ASSERT(rb.buffer[12] == 0);
|
||||
CU_ASSERT(rb.buffer[13] == 0);
|
||||
CU_ASSERT(rb.buffer[14] == 0);
|
||||
CU_ASSERT(rb.buffer[15] == 0);
|
||||
}
|
||||
|
||||
void testRingbuffer1() {
|
||||
@ -60,6 +77,23 @@ void testRingbuffer1() {
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 5);
|
||||
CU_ASSERT(rb.bufferReadIdx == 0);
|
||||
|
||||
CU_ASSERT(rb.buffer[0] == 'a');
|
||||
CU_ASSERT(rb.buffer[1] == 'b');
|
||||
CU_ASSERT(rb.buffer[2] == 'c');
|
||||
CU_ASSERT(rb.buffer[3] == 'd');
|
||||
CU_ASSERT(rb.buffer[4] == 'e');
|
||||
CU_ASSERT(rb.buffer[5] == 0);
|
||||
CU_ASSERT(rb.buffer[6] == 0);
|
||||
CU_ASSERT(rb.buffer[7] == 0);
|
||||
CU_ASSERT(rb.buffer[8] == 0);
|
||||
CU_ASSERT(rb.buffer[9] == 0);
|
||||
CU_ASSERT(rb.buffer[10] == 0);
|
||||
CU_ASSERT(rb.buffer[11] == 0);
|
||||
CU_ASSERT(rb.buffer[12] == 0);
|
||||
CU_ASSERT(rb.buffer[13] == 0);
|
||||
CU_ASSERT(rb.buffer[14] == 0);
|
||||
CU_ASSERT(rb.buffer[15] == 0);
|
||||
}
|
||||
|
||||
void testRingbuffer2() {
|
||||
@ -77,6 +111,23 @@ void testRingbuffer2() {
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 10);
|
||||
CU_ASSERT(rb.bufferReadIdx == 0);
|
||||
|
||||
CU_ASSERT(rb.buffer[0] == 'a');
|
||||
CU_ASSERT(rb.buffer[1] == 'b');
|
||||
CU_ASSERT(rb.buffer[2] == 'c');
|
||||
CU_ASSERT(rb.buffer[3] == 'd');
|
||||
CU_ASSERT(rb.buffer[4] == 'e');
|
||||
CU_ASSERT(rb.buffer[5] == 'f');
|
||||
CU_ASSERT(rb.buffer[6] == 'g');
|
||||
CU_ASSERT(rb.buffer[7] == 'h');
|
||||
CU_ASSERT(rb.buffer[8] == 'i');
|
||||
CU_ASSERT(rb.buffer[9] == 'j');
|
||||
CU_ASSERT(rb.buffer[10] == 0);
|
||||
CU_ASSERT(rb.buffer[11] == 0);
|
||||
CU_ASSERT(rb.buffer[12] == 0);
|
||||
CU_ASSERT(rb.buffer[13] == 0);
|
||||
CU_ASSERT(rb.buffer[14] == 0);
|
||||
CU_ASSERT(rb.buffer[15] == 0);
|
||||
}
|
||||
|
||||
void testRingbuffer3() {
|
||||
@ -94,6 +145,23 @@ void testRingbuffer3() {
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 15);
|
||||
CU_ASSERT(rb.bufferReadIdx == 0);
|
||||
|
||||
CU_ASSERT(rb.buffer[0] == 'a');
|
||||
CU_ASSERT(rb.buffer[1] == 'b');
|
||||
CU_ASSERT(rb.buffer[2] == 'c');
|
||||
CU_ASSERT(rb.buffer[3] == 'd');
|
||||
CU_ASSERT(rb.buffer[4] == 'e');
|
||||
CU_ASSERT(rb.buffer[5] == 'f');
|
||||
CU_ASSERT(rb.buffer[6] == 'g');
|
||||
CU_ASSERT(rb.buffer[7] == 'h');
|
||||
CU_ASSERT(rb.buffer[8] == 'i');
|
||||
CU_ASSERT(rb.buffer[9] == 'j');
|
||||
CU_ASSERT(rb.buffer[10] == 'k');
|
||||
CU_ASSERT(rb.buffer[11] == 'l');
|
||||
CU_ASSERT(rb.buffer[12] == 'm');
|
||||
CU_ASSERT(rb.buffer[13] == 'n');
|
||||
CU_ASSERT(rb.buffer[14] == 'o');
|
||||
CU_ASSERT(rb.buffer[15] == 0);
|
||||
}
|
||||
|
||||
void testRingbuffer4() {
|
||||
@ -110,6 +178,23 @@ void testRingbuffer4() {
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 15);
|
||||
CU_ASSERT(rb.bufferReadIdx == 0);
|
||||
|
||||
CU_ASSERT(rb.buffer[0] == 'a');
|
||||
CU_ASSERT(rb.buffer[1] == 'b');
|
||||
CU_ASSERT(rb.buffer[2] == 'c');
|
||||
CU_ASSERT(rb.buffer[3] == 'd');
|
||||
CU_ASSERT(rb.buffer[4] == 'e');
|
||||
CU_ASSERT(rb.buffer[5] == 'f');
|
||||
CU_ASSERT(rb.buffer[6] == 'g');
|
||||
CU_ASSERT(rb.buffer[7] == 'h');
|
||||
CU_ASSERT(rb.buffer[8] == 'i');
|
||||
CU_ASSERT(rb.buffer[9] == 'j');
|
||||
CU_ASSERT(rb.buffer[10] == 'k');
|
||||
CU_ASSERT(rb.buffer[11] == 'l');
|
||||
CU_ASSERT(rb.buffer[12] == 'm');
|
||||
CU_ASSERT(rb.buffer[13] == 'n');
|
||||
CU_ASSERT(rb.buffer[14] == 'o');
|
||||
CU_ASSERT(rb.buffer[15] == 0);
|
||||
}
|
||||
|
||||
void testRingbuffer5() {
|
||||
@ -129,6 +214,23 @@ void testRingbuffer5() {
|
||||
|
||||
uint8_t rr = (uint8_t) r;
|
||||
CU_ASSERT(rr == 'a');
|
||||
|
||||
CU_ASSERT(rb.buffer[0] == 'a');
|
||||
CU_ASSERT(rb.buffer[1] == 'b');
|
||||
CU_ASSERT(rb.buffer[2] == 'c');
|
||||
CU_ASSERT(rb.buffer[3] == 'd');
|
||||
CU_ASSERT(rb.buffer[4] == 'e');
|
||||
CU_ASSERT(rb.buffer[5] == 'f');
|
||||
CU_ASSERT(rb.buffer[6] == 'g');
|
||||
CU_ASSERT(rb.buffer[7] == 'h');
|
||||
CU_ASSERT(rb.buffer[8] == 'i');
|
||||
CU_ASSERT(rb.buffer[9] == 'j');
|
||||
CU_ASSERT(rb.buffer[10] == 'k');
|
||||
CU_ASSERT(rb.buffer[11] == 'l');
|
||||
CU_ASSERT(rb.buffer[12] == 'm');
|
||||
CU_ASSERT(rb.buffer[13] == 'n');
|
||||
CU_ASSERT(rb.buffer[14] == 'o');
|
||||
CU_ASSERT(rb.buffer[15] == 0);
|
||||
}
|
||||
|
||||
void testRingbuffer6() {
|
||||
@ -176,8 +278,528 @@ void testRingbuffer6() {
|
||||
|
||||
rr = (uint8_t) r;
|
||||
CU_ASSERT(rr == 'd');
|
||||
|
||||
CU_ASSERT(rb.buffer[0] == 'a');
|
||||
CU_ASSERT(rb.buffer[1] == 'b');
|
||||
CU_ASSERT(rb.buffer[2] == 'c');
|
||||
CU_ASSERT(rb.buffer[3] == 'd');
|
||||
CU_ASSERT(rb.buffer[4] == 'e');
|
||||
CU_ASSERT(rb.buffer[5] == 'f');
|
||||
CU_ASSERT(rb.buffer[6] == 'g');
|
||||
CU_ASSERT(rb.buffer[7] == 'h');
|
||||
CU_ASSERT(rb.buffer[8] == 'i');
|
||||
CU_ASSERT(rb.buffer[9] == 'j');
|
||||
CU_ASSERT(rb.buffer[10] == 'k');
|
||||
CU_ASSERT(rb.buffer[11] == 'l');
|
||||
CU_ASSERT(rb.buffer[12] == 'm');
|
||||
CU_ASSERT(rb.buffer[13] == 'n');
|
||||
CU_ASSERT(rb.buffer[14] == 'o');
|
||||
CU_ASSERT(rb.buffer[15] == 0);
|
||||
}
|
||||
|
||||
void testRingbuffer7() {
|
||||
#ifdef DEBUG
|
||||
printf("\nPut 5 chars in buffer\n");
|
||||
#endif
|
||||
int r = ringbufferPut(&rb, "1234", 4);
|
||||
#ifdef DEBUG
|
||||
printf("r = %d\n", r);
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r == 0);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 3);
|
||||
CU_ASSERT(rb.bufferReadIdx == 4);
|
||||
|
||||
CU_ASSERT(rb.buffer[0] == '2');
|
||||
CU_ASSERT(rb.buffer[1] == '3');
|
||||
CU_ASSERT(rb.buffer[2] == '4');
|
||||
CU_ASSERT(rb.buffer[3] == 'd');
|
||||
CU_ASSERT(rb.buffer[4] == 'e');
|
||||
CU_ASSERT(rb.buffer[5] == 'f');
|
||||
CU_ASSERT(rb.buffer[6] == 'g');
|
||||
CU_ASSERT(rb.buffer[7] == 'h');
|
||||
CU_ASSERT(rb.buffer[8] == 'i');
|
||||
CU_ASSERT(rb.buffer[9] == 'j');
|
||||
CU_ASSERT(rb.buffer[10] == 'k');
|
||||
CU_ASSERT(rb.buffer[11] == 'l');
|
||||
CU_ASSERT(rb.buffer[12] == 'm');
|
||||
CU_ASSERT(rb.buffer[13] == 'n');
|
||||
CU_ASSERT(rb.buffer[14] == 'o');
|
||||
CU_ASSERT(rb.buffer[15] == '1');
|
||||
}
|
||||
|
||||
void testRingbuffer8() {
|
||||
#ifdef DEBUG
|
||||
printf("\nPut 5 chars in buffer\n");
|
||||
#endif
|
||||
int r = ringbufferPut(&rb, "67890", 5);
|
||||
#ifdef DEBUG
|
||||
printf("r = %d\n", r);
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r == -1);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 3);
|
||||
CU_ASSERT(rb.bufferReadIdx == 4);
|
||||
|
||||
CU_ASSERT(rb.buffer[0] == '2');
|
||||
CU_ASSERT(rb.buffer[1] == '3');
|
||||
CU_ASSERT(rb.buffer[2] == '4');
|
||||
CU_ASSERT(rb.buffer[3] == 'd');
|
||||
CU_ASSERT(rb.buffer[4] == 'e');
|
||||
CU_ASSERT(rb.buffer[5] == 'f');
|
||||
CU_ASSERT(rb.buffer[6] == 'g');
|
||||
CU_ASSERT(rb.buffer[7] == 'h');
|
||||
CU_ASSERT(rb.buffer[8] == 'i');
|
||||
CU_ASSERT(rb.buffer[9] == 'j');
|
||||
CU_ASSERT(rb.buffer[10] == 'k');
|
||||
CU_ASSERT(rb.buffer[11] == 'l');
|
||||
CU_ASSERT(rb.buffer[12] == 'm');
|
||||
CU_ASSERT(rb.buffer[13] == 'n');
|
||||
CU_ASSERT(rb.buffer[14] == 'o');
|
||||
CU_ASSERT(rb.buffer[15] == '1')
|
||||
}
|
||||
|
||||
void testRingbuffer9() {
|
||||
#ifdef DEBUG
|
||||
printf("\nRead one char from buffer\n");
|
||||
#endif
|
||||
int r = ringbufferGetOne(&rb);
|
||||
#ifdef DEBUG
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r >= 0);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 3);
|
||||
CU_ASSERT(rb.bufferReadIdx == 5);
|
||||
|
||||
uint8_t rr = (uint8_t) r;
|
||||
CU_ASSERT(rr == 'e');
|
||||
|
||||
CU_ASSERT(rb.buffer[0] == '2');
|
||||
CU_ASSERT(rb.buffer[1] == '3');
|
||||
CU_ASSERT(rb.buffer[2] == '4');
|
||||
CU_ASSERT(rb.buffer[3] == 'd');
|
||||
CU_ASSERT(rb.buffer[4] == 'e');
|
||||
CU_ASSERT(rb.buffer[5] == 'f');
|
||||
CU_ASSERT(rb.buffer[6] == 'g');
|
||||
CU_ASSERT(rb.buffer[7] == 'h');
|
||||
CU_ASSERT(rb.buffer[8] == 'i');
|
||||
CU_ASSERT(rb.buffer[9] == 'j');
|
||||
CU_ASSERT(rb.buffer[10] == 'k');
|
||||
CU_ASSERT(rb.buffer[11] == 'l');
|
||||
CU_ASSERT(rb.buffer[12] == 'm');
|
||||
CU_ASSERT(rb.buffer[13] == 'n');
|
||||
CU_ASSERT(rb.buffer[14] == 'o');
|
||||
CU_ASSERT(rb.buffer[15] == '1')
|
||||
}
|
||||
|
||||
void testRingbuffer10() {
|
||||
#ifdef DEBUG
|
||||
printf("\nPut 1 chars in buffer\n");
|
||||
#endif
|
||||
int r = ringbufferPut(&rb, "$", 1);
|
||||
#ifdef DEBUG
|
||||
printf("r = %d\n", r);
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r == 0);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 4);
|
||||
CU_ASSERT(rb.bufferReadIdx == 5);
|
||||
|
||||
CU_ASSERT(rb.buffer[0] == '2');
|
||||
CU_ASSERT(rb.buffer[1] == '3');
|
||||
CU_ASSERT(rb.buffer[2] == '4');
|
||||
CU_ASSERT(rb.buffer[3] == '$');
|
||||
CU_ASSERT(rb.buffer[4] == 'e');
|
||||
CU_ASSERT(rb.buffer[5] == 'f');
|
||||
CU_ASSERT(rb.buffer[6] == 'g');
|
||||
CU_ASSERT(rb.buffer[7] == 'h');
|
||||
CU_ASSERT(rb.buffer[8] == 'i');
|
||||
CU_ASSERT(rb.buffer[9] == 'j');
|
||||
CU_ASSERT(rb.buffer[10] == 'k');
|
||||
CU_ASSERT(rb.buffer[11] == 'l');
|
||||
CU_ASSERT(rb.buffer[12] == 'm');
|
||||
CU_ASSERT(rb.buffer[13] == 'n');
|
||||
CU_ASSERT(rb.buffer[14] == 'o');
|
||||
CU_ASSERT(rb.buffer[15] == '1')
|
||||
}
|
||||
|
||||
void testRingbuffer11() {
|
||||
#ifdef DEBUG
|
||||
printf("\nPut 1 chars in buffer\n");
|
||||
#endif
|
||||
int r = ringbufferPut(&rb, "%", 1);
|
||||
#ifdef DEBUG
|
||||
printf("r = %d\n", r);
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r == -1);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 4);
|
||||
CU_ASSERT(rb.bufferReadIdx == 5);
|
||||
|
||||
CU_ASSERT(rb.buffer[0] == '2');
|
||||
CU_ASSERT(rb.buffer[1] == '3');
|
||||
CU_ASSERT(rb.buffer[2] == '4');
|
||||
CU_ASSERT(rb.buffer[3] == '$');
|
||||
CU_ASSERT(rb.buffer[4] == 'e');
|
||||
CU_ASSERT(rb.buffer[5] == 'f');
|
||||
CU_ASSERT(rb.buffer[6] == 'g');
|
||||
CU_ASSERT(rb.buffer[7] == 'h');
|
||||
CU_ASSERT(rb.buffer[8] == 'i');
|
||||
CU_ASSERT(rb.buffer[9] == 'j');
|
||||
CU_ASSERT(rb.buffer[10] == 'k');
|
||||
CU_ASSERT(rb.buffer[11] == 'l');
|
||||
CU_ASSERT(rb.buffer[12] == 'm');
|
||||
CU_ASSERT(rb.buffer[13] == 'n');
|
||||
CU_ASSERT(rb.buffer[14] == 'o');
|
||||
CU_ASSERT(rb.buffer[15] == '1')
|
||||
}
|
||||
|
||||
void testRingbuffer12() {
|
||||
#ifdef DEBUG
|
||||
printf("\nRead unless the buffer is empty\n");
|
||||
#endif
|
||||
int r = ringbufferGetOne(&rb);
|
||||
#ifdef DEBUG
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r >= 0);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 4);
|
||||
CU_ASSERT(rb.bufferReadIdx == 6);
|
||||
|
||||
uint8_t rr = (uint8_t) r;
|
||||
CU_ASSERT(rr == 'f');
|
||||
|
||||
r = ringbufferGetOne(&rb);
|
||||
#ifdef DEBUG
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r >= 0);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 4);
|
||||
CU_ASSERT(rb.bufferReadIdx == 7);
|
||||
|
||||
rr = (uint8_t) r;
|
||||
CU_ASSERT(rr == 'g');
|
||||
|
||||
r = ringbufferGetOne(&rb);
|
||||
#ifdef DEBUG
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r >= 0);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 4);
|
||||
CU_ASSERT(rb.bufferReadIdx == 8);
|
||||
|
||||
rr = (uint8_t) r;
|
||||
CU_ASSERT(rr == 'h');
|
||||
|
||||
r = ringbufferGetOne(&rb);
|
||||
#ifdef DEBUG
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r >= 0);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 4);
|
||||
CU_ASSERT(rb.bufferReadIdx == 9);
|
||||
|
||||
rr = (uint8_t) r;
|
||||
CU_ASSERT(rr == 'i');
|
||||
|
||||
r = ringbufferGetOne(&rb);
|
||||
#ifdef DEBUG
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r >= 0);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 4);
|
||||
CU_ASSERT(rb.bufferReadIdx == 10);
|
||||
|
||||
rr = (uint8_t) r;
|
||||
CU_ASSERT(rr == 'j');
|
||||
|
||||
r = ringbufferGetOne(&rb);
|
||||
#ifdef DEBUG
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r >= 0);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 4);
|
||||
CU_ASSERT(rb.bufferReadIdx == 11);
|
||||
|
||||
rr = (uint8_t) r;
|
||||
CU_ASSERT(rr == 'k');
|
||||
|
||||
r = ringbufferGetOne(&rb);
|
||||
#ifdef DEBUG
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r >= 0);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 4);
|
||||
CU_ASSERT(rb.bufferReadIdx == 12);
|
||||
|
||||
rr = (uint8_t) r;
|
||||
CU_ASSERT(rr == 'l');
|
||||
|
||||
r = ringbufferGetOne(&rb);
|
||||
#ifdef DEBUG
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r >= 0);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 4);
|
||||
CU_ASSERT(rb.bufferReadIdx == 13);
|
||||
|
||||
rr = (uint8_t) r;
|
||||
CU_ASSERT(rr == 'm');
|
||||
|
||||
r = ringbufferGetOne(&rb);
|
||||
#ifdef DEBUG
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r >= 0);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 4);
|
||||
CU_ASSERT(rb.bufferReadIdx == 14);
|
||||
|
||||
rr = (uint8_t) r;
|
||||
CU_ASSERT(rr == 'n');
|
||||
|
||||
r = ringbufferGetOne(&rb);
|
||||
#ifdef DEBUG
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r >= 0);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 4);
|
||||
CU_ASSERT(rb.bufferReadIdx == 15);
|
||||
|
||||
rr = (uint8_t) r;
|
||||
CU_ASSERT(rr == 'o');
|
||||
|
||||
r = ringbufferGetOne(&rb);
|
||||
#ifdef DEBUG
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r >= 0);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 4);
|
||||
CU_ASSERT(rb.bufferReadIdx == 0);
|
||||
|
||||
rr = (uint8_t) r;
|
||||
CU_ASSERT(rr == '1');
|
||||
|
||||
r = ringbufferGetOne(&rb);
|
||||
#ifdef DEBUG
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r >= 0);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 4);
|
||||
CU_ASSERT(rb.bufferReadIdx == 1);
|
||||
|
||||
rr = (uint8_t) r;
|
||||
CU_ASSERT(rr == '2');
|
||||
|
||||
r = ringbufferGetOne(&rb);
|
||||
#ifdef DEBUG
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r >= 0);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 4);
|
||||
CU_ASSERT(rb.bufferReadIdx == 2);
|
||||
|
||||
rr = (uint8_t) r;
|
||||
CU_ASSERT(rr == '3');
|
||||
|
||||
r = ringbufferGetOne(&rb);
|
||||
#ifdef DEBUG
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r >= 0);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 4);
|
||||
CU_ASSERT(rb.bufferReadIdx == 3);
|
||||
|
||||
rr = (uint8_t) r;
|
||||
CU_ASSERT(rr == '4');
|
||||
|
||||
r = ringbufferGetOne(&rb);
|
||||
#ifdef DEBUG
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r >= 0);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 4);
|
||||
CU_ASSERT(rb.bufferReadIdx == 4);
|
||||
|
||||
rr = (uint8_t) r;
|
||||
CU_ASSERT(rr == '$');
|
||||
|
||||
r = ringbufferGetOne(&rb);
|
||||
#ifdef DEBUG
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r == -1);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 4);
|
||||
CU_ASSERT(rb.bufferReadIdx == 4);
|
||||
|
||||
r = ringbufferGetOne(&rb);
|
||||
#ifdef DEBUG
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r == -1);
|
||||
CU_ASSERT(rb.buffer != NULL);
|
||||
CU_ASSERT(rb.bufferSize == 16);
|
||||
CU_ASSERT(rb.bufferWriteIdx == 4);
|
||||
CU_ASSERT(rb.bufferReadIdx == 4);
|
||||
|
||||
CU_ASSERT(rb.buffer[0] == '2');
|
||||
CU_ASSERT(rb.buffer[1] == '3');
|
||||
CU_ASSERT(rb.buffer[2] == '4');
|
||||
CU_ASSERT(rb.buffer[3] == '$');
|
||||
CU_ASSERT(rb.buffer[4] == 'e');
|
||||
CU_ASSERT(rb.buffer[5] == 'f');
|
||||
CU_ASSERT(rb.buffer[6] == 'g');
|
||||
CU_ASSERT(rb.buffer[7] == 'h');
|
||||
CU_ASSERT(rb.buffer[8] == 'i');
|
||||
CU_ASSERT(rb.buffer[9] == 'j');
|
||||
CU_ASSERT(rb.buffer[10] == 'k');
|
||||
CU_ASSERT(rb.buffer[11] == 'l');
|
||||
CU_ASSERT(rb.buffer[12] == 'm');
|
||||
CU_ASSERT(rb.buffer[13] == 'n');
|
||||
CU_ASSERT(rb.buffer[14] == 'o');
|
||||
CU_ASSERT(rb.buffer[15] == '1')
|
||||
}
|
||||
|
||||
|
||||
void testRingbuffer13() {
|
||||
#ifdef DEBUG
|
||||
printf("\nPut some chars in buffer\n");
|
||||
#endif
|
||||
char t[] = "Hello World\n";
|
||||
int r = ringbufferPut(&rb, t, strlen(t));
|
||||
#ifdef DEBUG
|
||||
printf("r = %d\n", r);
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r == 0);
|
||||
}
|
||||
|
||||
void testRingbuffer14() {
|
||||
#ifdef DEBUG
|
||||
printf("\nPut some chars in buffer\n");
|
||||
#endif
|
||||
char t[] = "Hello World\n";
|
||||
int r = ringbufferPut(&rb, t, strlen(t));
|
||||
#ifdef DEBUG
|
||||
printf("r = %d\n", r);
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r == -1);
|
||||
}
|
||||
|
||||
void testRingbuffer15() {
|
||||
#ifdef DEBUG
|
||||
printf("\nRead all chars from buffer\n");
|
||||
#endif
|
||||
char goldValue[] = "Hello World\n";
|
||||
char buffer[20];
|
||||
memset(buffer, 0, 20);
|
||||
|
||||
int c;
|
||||
uint8_t i = 0;
|
||||
while (0 < (c = ringbufferGetOne(&rb))) {
|
||||
buffer[i] = (uint8_t) c;
|
||||
i++;
|
||||
}
|
||||
|
||||
CU_ASSERT(strcmp(goldValue, buffer) == 0);
|
||||
}
|
||||
|
||||
void testRingbuffer16() {
|
||||
#ifdef DEBUG
|
||||
printf("\nPut some chars in buffer\n");
|
||||
#endif
|
||||
char goldValue[] = "Wolfgang\n";
|
||||
int r = ringbufferPut(&rb, goldValue, strlen(goldValue));
|
||||
#ifdef DEBUG
|
||||
printf("r = %d\n", r);
|
||||
printRingbuffer(&rb);
|
||||
#endif
|
||||
|
||||
CU_ASSERT(r == 0);
|
||||
|
||||
#ifdef DEBUG
|
||||
printf("\nRead all chars from buffer\n");
|
||||
#endif
|
||||
char buffer[20];
|
||||
memset(buffer, 0, 20);
|
||||
|
||||
int c;
|
||||
uint8_t i = 0;
|
||||
while (0 < (c = ringbufferGetOne(&rb))) {
|
||||
buffer[i] = (uint8_t) c;
|
||||
i++;
|
||||
}
|
||||
|
||||
CU_ASSERT(strcmp(goldValue, buffer) == 0);
|
||||
}
|
||||
|
||||
|
||||
void testRingbuffer99() {
|
||||
#ifdef DEBUG
|
||||
printf("De-Initialize ringbuffer\n");
|
||||
@ -210,6 +832,16 @@ int main() {
|
||||
(NULL == CU_add_test(ringbufferSuite, "test 4 of ringbuffer", testRingbuffer4)) ||
|
||||
(NULL == CU_add_test(ringbufferSuite, "test 5 of ringbuffer", testRingbuffer5)) ||
|
||||
(NULL == CU_add_test(ringbufferSuite, "test 6 of ringbuffer", testRingbuffer6)) ||
|
||||
(NULL == CU_add_test(ringbufferSuite, "test 7 of ringbuffer", testRingbuffer7)) ||
|
||||
(NULL == CU_add_test(ringbufferSuite, "test 8 of ringbuffer", testRingbuffer8)) ||
|
||||
(NULL == CU_add_test(ringbufferSuite, "test 9 of ringbuffer", testRingbuffer9)) ||
|
||||
(NULL == CU_add_test(ringbufferSuite, "test 10 of ringbuffer", testRingbuffer10)) ||
|
||||
(NULL == CU_add_test(ringbufferSuite, "test 11 of ringbuffer", testRingbuffer11)) ||
|
||||
(NULL == CU_add_test(ringbufferSuite, "test 12 of ringbuffer", testRingbuffer12)) ||
|
||||
(NULL == CU_add_test(ringbufferSuite, "test 13 of ringbuffer", testRingbuffer13)) ||
|
||||
(NULL == CU_add_test(ringbufferSuite, "test 14 of ringbuffer", testRingbuffer14)) ||
|
||||
(NULL == CU_add_test(ringbufferSuite, "test 14 of ringbuffer", testRingbuffer15)) ||
|
||||
(NULL == CU_add_test(ringbufferSuite, "test 14 of ringbuffer", testRingbuffer16)) ||
|
||||
(NULL == CU_add_test(ringbufferSuite, "test 99 of ringbuffer, free", testRingbuffer99)) ||
|
||||
0 ) {
|
||||
CU_cleanup_registry();
|
||||
|
Loading…
x
Reference in New Issue
Block a user