From 421d9133bb9d107e9a2596352d631bde14168393 Mon Sep 17 00:00:00 2001 From: Anastasia Klimchuk Date: Tue, 5 Oct 2021 15:59:06 +1100 Subject: tests: Add wraps for __xstat/__fxstat variants of stat/fstat __xstat and __fxstat variants of stat/fstat are invoked under chromium chroot. For all existing tests it is sufficient for stat/fstat to "do nothing, return 0", so new wraps do just that. Test which needs __xstat: linux_mtd lifecycle. Tests which need __fxstat: read_chip_test_success read_chip_with_dummyflasher_test_success write_chip_test_success write_chip_with_dummyflasher_test_success Without this patch tests above fail under chromium chroot. BUG=b:181803212 TEST=running tests on three different environments, 1) stat64/fstat64 (ninja tests in upstream tree) 2) stat64/fstat64 (ninja tests in chromium tree) 2) __xstat64/__fxstat64 (emerge with tests in chromium tree) Change-Id: I4c5c243acde09dc5bb6b2a14042fcd23a49707db Signed-off-by: Anastasia Klimchuk Reviewed-on: https://review.coreboot.org/c/flashrom/+/58103 Tested-by: build bot (Jenkins) Reviewed-by: Edward O'Callaghan --- tests/meson.build | 4 ++++ tests/tests.c | 24 ++++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/tests/meson.build b/tests/meson.build index ebfbaefad..415ce1320 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -46,8 +46,12 @@ mocks = [ '-Wl,--wrap=fflush', '-Wl,--wrap=stat', '-Wl,--wrap=stat64', + '-Wl,--wrap=__xstat', + '-Wl,--wrap=__xstat64', '-Wl,--wrap=fstat', '-Wl,--wrap=fstat64', + '-Wl,--wrap=__fxstat', + '-Wl,--wrap=__fxstat64', '-Wl,--wrap=fileno', '-Wl,--wrap=fsync', '-Wl,--wrap=fread', diff --git a/tests/tests.c b/tests/tests.c index e3ad24162..f2547ffb6 100644 --- a/tests/tests.c +++ b/tests/tests.c @@ -154,6 +154,18 @@ int __wrap_stat64(const char *path, void *buf) return 0; } +int __wrap___xstat(const char *path, void *buf) +{ + LOG_ME; + return 0; +} + +int __wrap___xstat64(const char *path, void *buf) +{ + LOG_ME; + return 0; +} + int __wrap_fstat(int fd, void *buf) { LOG_ME; @@ -166,6 +178,18 @@ int __wrap_fstat64(int fd, void *buf) return 0; } +int __wrap___fxstat(int fd, void *buf) +{ + LOG_ME; + return 0; +} + +int __wrap___fxstat64(int fd, void *buf) +{ + LOG_ME; + return 0; +} + char *__wrap_fgets(char *buf, int len, FILE *fp) { LOG_ME; -- cgit v1.2.3