From 571a9ac832c0e82e240849862be7a395407276aa Mon Sep 17 00:00:00 2001 From: Alexander Goncharov Date: Sun, 20 Nov 2022 11:18:00 +0400 Subject: tests: add more wrappers for libusb funcs The patch adds wrappers for libusb functions that are used in the ch341a programmer and have not yet been introduced. Change-Id: Ic11efb9fd746cb91911dbe87e1c0028759f5bb0b Signed-off-by: Alexander Goncharov Reviewed-on: https://review.coreboot.org/c/flashrom/+/69872 Tested-by: build bot (Jenkins) Reviewed-by: Anastasia Klimchuk --- tests/libusb_wraps.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ tests/libusb_wraps.h | 9 +++++++++ tests/meson.build | 8 ++++++++ tests/usb_unittests.h | 2 ++ 4 files changed, 66 insertions(+) (limited to 'tests') diff --git a/tests/libusb_wraps.c b/tests/libusb_wraps.c index 85bb963bc..a05cbe9be 100644 --- a/tests/libusb_wraps.c +++ b/tests/libusb_wraps.c @@ -34,6 +34,17 @@ int __wrap_libusb_init(libusb_context **ctx) return 0; } +void __wrap_libusb_set_debug(libusb_context *ctx, int level) +{ + LOG_ME; +} + +int __wrap_libusb_set_option(libusb_context *ctx, int option, ...) +{ + LOG_ME; + return 0; +} + int __wrap_libusb_open(libusb_device *dev, libusb_device_handle **devh) { LOG_ME; @@ -58,6 +69,19 @@ int __wrap_libusb_attach_kernel_driver(libusb_device_handle *dev_handle, int int return 0; } +struct libusb_device_handle *__wrap_libusb_open_device_with_vid_pid( + libusb_context *ctx, uint16_t vendor_id, uint16_t product_id) +{ + LOG_ME; + return not_null(); +} + +libusb_device *__wrap_libusb_get_device(libusb_device_handle *dev_handle) +{ + LOG_ME; + return not_null(); +} + ssize_t __wrap_libusb_get_device_list(libusb_context *ctx, libusb_device ***list) { LOG_ME; @@ -161,6 +185,29 @@ void __wrap_libusb_unref_device(libusb_device *dev) LOG_ME; } +struct libusb_transfer *__wrap_libusb_alloc_transfer(int iso_packets) +{ + LOG_ME; + return not_null(); +} + +int __wrap_libusb_submit_transfer(struct libusb_transfer *transfer) +{ + LOG_ME; + return 0; +} + +void __wrap_libusb_free_transfer(struct libusb_transfer *transfer) +{ + LOG_ME; +} + +int __wrap_libusb_handle_events_timeout(libusb_context *ctx, struct timeval *tv) +{ + LOG_ME; + return 0; +} + void __wrap_libusb_exit(libusb_context *ctx) { LOG_ME; diff --git a/tests/libusb_wraps.h b/tests/libusb_wraps.h index f7e4dafe0..8c3aa40a1 100644 --- a/tests/libusb_wraps.h +++ b/tests/libusb_wraps.h @@ -21,10 +21,15 @@ void *__wrap_usb_dev_get_by_vid_pid_number( libusb_context *usb_ctx, uint16_t vid, uint16_t pid, unsigned int num); int __wrap_libusb_init(libusb_context **ctx); +void __wrap_libusb_set_debug(libusb_context *ctx, int level); +int __wrap_libusb_set_option(libusb_context *ctx, int option, ...); int __wrap_libusb_open(libusb_device *dev, libusb_device_handle **devh); int __wrap_libusb_set_auto_detach_kernel_driver(libusb_device_handle *devh, int enable); int __wrap_libusb_detach_kernel_driver(libusb_device_handle *dev_handle, int interface_number); int __wrap_libusb_attach_kernel_driver(libusb_device_handle *dev_handle, int interface_number); +struct libusb_device_handle *__wrap_libusb_open_device_with_vid_pid( + libusb_context *ctx, uint16_t vendor_id, uint16_t product_id); +libusb_device *__wrap_libusb_get_device(libusb_device_handle *dev_handle); ssize_t __wrap_libusb_get_device_list(libusb_context *ctx, libusb_device ***list); void __wrap_libusb_free_device_list(libusb_device **list, int unref_devices); uint8_t __wrap_libusb_get_bus_number(libusb_device *dev); @@ -43,6 +48,10 @@ int __wrap_libusb_release_interface(libusb_device_handle *devh, int interface_nu void __wrap_libusb_close(libusb_device_handle *devh); libusb_device *__wrap_libusb_ref_device(libusb_device *dev); void __wrap_libusb_unref_device(libusb_device *dev); +struct libusb_transfer *__wrap_libusb_alloc_transfer(int iso_packets); +int __wrap_libusb_submit_transfer(struct libusb_transfer *transfer); +void __wrap_libusb_free_transfer(struct libusb_transfer *transfer); +int __wrap_libusb_handle_events_timeout(libusb_context *ctx, struct timeval *tv); void __wrap_libusb_exit(libusb_context *ctx); #endif /* LIBUSB_WRAPS_H */ diff --git a/tests/meson.build b/tests/meson.build index 893cca889..e846d91cf 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -79,10 +79,14 @@ mocks = [ '-Wl,--wrap=INL', '-Wl,--wrap=usb_dev_get_by_vid_pid_number', '-Wl,--wrap=libusb_init', + '-Wl,--wrap=libusb_set_debug', + '-Wl,--wrap=libusb_set_option', '-Wl,--wrap=libusb_open', '-Wl,--wrap=libusb_set_auto_detach_kernel_driver', '-Wl,--wrap=libusb_detach_kernel_driver', '-Wl,--wrap=libusb_attach_kernel_driver', + '-Wl,--wrap=libusb_open_device_with_vid_pid', + '-Wl,--wrap=libusb_get_device', '-Wl,--wrap=libusb_get_device_list', '-Wl,--wrap=libusb_free_device_list', '-Wl,--wrap=libusb_get_bus_number', @@ -98,6 +102,10 @@ mocks = [ '-Wl,--wrap=libusb_ref_device', '-Wl,--wrap=libusb_unref_device', '-Wl,--wrap=libusb_close', + '-Wl,--wrap=libusb_alloc_transfer', + '-Wl,--wrap=libusb_submit_transfer', + '-Wl,--wrap=libusb_free_transfer', + '-Wl,--wrap=libusb_handle_events_timeout', '-Wl,--wrap=libusb_exit', '-Wl,--gc-sections', ] diff --git a/tests/usb_unittests.h b/tests/usb_unittests.h index 29c4b78d3..f4d83f126 100644 --- a/tests/usb_unittests.h +++ b/tests/usb_unittests.h @@ -55,6 +55,8 @@ typedef struct libusb_interface_descriptor libusb_interface_descriptor; struct libusb_endpoint_descriptor; typedef struct libusb_endpoint_descriptor libusb_endpoint_descriptor; +struct libusb_transfer; + #endif #endif /* _USB_UNITTESTS_H_ */ -- cgit v1.2.3