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:
parent
bd2d070f9f
commit
9454336970
@ -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.
|
||||
|
@ -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;
|
||||
|
@ -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, ...)
|
||||
|
Loading…
x
Reference in New Issue
Block a user