aboutsummaryrefslogtreecommitdiffstats
path: root/tests/io_mock.h
diff options
context:
space:
mode:
authorAnastasia Klimchuk <aklm@chromium.org>2021-06-30 09:26:59 +1000
committerEdward O'Callaghan <quasisec@chromium.org>2021-07-19 03:23:04 +0000
commit02bc0b2c53d1c20d676ac11bbfa84f42d2fb070c (patch)
tree0848b8d031d5973a367b467b0cb0977afb47546b /tests/io_mock.h
parent942004398632e8e71e2b29ee476233be569615ba (diff)
downloadflashrom-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.h18
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);