diff options
author | Anastasia Klimchuk <aklm@chromium.org> | 2021-06-30 09:26:59 +1000 |
---|---|---|
committer | Edward O'Callaghan <quasisec@chromium.org> | 2021-07-19 03:23:04 +0000 |
commit | 02bc0b2c53d1c20d676ac11bbfa84f42d2fb070c (patch) | |
tree | 0848b8d031d5973a367b467b0cb0977afb47546b /tests/io_mock.h | |
parent | 942004398632e8e71e2b29ee476233be569615ba (diff) | |
download | flashrom-02bc0b2c53d1c20d676ac11bbfa84f42d2fb070c.tar.gz flashrom-02bc0b2c53d1c20d676ac11bbfa84f42d2fb070c.tar.bz2 flashrom-02bc0b2c53d1c20d676ac11bbfa84f42d2fb070c.zip |
dediprog: Init-shutdown test for dediprog
This patch adds mocks for libusb functions. To avoid dependency on
libusb.h, libusb symbols for context and device handle are redefined.
Real libusb functions are never called in tests anyway, cmocka wraps
work with this without complaints.
BUG=b:181803212
TEST=builds and ninja test
Change-Id: I38508dfb6d7c24d42522f22fcae0c5e410c5f7ea
Signed-off-by: Anastasia Klimchuk <aklm@chromium.org>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/55934
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Diffstat (limited to 'tests/io_mock.h')
-rw-r--r-- | tests/io_mock.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/io_mock.h b/tests/io_mock.h index 69045a21..72d89c50 100644 --- a/tests/io_mock.h +++ b/tests/io_mock.h @@ -31,9 +31,16 @@ #ifndef _IO_MOCK_H_ #define _IO_MOCK_H_ +/* Define libusb symbols to avoid dependency on libusb.h */ +struct libusb_device_handle; +typedef struct libusb_device_handle libusb_device_handle; +struct libusb_context; +typedef struct libusb_context libusb_context; + struct io_mock { void *state; + /* Port I/O */ void (*outb)(void *state, unsigned char value, unsigned short port); unsigned char (*inb)(void *state, unsigned short port); @@ -42,6 +49,17 @@ struct io_mock { void (*outl)(void *state, unsigned int value, unsigned short port); unsigned int (*inl)(void *state, unsigned short port); + + /* USB I/O */ + int (*libusb_control_transfer)(void *state, + libusb_device_handle *devh, + uint8_t bmRequestType, + uint8_t bRequest, + uint16_t wValue, + uint16_t wIndex, + unsigned char *data, + uint16_t wLength, + unsigned int timeout); }; void io_mock_register(const struct io_mock *io); |