diff options
Diffstat (limited to 'tests')
| -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 020794af..97980668 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 b517898f..41972ba2 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;  } | 
