aboutsummaryrefslogtreecommitdiffstats
path: root/tests/tests.c
diff options
context:
space:
mode:
authorNikolai Artemiev <nartemiev@google.com>2022-02-08 16:56:02 +1100
committerEdward O'Callaghan <quasisec@chromium.org>2022-02-14 02:32:04 +0000
commit94f91ef864b56ba71445b3e4d84f4b12f066aed2 (patch)
tree441b021a80093694dc054ed1fa84e351f9ce0621 /tests/tests.c
parenta8be6dace8ace92210c6423ca26c545c8b9e991f (diff)
downloadflashrom-94f91ef864b56ba71445b3e4d84f4b12f066aed2.tar.gz
flashrom-94f91ef864b56ba71445b3e4d84f4b12f066aed2.tar.bz2
flashrom-94f91ef864b56ba71445b3e4d84f4b12f066aed2.zip
tests: add fprintf() mock with redirection to io_mock
We've seen somewhat obscure test failures where the real fprintf() function was passed a fake file returned by the fopen() mock. Although the code that caused the specific failure was cros-specific, adding an fprintf() mock should help avoid future debugging. TEST=ninja test BRANCH=none BUG=b:217661133 Change-Id: I3f8594ea24d17436a7932732d9d05416b804dc93 Signed-off-by: Nikolai Artemiev <nartemiev@google.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/61708 Reviewed-by: Anastasia Klimchuk <aklm@chromium.org> Reviewed-by: Edward O'Callaghan <quasisec@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'tests/tests.c')
-rw-r--r--tests/tests.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/tests.c b/tests/tests.c
index a4a312e2..06dc12fa 100644
--- a/tests/tests.c
+++ b/tests/tests.c
@@ -236,6 +236,20 @@ int __wrap_setvbuf(FILE *fp, char *buf, int type, size_t size)
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;