Merge pull request #14993 from hazzlim/unit_test_support

Add boilerplate unit test code to currently untested modules
pull/14994/head
Martin Kojtal 2021-08-17 10:20:51 +01:00 committed by GitHub
commit acbf352d13
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 114 additions and 1 deletions

View File

@ -35,4 +35,3 @@
^UNITTESTS
^storage/blockdevice/tests/UNITTESTS
^storage/kvstore/tests/UNITTESTS
^drivers/tests/UNITTESTS

View File

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

View File

@ -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;
}

View File

@ -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)

View File

@ -17,6 +17,7 @@ target_compile_definitions(mbed-stubs-hal
DEVICE_PWMOUT
DEVICE_WATCHDOG
MBED_WDOG_ASSERT=1
DEVICE_ANALOGIN
)
target_sources(mbed-stubs-hal
@ -24,6 +25,7 @@ target_sources(mbed-stubs-hal
pwmout_api_stub.c
us_ticker_stub.cpp
watchdog_api_stub.c
analogin_api_stub.c
)
target_link_libraries(mbed-stubs-hal

View File

@ -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 <stddef.h>
#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