Commit Graph

33520 Commits (8287c5221b34dba9b517eb53caef191b9e08169f)

Author SHA1 Message Date
Jaeden Amero 8287c5221b
Merge pull request #14773 from rwalton-arm/move_platform_stub
Move mbed-stubs-platform to the platform directory
2021-07-07 16:33:35 +01:00
Jaeden Amero b490c67241
Merge pull request #14882 from LDong-Arm/storage_tests_cleanup
Unit tests: storage: Only use headers, sources and definitions needed by each test
2021-07-07 16:12:10 +01:00
Jaeden Amero dc6dd17bb0
Merge pull request #14884 from LDong-Arm/rm_UNITTEST_macro
Remove the `UNITTEST` macro from production code
2021-07-07 15:20:31 +01:00
Martin Kojtal fea4e928d0
Merge pull request #14835 from ARMmbed/move_stubs_cellular_headers
Move stubs cellular headers
2021-07-07 11:29:37 +02:00
Martin Kojtal 69d1db9730
Merge pull request #14849 from arduino/pr_spif_namespace
SPIFBlockDevice: Add mbed namespace to BD_ERROR_DEVICE_ERROR
2021-07-07 10:13:21 +02:00
Martin Kojtal 44d5416785
Merge pull request #14842 from ARMmbed/move_connectivity_lora_stubs
Move connectivity lora stubs
2021-07-07 09:54:58 +02:00
Lingkai Dong 9b8acca136 Remove `#ifdef UNITTEST` from MbedCRC.h
Production code should not contain any test-specific checks. Rather
than checking `UNITTEST`, MbedCRC.h can simply include in all cases
<mstd_type_traits> whose unit test stub exists.

Also remove the `UNITTEST` macro from CMake definitions of kvstore
unit tests which depend on MbedCRC.h.
2021-07-06 17:29:15 +01:00
Lingkai Dong dd81b536da Unit tests: Update <mstd_type_traits> stub
The stub version of <mstd_type_traits> is mostly identical to the
production file of the same name, except the former lags behind
and doesn't contain the recent "is_constant_evaluated" feature.
It's safe to update the stub file, because "is_constant_evaluated"
only checks generic GCC and Clang versions that also apply to
compilers on PCs.

This enables MbedCRC.h to include <mstd_type_traits> without
distinguishing between Mbed applications and unit tests.
2021-07-06 17:19:19 +01:00
Lingkai Dong eb6d1aa03e Unit tests: Remove `#ifndef UNITTEST` from the mbed_assert.h stub
The stub version of mbed_assert.h is never used outside unit tests,
so the check on `UNITTEST` is redundant.
2021-07-06 16:58:06 +01:00
Lingkai Dong 3a24305916 rtos: Remove UNITTEST macro from rtos
Production code should not contain any test-specific checks. Rather
than checking `UNITTEST`, unit tests can directly set
`MBED_CONF_RTOS_PRESENT=1` to make RTOS available for testing.

Note: The cellular ATHandler test also has `MBED_CONF_RTOS_PRESENT=1`
added because `ATHandler.cpp` contains a check of this variable.
2021-07-06 16:50:49 +01:00
Jaeden Amero 9ec92f1486
Merge pull request #14874 from LDong-Arm/optional_MBED_TEST_LINK_LIBRARIES
CMake: Replace `MBED_TEST_LINK_LIBRARIES` with `MBED_TEST_BAREMETAL`
2021-07-06 16:42:25 +01:00
Lingkai Dong fcb71fb617 Unit tests: Clean up unused sources and definitions from storage 2021-07-06 16:31:03 +01:00
Lingkai Dong 5c6c08cb75 Unit tests: Make storage tests depend explicitly on headers it uses
The CMake target `mbed-headers` brings in all headers, and we are
gradually moving away from it and explicitly use only headers needed
by each unit test.
2021-07-06 16:20:16 +01:00
Robert Walton 55f77ea77f CMake: unit-tests: Remove --coverage option from mbed-stubs-platform
We set the --coverage flag globally in UNITTESTS/CMakeLists.txt. We
shouldn't need to also set it on mbed-stubs-platform, so remove it.
2021-07-06 13:50:46 +01:00
Robert Walton 021baa68e7 CMake: unit-tests: Split platform headers out of mbed-stubs-headers
We have a central collection of "stub headers", which makes reasoning
about dependencies rather difficult, as it forces every stub library to
depend on all available stub headers. The standard approach would be for
each stub library to expose its public headers, and its dependents to
explicitly specify a dependency on the stub library containing the
headers it needs. This is a more modular design than creating a
header-only monolith library. Move the platform stub headers from this
central library into the mbed-stubs-platform library to increase
modularity.

