From f133f0a424db19dd3263794e8fa71ea920ef3ea9 Mon Sep 17 00:00:00 2001 From: sanine Date: Mon, 4 Apr 2022 16:42:05 -0500 Subject: add lily_mock_t basic functionality --- lily-test.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'lily-test.c') diff --git a/lily-test.c b/lily-test.c index 0581263..1e7e5f4 100644 --- a/lily-test.c +++ b/lily-test.c @@ -242,3 +242,45 @@ void _lily_dequeue(lily_queue_t *q, size_t size, uint8_t *ptr) memcpy(ptr, q->front, size); q->front += size; } + + +lily_mock_t * lily_mock_create() +{ + lily_mock_t *m = malloc(sizeof(lily_mock_t)); + m->n_calls = 0; + m->arguments = lily_queue_create(); + m->values = lily_queue_create(); + return m; +} + +void lily_mock_destroy(lily_mock_t *m) +{ + lily_queue_destroy(m->arguments); + lily_queue_destroy(m->values); + free(m); +} + +void _lily_mock_call(lily_mock_t *m, struct lily_mock_arg_t *args, size_t n_args) +{ + m->n_calls += 1; + + for (int i=0; iarguments, args[i].size, args[i].var); + } +} + +void _lily_get_call(lily_mock_t *m, + struct lily_mock_arg_t *args, + size_t n_args, + unsigned int call_num) +{ + size_t stride = 0; + for (int i=0; iarguments->front = m->arguments->buf + (call_num * stride); + for (int i=0; iarguments, args[i].size, args[i].var); + } +} -- cgit v1.2.1