mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
feat(usb_host): Create USB Host mock for CMock host tests
This commit is contained in:
parent
91ad4bcbce
commit
d071bb4c56
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@ -27,7 +27,7 @@ const usb_standard_desc_t *usb_parse_next_descriptor(const usb_standard_desc_t *
|
|||||||
return NULL; // Next descriptor is out of bounds
|
return NULL; // Next descriptor is out of bounds
|
||||||
}
|
}
|
||||||
// Return the next descriptor, update offset
|
// Return the next descriptor, update offset
|
||||||
const usb_standard_desc_t *ret_desc = (const usb_standard_desc_t *)(((uint32_t)cur_desc) + cur_desc->bLength);
|
const usb_standard_desc_t *ret_desc = (const usb_standard_desc_t *)(((uintptr_t)cur_desc) + cur_desc->bLength);
|
||||||
*offset += cur_desc->bLength;
|
*offset += cur_desc->bLength;
|
||||||
return ret_desc;
|
return ret_desc;
|
||||||
}
|
}
|
||||||
|
18
tools/mocks/usb/CMakeLists.txt
Normal file
18
tools/mocks/usb/CMakeLists.txt
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# NOTE: This kind of mocking currently works on Linux targets only.
|
||||||
|
# On Espressif chips, too many dependencies are missing at the moment.
|
||||||
|
message(STATUS "building USB HOST MOCKS")
|
||||||
|
|
||||||
|
idf_component_get_property(original_usb_dir usb COMPONENT_OVERRIDEN_DIR)
|
||||||
|
|
||||||
|
idf_component_mock(INCLUDE_DIRS "${original_usb_dir}/include"
|
||||||
|
"${original_usb_dir}/include/esp_private"
|
||||||
|
"${original_usb_dir}/include/usb"
|
||||||
|
"${original_usb_dir}/private_include"
|
||||||
|
MOCK_HEADER_FILES ${original_usb_dir}/include/usb/usb_host.h
|
||||||
|
${original_usb_dir}/include/esp_private/usb_phy.h
|
||||||
|
REQUIRES freertos)
|
||||||
|
|
||||||
|
|
||||||
|
# We do not mock usb_helpers. We use the original implementation.
|
||||||
|
# This way, we can test Class drivers descriptor parsing
|
||||||
|
target_sources(${COMPONENT_LIB} PRIVATE "${original_usb_dir}/usb_helpers.c")
|
7
tools/mocks/usb/mock/mock_config.yaml
Normal file
7
tools/mocks/usb/mock/mock_config.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
:cmock:
|
||||||
|
:plugins:
|
||||||
|
- expect
|
||||||
|
- expect_any_args
|
||||||
|
- return_thru_ptr
|
||||||
|
- ignore
|
||||||
|
- ignore_arg
|
Loading…
Reference in New Issue
Block a user