Anastasia Klimchuk has submitted this change. ( https://review.coreboot.org/c/flashrom/+/62844 )
Change subject: tests: add more mock wrappers ......................................................................
tests: add more mock wrappers
This change allows for tests to run when the compiler is inlining some other interfaces. This happens when compiling on the chromium chroot environment.
* __fgets_chk() is being used instead of fgets() in get_max_kernel_buf_size() on linux_spi.c * __vfprintf_chk() is being used instead of fprintf() in disable_power_management() on power.c * __open64_2() is being used instead of open() in i2c_open_path() on i2c_helper_linux.c
BUG=b:224828279 TEST=./test_build.sh; FEATURES=test emerge-volteer flashrom
Signed-off-by: Daniel Campello campello@chromium.org Change-Id: I9776104d655c37891093da08789d37e5e27700de Reviewed-on: https://review.coreboot.org/c/flashrom/+/62844 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Anastasia Klimchuk aklm@chromium.org Reviewed-by: Edward O'Callaghan quasisec@chromium.org --- M tests/meson.build M tests/tests.c 2 files changed, 27 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Edward O'Callaghan: Looks good to me, approved Anastasia Klimchuk: Looks good to me, approved
diff --git a/tests/meson.build b/tests/meson.build index 610d1c6..90e0df1 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -36,6 +36,7 @@ '-Wl,--wrap=sio_read', '-Wl,--wrap=open', '-Wl,--wrap=open64', + '-Wl,--wrap=__open64_2', '-Wl,--wrap=ioctl', '-Wl,--wrap=read', '-Wl,--wrap=write', @@ -56,7 +57,9 @@ '-Wl,--wrap=fsync', '-Wl,--wrap=fread', '-Wl,--wrap=fgets', + '-Wl,--wrap=__fgets_chk', '-Wl,--wrap=fprintf', + '-Wl,--wrap=__vfprintf_chk', '-Wl,--wrap=fclose', '-Wl,--wrap=feof', '-Wl,--wrap=ferror', diff --git a/tests/tests.c b/tests/tests.c index f1fb3f3..33b2ea2 100644 --- a/tests/tests.c +++ b/tests/tests.c @@ -90,6 +90,14 @@ return NON_ZERO; }
+int __wrap___open64_2(const char *pathname, int flags) +{ + LOG_ME; + if (get_io() && get_io()->open) + return get_io()->open(get_io()->state, pathname, flags); + return NON_ZERO; +} + int __wrap_ioctl(int fd, unsigned long int request, ...) { LOG_ME; @@ -198,6 +206,14 @@ return NULL; }
+char *__wrap___fgets_chk(char *buf, int len, FILE *fp) +{ + LOG_ME; + if (get_io() && get_io()->fgets) + return get_io()->fgets(get_io()->state, buf, len, fp); + return NULL; +} + size_t __wrap_fread(void *ptr, size_t size, size_t nmemb, FILE *fp) { LOG_ME; @@ -250,6 +266,14 @@ return 0; }
+int __wrap___vfprintf_chk(FILE *fp, const char *fmt, va_list args) +{ + LOG_ME; + if (get_io() && get_io()->fprintf) + return get_io()->fprintf(get_io()->state, fp, fmt, args); + return 0; +} + int __wrap_fclose(FILE *fp) { LOG_ME;
3 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one.