mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-02 06:23:18 +02:00
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>
This commit is contained in:

committed by
Edward O'Callaghan

parent
9420043986
commit
02bc0b2c53
@ -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);
|
||||
|
Reference in New Issue
Block a user