char *test_write() { int rc = RingBuffer_write(buffer, (char *)bss1->data, blength(bss1)); mu_assert(rc == blength(bss1), "Failed to write &test1 to buffer."); rc = RingBuffer_write(buffer, (char *)bss2->data, blength(bss2)); mu_assert(rc == blength(bss2), "Failed to write &test2 to buffer."); rc = RingBuffer_write(buffer, (char *)bss3->data, blength(bss3)); mu_assert(rc == blength(bss3), "Failed to write &test3 to buffer."); return NULL; }
void RingBuffer_test(void) { // Return Value int rv; // External buffer to register as Ring Buffer char ext_buffer[20] = {0}; // Temporary buffers for test purposes char read_buffer[40] = {0}; char write_buffer[40] = {0}; // Initialize Ring Buffer module rv = RingBuffer_init(ext_buffer, sizeof(ext_buffer)); if (rv != RING_BUFFER_E_SUCCESS) { // TODO: Complete this statement } // Write 20 bytes to the Temporary Write buffer strcat(write_buffer, "Test Ring Buffer 20"); // Write 10 bytes to the Ring Buffer rv = RingBuffer_write(write_buffer, 10); if (rv != 10) { // TODO: Complete this statement } // Read-back 5 first bytes from the Ring buffer rv = RingBuffer_read(read_buffer, 5); if (rv != 5) { // TODO: Complete this statement } // Read-back 5 last bytes from the Ring Buffer rv = RingBuffer_read(read_buffer + 5, 5); if (rv != 5) { // TODO: Complete this statement } // Compare the read byte with initial written data rv = memcmp(write_buffer, read_buffer, 10); if (rv != 0) { // Buffers are different, test FAILED // TODO: Complete this statement } else { // Buffers are identical, test PASSED // TODO: Complete this statement } }