mbed-stubs-connectivity now depends on the mbed-stubs-platform because
it requires some headers which were moved to mbed-stubs-platform.
2021-07-06 13:50:46 +01:00
Robert Walton b73b38a01f CMake: unit-tests: Make platform stub only depend on headers it uses
Previously the platform stub library depended on `mbed-headers`, which
is a collection of all available headers in mbed-os. To make it easier
to separate the library, only depend on the headers we're actually using.
2021-07-06 13:50:46 +01:00
Robert Walton e2704749f1 CMake: unit-tests: Move mbed-headers-platform to platform directory
Move the header-only mbed-headers-platform library the unit test stubs
depend on into the platform component directory. This makes the platform
stubs more self contained and improves composition of the library.
2021-07-06 13:50:46 +01:00
Robert Walton 40435fd9b3 CMake: Move platform stubs to the mbed-os/platform directory
Move the platform stub library into the platform component directory.
This change is so we can avoid duplicating the mbed-os source tree in a
central UNITTESTS folder.
2021-07-06 13:50:42 +01:00
Robert Walton 3abc7886a9 CMake: unit-tests: CircularBuffer: Remove trailing whitespace 2021-07-06 13:48:59 +01:00
Lingkai Dong f4d551e80e CMake: Replace MBED_TEST_LINK_LIBRARIES with MBED_TEST_BAREMETAL
Currently we have `MBED_TEST_LINK_LIBRARIES` for specifying
* Whether to link `mbed-os` or `mbed-baremetal`
* Any additional libraries we want tests to link

It's not fit for purpose anymore, because
* No flavor of Mbed OS is selected by default, but we should've
really defaulted to `mbed-os`, the full RTOS version. Build doesn't
work unless `-DMBED_TEST_LINK_LIBRARIES=<...>` is passed, which
is redundant.
* A test should never need additional libraries passed via command
line - its `CMakeLists.txt` should specify what it links.

This commit replaces `MBED_TEST_LINK_LIBRARIES` with a new option
`MBED_TEST_BAREMETAL` to build a test with either RTOS (default)
or without it (by passing `-DMBED_TEST_BAREMETAL=ON`).
2021-07-06 13:43:06 +01:00
Martin Kojtal 8d3fc33965
Merge pull request #14862 from LDong-Arm/storage_stubs
Unit tests: Move storage stubs into the storage directory
2021-07-06 14:37:38 +02:00
Lingkai Dong 2a1d50f0fa app.cmake: Replace tabs with spaces
The coding standards of Mbed OS require indentation of four spaces.
2021-07-06 13:35:43 +01:00
Jaeden Amero 75808eaaf2
Merge pull request #14783 from rwalton-arm/dont_capture_stdout
tfm-post-build: Don't capture subprocess stdout
2021-07-06 12:57:45 +01:00
Martin Kojtal 80ce06fb67
Merge pull request #14876 from rwalton-arm/mbed_path_greentea
CMake: greentea: Remove dependency on global MBED_PATH
2021-07-06 13:30:25 +02:00
Robert Walton dfb4e087e3 CMake: greentea: Remove dependency on global MBED_PATH
The mbed_greentea_add_test macro required a greentea test to set an
MBED_PATH variable to the path of the mbed-os root directory, which it
attempts to add as a 'subdirectory' of the test project. We can instead
use CMake's built in CMAKE_CURRENT_LIST_DIR variable to deduce the path
to mbed-os relative to the current list file directory, removing the
need for greentea tests to set MBED_PATH.
2021-07-06 10:53:32 +01:00
Martin Kojtal 428b74623a
Merge pull request #14875 from saheerb/cloud-example-enable
enable google and azure example application tests in ci
2021-07-06 11:48:20 +02:00
Martin Kojtal 775c4486d8
Merge pull request #14864 from AnishKumarHCL/analogout_free_code_alignment
analogout: STM32: modified analogout_free api
2021-07-06 11:45:53 +02:00
Robert Walton d5a4ad1fe9 CMake: greentea: Remove call to deprecated function
mbed_greentea::mbed_greentea_add_test was calling the deprecated
`mbed_configure_app_target` function, which is currently a no-op.
2021-07-05 22:53:35 +01:00
saheerb bf84452c60 enable google and azure example application tests in ci 2021-07-05 20:30:35 +01:00
anish-k eb06d5eb59 analogout: STM32: modified analogout_free api
removed hardcoded pins, implemented multi channel check
implemented DAC_2 initialization for H7 board
Added  #if defined DAC_CHANNEL_2
2021-07-02 21:34:24 +05:30
Lingkai Dong f8e3f71ea5 Unit tests: Remove mbed-headers-storage 2021-07-02 16:29:41 +01:00
Lingkai Dong e1331d5873 Unit tests: Create mbed-headers-kvstore
Create a CMake target mbed-headers-kvstore to separate KVStore headers
from the generic mbed-headers-storage. Update tests to use it.
2021-07-02 16:27:00 +01:00
Lingkai Dong 7c74d31c57 Unit tests: Create mbed-headers-filesystem
Create a CMake target mbed-headers-filesystem to separate FileSystem
headers from the generic mbed-headers-storage. Update tests to use it.
2021-07-02 16:25:43 +01:00
Lingkai Dong 90446a0345 Unit tests: Create mbed-headers-blockdevice
Create a CMake target mbed-headers-blockdevice to separate BlockDevice
headers from the generic mbed-headers-storage. Update tests to use it.
2021-07-02 16:25:00 +01:00
Rajkumar Kanagaraj a60869da85 CMake: Move cellular stub headers to the cellular/tests/UNITTESTS/double dir
Previously all the stubs headers under mbed-stubs-headers,
so this PR move all cellular stubs headers under
cellular/tests/UNITTESTS/double directory and update CMake
to include headers into mbed-stubs-cellular library to make
cellular stubs to be self-contained
2021-07-02 06:30:32 -07:00
Lingkai Dong 352ad1a55f Unit tests: Limit storage stubs to link what it uses 2021-07-02 13:44:28 +01:00
Lingkai Dong 7e03912587 Unit tests: Do not include mbed.h in storage stubs
The header `mbed.h` pulls in headers from a number of Mbed OS
components that are not necessarily used. It was intended for user
applications only, and libraries and unit tests should explicitly
include library headers it uses to limit dependencies.

