summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorDaniel Campello <campello@chromium.org>2022-03-15 14:19:34 -0600
committerAnastasia Klimchuk <aklm@chromium.org>2022-03-21 02:10:20 +0000
commitf31650b23b4b80f86b7fe0ec879984439a32838c (patch)
tree36c6824f810d002987639982b0294cde36e9ad11 /tests
parentdfa7451bf1d88f671edabca49be9a7d45fd05f93 (diff)
downloadflashrom-f31650b23b4b80f86b7fe0ec879984439a32838c.tar.gz
flashrom-f31650b23b4b80f86b7fe0ec879984439a32838c.tar.bz2
flashrom-f31650b23b4b80f86b7fe0ec879984439a32838c.zip
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>
Diffstat (limited to 'tests')
-rw-r--r--tests/meson.build3
-rw-r--r--tests/tests.c24
2 files changed, 27 insertions, 0 deletions
diff --git a/tests/meson.build b/tests/meson.build
index 610d1c612..90e0df114 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -36,6 +36,7 @@ mocks = [
'-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 @@ mocks = [
'-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 f1fb3f3e5..33b2ea207 100644
--- a/tests/tests.c
+++ b/tests/tests.c
@@ -90,6 +90,14 @@ int __wrap_open64(const char *pathname, int flags)
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 @@ char *__wrap_fgets(char *buf, int len, FILE *fp)
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 @@ int __wrap_fprintf(FILE *fp, const char *fmt, ...)
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;