From c4619e22d571bffa75ab033fceda7915c676f90d Mon Sep 17 00:00:00 2001 From: sanine Date: Mon, 4 Apr 2022 12:39:36 -0500 Subject: add basic mock queue + test --- lily-test.h | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'lily-test.h') diff --git a/lily-test.h b/lily-test.h index de69e92..783e134 100644 --- a/lily-test.h +++ b/lily-test.h @@ -18,6 +18,7 @@ struct lily_globals_t { jmp_buf env; + size_t error_msg_len; char *error_msg; const char *error_location; }; @@ -25,6 +26,14 @@ struct lily_globals_t { extern struct lily_globals_t _lily_globals; void lily_init(); + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * assertions + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ + void lily_assert_msg(bool statement, const char *location, const char *format_string, ...); @@ -97,4 +106,35 @@ void _lily_assert_memory_equal(const char *name_a, const char *name_b, void _lily_assert_memory_not_equal(const char *name_a, const char *name_b, void *a, void *b, size_t size, const char *location); + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * mocks + * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ + +typedef struct lily_mock_queue_t { + size_t buf_size; + uint8_t *buf; + uint8_t *front, *back; +} lily_mock_queue_t; + + +lily_mock_queue_t* lily_queue_create(); +void lily_queue_destroy(lily_mock_queue_t *q); + +#define lily_enqueue(q, type, value) \ + do { \ + type _var = value; \ + _lily_enqueue(q, sizeof(type), (uint8_t*)(&_var)); \ + } while(0) +void _lily_enqueue(lily_mock_queue_t *q, size_t size, uint8_t *data); + + +#define lily_dequeue(q, type, ptr) \ + _lily_dequeue(q, sizeof(type), (uint8_t*) ptr) +void _lily_dequeue(lily_mock_queue_t *q, size_t size, uint8_t *ptr); + + #endif -- cgit v1.2.1