diff --git a/.codecheckignore b/.codecheckignore index 62e12b5..3b8d06a 100644 --- a/.codecheckignore +++ b/.codecheckignore @@ -35,4 +35,3 @@ ^UNITTESTS ^storage/blockdevice/tests/UNITTESTS ^storage/kvstore/tests/UNITTESTS -^drivers/tests/UNITTESTS diff --git a/drivers/tests/UNITTESTS/AnalogIn/CMakeLists.txt b/drivers/tests/UNITTESTS/AnalogIn/CMakeLists.txt new file mode 100644 index 0000000..c0ac369 --- /dev/null +++ b/drivers/tests/UNITTESTS/AnalogIn/CMakeLists.txt @@ -0,0 +1,31 @@ +# Copyright (c) 2021 ARM Limited. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +include(GoogleTest) + +set(TEST_NAME analogin-unittest) + +add_executable(${TEST_NAME}) + +target_compile_definitions(${TEST_NAME} + PRIVATE + DEVICE_ANALOGIN + MBED_CONF_TARGET_DEFAULT_ADC_VREF=3.3f +) + +target_sources(${TEST_NAME} + PRIVATE + ${mbed-os_SOURCE_DIR}/drivers/source/AnalogIn.cpp + test_analogin.cpp +) + +target_link_libraries(${TEST_NAME} + PRIVATE + mbed-headers-platform + mbed-headers-hal + mbed-headers-drivers + mbed-stubs-hal + mbed-stubs-platform +) + +gtest_discover_tests(${TEST_NAME} PROPERTIES LABELS "drivers") diff --git a/drivers/tests/UNITTESTS/AnalogIn/test_analogin.cpp b/drivers/tests/UNITTESTS/AnalogIn/test_analogin.cpp new file mode 100644 index 0000000..d089b5a --- /dev/null +++ b/drivers/tests/UNITTESTS/AnalogIn/test_analogin.cpp @@ -0,0 +1,31 @@ +/* Copyright (c) 2021 ARM Limited + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* This empty test file is present in order to generate coverage data for the + * corresponding source file. This file allows an executable CMake target to be + * created, which builds the corresponding source file and produces a .gcno + * file to be used by a coverage tool. + * + * Replace this main function with Google Test tests, as described in the + * Mbed OS documentation: + * + * https://os.mbed.com/docs/mbed-os/latest/debug-test/unit-testing.html + * + */ +int main() +{ + return 0; +} diff --git a/drivers/tests/UNITTESTS/CMakeLists.txt b/drivers/tests/UNITTESTS/CMakeLists.txt index f417001..2e4ce43 100644 --- a/drivers/tests/UNITTESTS/CMakeLists.txt +++ b/drivers/tests/UNITTESTS/CMakeLists.txt @@ -1,5 +1,6 @@ # Copyright (c) 2021 ARM Limited. All rights reserved. # SPDX-License-Identifier: Apache-2.0 add_subdirectory(doubles) +add_subdirectory(AnalogIn) add_subdirectory(PwmOut) add_subdirectory(Watchdog) diff --git a/hal/tests/UNITTESTS/doubles/CMakeLists.txt b/hal/tests/UNITTESTS/doubles/CMakeLists.txt index 896617b..dd0f3fa 100644 --- a/hal/tests/UNITTESTS/doubles/CMakeLists.txt +++ b/hal/tests/UNITTESTS/doubles/CMakeLists.txt @@ -17,6 +17,7 @@ DEVICE_PWMOUT DEVICE_WATCHDOG MBED_WDOG_ASSERT=1 + DEVICE_ANALOGIN ) target_sources(mbed-stubs-hal @@ -24,6 +25,7 @@ pwmout_api_stub.c us_ticker_stub.cpp watchdog_api_stub.c + analogin_api_stub.c ) target_link_libraries(mbed-stubs-hal diff --git a/hal/tests/UNITTESTS/doubles/analogin_api_stub.c b/hal/tests/UNITTESTS/doubles/analogin_api_stub.c new file mode 100644 index 0000000..1ae5ba1 --- /dev/null +++ b/hal/tests/UNITTESTS/doubles/analogin_api_stub.c @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2021 Arm Limited and affiliates. + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "hal/analogin_api.h" +#include + +#if DEVICE_ANALOGIN + +void analogin_init_direct(analogin_t *obj, const PinMap *pinmap) +{ +} + +void analogin_init(analogin_t *obj, PinName pin) +{ +} + +void analogin_free(analogin_t *obj) +{ +} + +float analogin_read(analogin_t *obj) +{ + return 0; +} + +uint16_t analogin_read_u16(analogin_t *obj) +{ + return 0; +} + +const PinMap *analogin_pinmap(void) +{ + return NULL; +} + +#endif // DEVICE_ANALOGIN