Make mip_test fail with current queue algo

This commit is contained in:
Sergio R. Caprile 2022-09-07 14:31:08 -03:00
parent 75892cb523
commit 443351e95a

View File

@ -2,15 +2,17 @@
#include "mongoose.c"
static void test_queue(void) {
uint8_t buf[sizeof(size_t) + 5];
static uint8_t buf[sizeof(size_t) + sizeof(uint16_t) + 3 ]; // fit 1 element but not 2
uint16_t val = 1234;
struct queue q = {buf, sizeof(buf), 0, 0};
static struct queue q = {buf, sizeof(buf), 0, 0};
// Write to an empty queue, and read back
assert(q_avail(&q) == 0);
assert(q_write(&q, &val, sizeof(val)) == true);
assert(q_avail(&q) == sizeof(val));
assert(q.head > q.tail);
// Only one element may fit
assert(q_write(&q, &val, sizeof(val)) == false);
val = 0;
assert(q_read(&q, &val) == sizeof(val));
assert(val == 1234);
@ -20,6 +22,8 @@ static void test_queue(void) {
assert(q_write(&q, &val, sizeof(val)) == true);
assert(q_avail(&q) == sizeof(val));
assert(q.head < q.tail);
// Only one element may fit
assert(q_write(&q, &val, sizeof(val)) == false);
val = 0;
assert(q_read(&q, &val) == sizeof(val));
assert(val == 1234);