Nico Huber submitted this change.

View Change

Approvals: build bot (Jenkins): Verified Edward O'Callaghan: Looks good to me, approved
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>
---
M tests/meson.build
M tests/tests.c
2 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/tests/meson.build b/tests/meson.build
index ebfbaef..415ce13 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -46,8 +46,12 @@
'-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 e3ad241..f2547ff 100644
--- a/tests/tests.c
+++ b/tests/tests.c
@@ -154,6 +154,18 @@
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 @@
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;

To view, visit change 58103. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: I4c5c243acde09dc5bb6b2a14042fcd23a49707db
Gerrit-Change-Number: 58103
Gerrit-PatchSet: 7
Gerrit-Owner: Anastasia Klimchuk <aklm@chromium.org>
Gerrit-Reviewer: Angel Pons <th3fanbus@gmail.com>
Gerrit-Reviewer: Edward O'Callaghan <quasisec@chromium.org>
Gerrit-Reviewer: Nico Huber <nico.h@gmx.de>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter@mailbox.org>
Gerrit-MessageType: merged