Merge pull request #1719 from cesanta/testq

Make mip_test fail with current queue algo
This commit is contained in:
Sergey Lyubka authored and GitHub committed 2022-09-07 20:58:29 +01:00
commit 4be8f2ba93
1 file changed
+6 -2
+6 -2
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);