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

tests: Add prefix to io_mock functions not to clash with macros

Flashrom I/O mock functions need to be renamed so that they do not
have name clash with standard I/O, because the latter are allowed
to be macros. Adding a prefix to flashrom mock functions avoids
them being accidentally expanded. Standard I/O functions are
expanded and flashrom mocks stay as they are.

BUG=b:237606255
TEST=ninja test
1) gcc 12.2.0 on Debian
2) clang 15.0 on Chromium OS

Ticket: https://ticket.coreboot.org/issues/411
Change-Id: I7998a8fb1b9e65621e12adbfab5460a245d5606b
Signed-off-by: Anastasia Klimchuk <aklm@chromium.org>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/68433
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
This commit is contained in:
Anastasia Klimchuk 2022-10-17 11:59:09 +11:00
parent 0a896424ab
commit af2ba601f4
8 changed files with 43 additions and 43 deletions

View File

@ -434,7 +434,7 @@ void verify_chip_test_success(void **state)
.paths = { NULL }, .paths = { NULL },
}; };
const struct io_mock verify_chip_io = { const struct io_mock verify_chip_io = {
.fread = verify_chip_fread, .iom_fread = verify_chip_fread,
.fallback_open_state = &data, .fallback_open_state = &data,
}; };
@ -471,7 +471,7 @@ void verify_chip_with_dummyflasher_test_success(void **state)
.paths = { NULL }, .paths = { NULL },
}; };
const struct io_mock verify_chip_io = { const struct io_mock verify_chip_io = {
.fread = verify_chip_fread, .iom_fread = verify_chip_fread,
.fallback_open_state = &data, .fallback_open_state = &data,
}; };

View File

@ -22,7 +22,7 @@ static const struct io_mock *current_io = NULL;
void io_mock_register(const struct io_mock *io) void io_mock_register(const struct io_mock *io)
{ {
/* A test can either register its own mock open function or fallback_open_state. */ /* A test can either register its own mock open function or fallback_open_state. */
assert_true(io == NULL || io->open == NULL || io->fallback_open_state == NULL); assert_true(io == NULL || io->iom_open == NULL || io->fallback_open_state == NULL);
current_io = io; current_io = io;
} }

View File

