Nikolai Artemiev has uploaded this change for review. ( https://review.coreboot.org/c/flashrom/+/61708 )
Change subject: tests: add fprintf() mock with redirection to io_mock ......................................................................
tests: add fprintf() mock with redirection to io_mock
TEST=ninja test BRANCH=none BUG=b:217661133
Change-Id: I3f8594ea24d17436a7932732d9d05416b804dc93 Signed-off-by: Nikolai Artemiev nartemiev@google.com --- M tests/io_mock.h M tests/meson.build M tests/tests.c 3 files changed, 16 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/08/61708/1
diff --git a/tests/io_mock.h b/tests/io_mock.h index 854ddd9..8734774 100644 --- a/tests/io_mock.h +++ b/tests/io_mock.h @@ -102,6 +102,7 @@ FILE* (*fopen)(void *state, const char *pathname, const char *mode); char* (*fgets)(void *state, char *buf, int len, FILE *fp); size_t (*fread)(void *state, void *buf, size_t size, size_t len, FILE *fp); + int (*fprintf)(void *state, FILE *fp, const char *fmt, va_list args); int (*fclose)(void *state, FILE *fp); };
diff --git a/tests/meson.build b/tests/meson.build index 5bb6ac9..2f0fc67 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -56,6 +56,7 @@ '-Wl,--wrap=fsync', '-Wl,--wrap=fread', '-Wl,--wrap=fgets', + '-Wl,--wrap=fprintf', '-Wl,--wrap=fclose', '-Wl,--wrap=feof', '-Wl,--wrap=ferror', diff --git a/tests/tests.c b/tests/tests.c index a4a312e..06dc12f 100644 --- a/tests/tests.c +++ b/tests/tests.c @@ -236,6 +236,20 @@ return 0; }
+int __wrap_fprintf(FILE *fp, const char *fmt, ...) +{ + LOG_ME; + if (get_io() && get_io()->fprintf) { + va_list args; + int out; + va_start(args, fmt); + out = get_io()->fprintf(get_io()->state, fp, fmt, args); + va_end(args); + return out; + } + return 0; +} + int __wrap_fclose(FILE *fp) { LOG_ME;