summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnastasia Klimchuk <aklm@chromium.org>2021-10-05 15:59:06 +1100
committerNico Huber <nico.h@gmx.de>2021-11-17 15:02:57 +0000
commit421d9133bb9d107e9a2596352d631bde14168393 (patch)
tree27f8a11bac9192294194003b2f9f3ae252f630ff
parent7692a2ee78020d8d3a52bf45b9d57ed5d98499e0 (diff)
downloadflashrom-421d9133bb9d107e9a2596352d631bde14168393.tar.gz
flashrom-421d9133bb9d107e9a2596352d631bde14168393.tar.bz2
flashrom-421d9133bb9d107e9a2596352d631bde14168393.zip
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 <aklm@chromium.org> Reviewed-on: https://review.coreboot.org/c/flashrom/+/58103 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
-rw-r--r--tests/meson.build4
-rw-r--r--tests/tests.c24
2 files changed, 28 insertions, 0 deletions
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;