This change avoids having to link unnecessary libraries in storage
unit tests' CMake definitions.
2021-07-02 13:44:28 +01:00
Lingkai Dong b1645b2afa Move storage stubs into subdirectories of Mbed OS storage
Move storage stubs from UNITTESTS/stubs into components inside the
top-level storage directory. Specifically,
* storage/blockdevice/tests/UNITTESTS/doubles/ for BlockDevice stubs.
* storage/kvstore/filesystemstore/tests/UNITTESTS/ for a stub used by
the FileSystemStore test. The stub has been renamed from
kv_config_stub.cpp to filesystemstore_kv_config_stub.cpp, to make it
evident why it doesn't go into storage/kvstore/kv_config/.
2021-07-02 13:44:28 +01:00
Lingkai Dong 436291fd89 CMake: storage: Remove trailing whitespaces 2021-07-02 13:44:28 +01:00
Lingkai Dong 71b179d12d Unit tests: Remove unused EmulatedSD 2021-07-02 13:44:28 +01:00
Rajkumar Kanagaraj 46d4247b58 CMake: Move lorawan stub headers to the lorawan/tests/UNITTESTS/double dir
Previously all the lorawan stubs headers under mbed-stubs-headers,
so this PR move all lorawan stubs headers under
cellular/tests/UNITTESTS/double directory and update CMake to include
stubs headers into mbed-stubs-lorawan library to make lorawan stubs to be self-contained
2021-07-02 05:06:09 -07:00
Rajkumar Kanagaraj 728e183205 CMake: unit-tests: Make lorawan stub only depend on headers it uses
Previously the connectivity lorawan stub library depended on
`mbed-headers`, which is a collection of all available headers
in mbed-os. To make it easier to separate the library, only depend
on the headers we're using.
2021-07-02 05:06:09 -07:00
Rajkumar Kanagaraj 8d7d173bb0 CMake: Update lorawan unittest to use mbed-headers-lorawan lib
Update lorawan unit test to link only with a mbed-headers-lorawan
library that it depends on instead of link with mbed-headers
which is a group of headers libraries.
2021-07-02 05:06:09 -07:00
Rajkumar Kanagaraj 8c580489f6 CMake: unit-tests: Add mbed-headers-lorawan headers library
Previously, all lorawan headers made as a part of the
mbed-headers-connectivity library. To make it easier to separate all
the lorawan headers into the separate mbed-headers-lorawan library
and keep them, as part of lorawan stubs CMake. This makes the lorawan
stubs more self-contained and improves the composition of the library.
2021-07-02 05:06:09 -07:00
Rajkumar Kanagaraj fee7906b0c CMake: Update lorawan unittest to use mbed-stubs-lorawan
Update lorawan unit test to link only with a mbed-stubs-lorawan
library that it depends on instead of link with mbed-stubs
which is a group of stubs libraries.
2021-07-02 05:06:09 -07:00
Rajkumar Kanagaraj 8f238f13b1 CMake: Move lorawan stubs to the lorawan dir
Move the connectivity lorawan stubs into the connectivity/lorawan
component directory. So we can avoid duplicating the mbed-os source
tree in a central UNITTESTS folder.
2021-07-02 05:06:09 -07:00
Robert Walton da6febf616 CMake: mbed_greentea: Remove trailing whitespace 2021-07-02 11:44:51 +01:00
Jaeden Amero 4e121a7d79
Merge pull request #14850 from OpenNuvoton/nuvoton_psa_nv_seed
PSA: Fix compile error with NV seed
2021-07-02 09:55:57 +01:00
Martin Kojtal d83494f54b
Merge pull request #14820 from paul-szczepanek-arm/events-doc
BLE: Clarify ble event docs with crossreferences
2021-07-01 17:17:49 +02:00
Martin Kojtal d0c446875b
Merge pull request #14827 from ARMmbed/move_hal_stubs
Move hal stubs to hal directory
2021-07-01 16:28:04 +02:00