@ -101,17 +101,17 @@ struct io_mock {
void (*libusb_free_config_descriptor)(void *state, struct libusb_config_descriptor *); void (*libusb_free_config_descriptor)(void *state, struct libusb_config_descriptor *);
/* POSIX File I/O */ /* POSIX File I/O */
int (*open)(void *state, const char *pathname, int flags); int (*iom_open)(void *state, const char *pathname, int flags);
int (*ioctl)(void *state, int fd, unsigned long request, va_list args); int (*iom_ioctl)(void *state, int fd, unsigned long request, va_list args);
int (*read)(void *state, int fd, void *buf, size_t sz); int (*iom_read)(void *state, int fd, void *buf, size_t sz);
int (*write)(void *state, int fd, const void *buf, size_t sz); int (*iom_write)(void *state, int fd, const void *buf, size_t sz);
/* Standard I/O */ /* Standard I/O */
FILE* (*fopen)(void *state, const char *pathname, const char *mode); FILE* (*iom_fopen)(void *state, const char *pathname, const char *mode);
char* (*fgets)(void *state, char *buf, int len, FILE *fp); char* (*iom_fgets)(void *state, char *buf, int len, FILE *fp);
size_t (*fread)(void *state, void *buf, size_t size, size_t len, FILE *fp); size_t (*iom_fread)(void *state, void *buf, size_t size, size_t len, FILE *fp);
int (*fprintf)(void *state, FILE *fp, const char *fmt, va_list args); int (*iom_fprintf)(void *state, FILE *fp, const char *fmt, va_list args);
int (*fclose)(void *state, FILE *fp); int (*iom_fclose)(void *state, FILE *fp);
/* /*
* An alternative to custom open mock. A test can either register its * An alternative to custom open mock. A test can either register its

View File

@ -81,9 +81,9 @@ void linux_mtd_probe_lifecycle_test_success(void **state)
}; };
const struct io_mock linux_mtd_io = { const struct io_mock linux_mtd_io = {
.state = &linux_mtd_io_state, .state = &linux_mtd_io_state,
.fopen = linux_mtd_fopen, .iom_fopen = linux_mtd_fopen,
.fread = linux_mtd_fread, .iom_fread = linux_mtd_fread,
.fclose = linux_mtd_fclose, .iom_fclose = linux_mtd_fclose,
.fallback_open_state = &linux_mtd_fallback_open_state, .fallback_open_state = &linux_mtd_fallback_open_state,
}; };

View File

@ -60,8 +60,8 @@ void linux_spi_probe_lifecycle_test_success(void **state)
.flags = { O_RDWR }, .flags = { O_RDWR },
}; };
const struct io_mock linux_spi_io = { const struct io_mock linux_spi_io = {
.fgets = linux_spi_fgets, .iom_fgets = linux_spi_fgets,
.ioctl = linux_spi_ioctl, .iom_ioctl = linux_spi_ioctl,
.fallback_open_state = &linux_spi_fallback_open_state, .fallback_open_state = &linux_spi_fallback_open_state,
}; };

View File

@ -108,9 +108,9 @@ void parade_lspcon_basic_lifecycle_test_success(void **state)
}; };
const struct io_mock parade_lspcon_io = { const struct io_mock parade_lspcon_io = {
.state = &parade_lspcon_io_state, .state = &parade_lspcon_io_state,
.ioctl = parade_lspcon_ioctl, .iom_ioctl = parade_lspcon_ioctl,
.read = parade_lspcon_read, .iom_read = parade_lspcon_read,
.write = parade_lspcon_write, .iom_write = parade_lspcon_write,
.fallback_open_state = &parade_lspcon_fallback_open_state, .fallback_open_state = &parade_lspcon_fallback_open_state,
}; };

View File

@ -50,9 +50,9 @@ void realtek_mst_basic_lifecycle_test_success(void **state)
.flags = { O_RDWR }, .flags = { O_RDWR },
}; };
const struct io_mock realtek_mst_io = { const struct io_mock realtek_mst_io = {
.ioctl = realtek_mst_ioctl, .iom_ioctl = realtek_mst_ioctl,
.read = realtek_mst_read, .iom_read = realtek_mst_read,
.write = realtek_mst_write, .iom_write = realtek_mst_write,
.fallback_open_state = &realtek_mst_fallback_open_state, .fallback_open_state = &realtek_mst_fallback_open_state,
}; };

View File

@ -77,8 +77,8 @@ uint8_t __wrap_sio_read(uint16_t port, uint8_t reg)
static int mock_open(const char *pathname, int flags) static int mock_open(const char *pathname, int flags)
{ {
if (get_io() && get_io()->open) if (get_io() && get_io()->iom_open)
return get_io()->open(get_io()->state, pathname, flags); return get_io()->iom_open(get_io()->state, pathname, flags);
if (get_io() && get_io()->fallback_open_state) { if (get_io() && get_io()->fallback_open_state) {
struct io_mock_fallback_open_state *io_state; struct io_mock_fallback_open_state *io_state;
@ -117,11 +117,11 @@ int __wrap___open64_2(const char *pathname, int flags)
int __wrap_ioctl(int fd, unsigned long int request, ...) int __wrap_ioctl(int fd, unsigned long int request, ...)
{ {
LOG_ME; LOG_ME;
if (get_io() && get_io()->ioctl) { if (get_io() && get_io()->iom_ioctl) {
va_list args; va_list args;
int out; int out;
va_start(args, request); va_start(args, request);
out = get_io()->ioctl(get_io()->state, fd, request, args); out = get_io()->iom_ioctl(get_io()->state, fd, request, args);
va_end(args); va_end(args);
return out; return out;
} }
@ -131,32 +131,32 @@ int __wrap_ioctl(int fd, unsigned long int request, ...)
int __wrap_write(int fd, const void *buf, size_t sz) int __wrap_write(int fd, const void *buf, size_t sz)
{ {
LOG_ME; LOG_ME;
if (get_io() && get_io()->write) if (get_io() && get_io()->iom_write)
return get_io()->write(get_io()->state, fd, buf, sz); return get_io()->iom_write(get_io()->state, fd, buf, sz);
return sz; return sz;
} }
int __wrap_read(int fd, void *buf, size_t sz) int __wrap_read(int fd, void *buf, size_t sz)
{ {
LOG_ME; LOG_ME;
if (get_io() && get_io()->read) if (get_io() && get_io()->iom_read)
return get_io()->read(get_io()->state, fd, buf, sz); return get_io()->iom_read(get_io()->state, fd, buf, sz);
return sz; return sz;
} }
FILE *__wrap_fopen(const char *pathname, const char *mode) FILE *__wrap_fopen(const char *pathname, const char *mode)
{ {
LOG_ME; LOG_ME;
if (get_io() && get_io()->fopen) if (get_io() && get_io()->iom_fopen)
return get_io()->fopen(get_io()->state, pathname, mode); return get_io()->iom_fopen(get_io()->state, pathname, mode);
return not_null(); return not_null();
} }
FILE *__wrap_fopen64(const char *pathname, const char *mode) FILE *__wrap_fopen64(const char *pathname, const char *mode)
{ {
LOG_ME; LOG_ME;
if (get_io() && get_io()->fopen) if (get_io() && get_io()->iom_fopen)
return get_io()->fopen(get_io()->state, pathname, mode); return get_io()->iom_fopen(get_io()->state, pathname, mode);
return not_null(); return not_null();
} }
@ -217,16 +217,16 @@ int __wrap___fxstat64(int fd, void *buf)
char *__wrap_fgets(char *buf, int len, FILE *fp) char *__wrap_fgets(char *buf, int len, FILE *fp)
{ {
LOG_ME; LOG_ME;
if (get_io() && get_io()->fgets) if (get_io() && get_io()->iom_fgets)
return get_io()->fgets(get_io()->state, buf, len, fp); return get_io()->iom_fgets(get_io()->state, buf, len, fp);
return NULL; return NULL;
} }
size_t __wrap_fread(void *ptr, size_t size, size_t nmemb, FILE *fp) size_t __wrap_fread(void *ptr, size_t size, size_t nmemb, FILE *fp)
{ {
LOG_ME; LOG_ME;
if (get_io() && get_io()->fread) if (get_io() && get_io()->iom_fread)
return get_io()->fread(get_io()->state, ptr, size, nmemb, fp); return get_io()->iom_fread(get_io()->state, ptr, size, nmemb, fp);
return nmemb; return nmemb;
} }
@ -263,11 +263,11 @@ int __wrap_setvbuf(FILE *fp, char *buf, int type, size_t size)
int __wrap_fprintf(FILE *fp, const char *fmt, ...) int __wrap_fprintf(FILE *fp, const char *fmt, ...)
{ {
LOG_ME; LOG_ME;
if (get_io() && get_io()->fprintf) { if (get_io() && get_io()->iom_fprintf) {
va_list args; va_list args;
int out; int out;
va_start(args, fmt); va_start(args, fmt);
out = get_io()->fprintf(get_io()->state, fp, fmt, args); out = get_io()->iom_fprintf(get_io()->state, fp, fmt, args);
va_end(args); va_end(args);
return out; return out;
} }
@ -277,8 +277,8 @@ int __wrap_fprintf(FILE *fp, const char *fmt, ...)
int __wrap_fclose(FILE *fp) int __wrap_fclose(FILE *fp)
{ {
LOG_ME; LOG_ME;
if (get_io() && get_io()->fclose) if (get_io() && get_io()->iom_fclose)
return get_io()->fclose(get_io()->state, fp); return get_io()->iom_fclose(get_io()->state, fp);
return 0; return 0;
} }