Merge branch 'feat/usb_host_create_usb_cmock' into 'master'

feat(usb_host): Create USB Host mock for CMock host tests

Closes IDF-11234

See merge request espressif/esp-idf!33619
This commit is contained in:
Peter Marcisovsky 2024-09-19 19:26:03 +08:00
commit 67c5d37e75
3 changed files with 27 additions and 2 deletions

View File

@ -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
*/
@ -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 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;
return ret_desc;
}

View 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")

View File

@ -0,0 +1,7 @@
:cmock:
:plugins:
- expect
- expect_any_args
- return_thru_ptr
- ignore
- ignore_arg