]> granicus.if.org Git - esp-idf/commitdiff
test_ringbuf: Add tests for arbitrary length ring buffer
authorPiyush Shah <piyush@espressif.com>
Fri, 17 Nov 2017 11:53:43 +0000 (17:23 +0530)
committerPiyush Shah <piyush@espressif.com>
Tue, 21 Nov 2017 11:48:54 +0000 (17:18 +0530)
This will test the ring buffer for buffer length that is not
a multiple of 4

Signed-off-by: Piyush Shah <piyush@espressif.com>
components/freertos/test/test_ringbuf.c

index 84e1159992e5d6855a8a4a2f9e5d51857c8714fc..6a721aae39307cea68ce1bd1767c56ff40e508d1 100644 (file)
@@ -149,11 +149,16 @@ static void uartRxDeinit()
     esp_intr_free(s_intr_handle);
 }
 
-static void testRingbuffer(int type)
+static void testRingbuffer(int type, bool arbitrary)
 {
     TaskHandle_t th[2];
     int i;
-    rb = xRingbufferCreate(32 * 3, type);
+    /* Arbitrary Length means buffer length which is not a multiple of 4 */
+    if (arbitrary) {
+        rb = xRingbufferCreate(31 * 3, type);
+    } else {
+        rb = xRingbufferCreate(32 * 3, type);
+    }
 
     testtype = TST_MOSTLYFILLED;
 
@@ -179,12 +184,22 @@ static void testRingbuffer(int type)
 // TODO: split this thing into separate orthogonal tests
 TEST_CASE("FreeRTOS ringbuffer test, no splitting items", "[freertos]")
 {
-    testRingbuffer(0);
+    testRingbuffer(0, false);
 }
 
 TEST_CASE("FreeRTOS ringbuffer test, w/ splitting items", "[freertos]")
 {
-    testRingbuffer(1);
+    testRingbuffer(1, false);
+}
+
+TEST_CASE("FreeRTOS ringbuffer test, no splitting items, arbitrary length buffer", "[freertos]")
+{
+    testRingbuffer(0, true);
+}
+
+TEST_CASE("FreeRTOS ringbuffer test, w/ splitting items, arbitrary length buffer", "[freertos]")
+{
+    testRingbuffer(1, true);
 }