diff options
-rw-r--r-- | tests/io_mock.h | 2 | ||||
-rw-r--r-- | tests/tests.c | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/tests/io_mock.h b/tests/io_mock.h index 020794af6..979806683 100644 --- a/tests/io_mock.h +++ b/tests/io_mock.h @@ -111,8 +111,10 @@ struct io_mock { FILE* (*iom_fopen)(void *state, const char *pathname, const char *mode); char* (*iom_fgets)(void *state, char *buf, int len, FILE *fp); size_t (*iom_fread)(void *state, void *buf, size_t size, size_t len, FILE *fp); + size_t (*iom_fwrite)(void *state, const void *buf, size_t size, size_t len, FILE *fp); int (*iom_fprintf)(void *state, FILE *fp, const char *fmt, va_list args); int (*iom_fclose)(void *state, FILE *fp); + FILE *(*iom_fdopen)(void *state, int fd, const char *mode); /* * An alternative to custom open mock. A test can either register its diff --git a/tests/tests.c b/tests/tests.c index b517898f7..41972ba25 100644 --- a/tests/tests.c +++ b/tests/tests.c @@ -184,6 +184,8 @@ FILE *__wrap_fopen64(const char *pathname, const char *mode) FILE *__wrap_fdopen(int fd, const char *mode) { LOG_ME; + if (get_io() && get_io()->iom_fdopen) + return get_io()->iom_fdopen(get_io()->state, fd, mode); return not_null(); } @@ -254,6 +256,8 @@ size_t __wrap_fread(void *ptr, size_t size, size_t nmemb, FILE *fp) size_t __wrap_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *fp) { LOG_ME; + if (get_io() && get_io()->iom_fwrite) + return get_io()->iom_fwrite(get_io()->state, ptr, size, nmemb, fp); return nmemb; } |