mirror of
				https://review.coreboot.org/flashrom.git
				synced 2025-11-04 07:00:39 +01:00 
			
		
		
		
	tests: Add wrap for libusb_init and use it in dediprog test
Missing wrap for libusb_init has been discovered while working on the test for raiden_debug_spi. Both dediprog (existing test) and raiden_debug_spi (new test, see later in this chain) are using libusb_init, so it definitely needs to be wrapped and added to io_mock. Why tests worked before, without the wrap: my understanding is that real libusb_init was called for dediprog test? Given that tests definitely should not call any real libusb functions, wrap is needed. BUG=b:181803212 TEST=builds and ninja test Change-Id: I51c9cb96db1afb3298f4d098df96509d3cb3c046 Signed-off-by: Anastasia Klimchuk <aklm@chromium.org> Reviewed-on: https://review.coreboot.org/c/flashrom/+/57917 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
This commit is contained in:
		
				
					committed by
					
						
						Nico Huber
					
				
			
			
				
	
			
			
			
						parent
						
							a7a59cf0bb
						
					
				
				
					commit
					92989f2496
				
			@@ -54,6 +54,13 @@ void nicrealtek_init_and_shutdown_test_success(void **state)
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
int dediprog_libusb_init(void *state, libusb_context **ctx)
 | 
			
		||||
{
 | 
			
		||||
	*ctx = not_null();
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int dediprog_libusb_control_transfer(void *state,
 | 
			
		||||
					libusb_device_handle *devh,
 | 
			
		||||
					uint8_t bmRequestType,
 | 
			
		||||
@@ -75,6 +82,7 @@ void dediprog_init_and_shutdown_test_success(void **state)
 | 
			
		||||
{
 | 
			
		||||
#if CONFIG_DEDIPROG == 1
 | 
			
		||||
	const struct io_mock dediprog_io = {
 | 
			
		||||
		.libusb_init = dediprog_libusb_init,
 | 
			
		||||
		.libusb_control_transfer = dediprog_libusb_control_transfer,
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -70,6 +70,7 @@ struct io_mock {
 | 
			
		||||
	unsigned int (*inl)(void *state, unsigned short port);
 | 
			
		||||
 | 
			
		||||
	/* USB I/O */
 | 
			
		||||
	int (*libusb_init)(void *state, libusb_context **ctx);
 | 
			
		||||
	int (*libusb_control_transfer)(void *state,
 | 
			
		||||
					libusb_device_handle *devh,
 | 
			
		||||
					uint8_t bmRequestType,
 | 
			
		||||
 
 | 
			
		||||
@@ -23,6 +23,14 @@ void *__wrap_usb_dev_get_by_vid_pid_number(
 | 
			
		||||
	return not_null();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int __wrap_libusb_init(libusb_context **ctx)
 | 
			
		||||
{
 | 
			
		||||
	LOG_ME;
 | 
			
		||||
	if (get_io() && get_io()->libusb_init)
 | 
			
		||||
		return get_io()->libusb_init(get_io()->state, ctx);
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int __wrap_libusb_set_configuration(libusb_device_handle *devh, int config)
 | 
			
		||||
{
 | 
			
		||||
	LOG_ME;
 | 
			
		||||
 
 | 
			
		||||
@@ -64,6 +64,7 @@ mocks = [
 | 
			
		||||
  '-Wl,--wrap=test_outl',
 | 
			
		||||
  '-Wl,--wrap=test_inl',
 | 
			
		||||
  '-Wl,--wrap=usb_dev_get_by_vid_pid_number',
 | 
			
		||||
  '-Wl,--wrap=libusb_init',
 | 
			
		||||
  '-Wl,--wrap=libusb_set_configuration',
 | 
			
		||||
  '-Wl,--wrap=libusb_claim_interface',
 | 
			
		||||
  '-Wl,--wrap=libusb_control_transfer',
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user