1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-27 15:12:36 +02:00

tests: use MOCK_FD instead of NON_ZERO

With this change the mocks are able to return a non-negative value for
the file descriptor expected from open operations. This avoid issues
with subsequent error checks of the form `if (fd < 0)`

BUG=b:227404721
TEST=./test_build.sh; FEATURES=test emerge-amd64-generic flashrom
BRANCH=none

Signed-off-by: Daniel Campello <campello@chromium.org>
Change-Id: Ib6bac051852aea2465665a6fd669b7f5e3772985
Reviewed-on: https://review.coreboot.org/c/flashrom/+/63193
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Reviewed-by: Nikolai Artemiev <nartemiev@google.com>
Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
This commit is contained in:
Daniel Campello 2022-03-29 20:47:46 -06:00 committed by Anastasia Klimchuk
parent bd2d070f9f
commit 9454336970
3 changed files with 9 additions and 9 deletions

View File

@ -29,6 +29,8 @@
#define NON_ZERO (0xf000baaa)
#define MOCK_FD (0x10ec)
/*
* Having this as function allows to set a breakpoint on the address,
* as it has a named symbol associated with the address number.

View File

@ -370,18 +370,16 @@ void linux_spi_probe_lifecycle_test_success(void **state)
#endif
}
#define REALTEK_MST_MOCK_FD 0x10ec
static int realtek_mst_open(void *state, const char *pathname, int flags)
{
assert_string_equal(pathname, "/dev/i2c-254");
assert_int_equal(flags & O_RDWR, O_RDWR);
return REALTEK_MST_MOCK_FD;
return MOCK_FD;
}
static int realtek_mst_ioctl(void *state, int fd, unsigned long request, va_list args)
{
assert_int_equal(fd, REALTEK_MST_MOCK_FD);
assert_int_equal(fd, MOCK_FD);
assert_int_equal(request, I2C_SLAVE);
/* Only access to I2C address 0x4a is expected */
unsigned long addr = va_arg(args, unsigned long);
@ -392,14 +390,14 @@ static int realtek_mst_ioctl(void *state, int fd, unsigned long request, va_list
static int realtek_mst_read(void *state, int fd, void *buf, size_t sz)
{
assert_int_equal(fd, REALTEK_MST_MOCK_FD);
assert_int_equal(fd, MOCK_FD);
assert_int_equal(sz, 1);
return sz;
}
static int realtek_mst_write(void *state, int fd, const void *buf, size_t sz)
{
assert_int_equal(fd, REALTEK_MST_MOCK_FD);
assert_int_equal(fd, MOCK_FD);
const LargestIntegralType accepted_sizes[] = {1, 2};
assert_in_set(sz, accepted_sizes, ARRAY_SIZE(accepted_sizes));
return sz;

View File

@ -79,7 +79,7 @@ int __wrap_open(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;
return MOCK_FD;
}
int __wrap_open64(const char *pathname, int flags)
@ -87,7 +87,7 @@ int __wrap_open64(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;
return MOCK_FD;
}
int __wrap___open64_2(const char *pathname, int flags)
@ -95,7 +95,7 @@ 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;
return MOCK_FD;
}
int __wrap_ioctl(int fd, unsigned long int request, ...)