Commit Graph

9 Commits (refactor_hal_greentea_cmake)

Author SHA1 Message Date
Lingkai Dong dca2aa79a0 Unit tests: Remove redundant CMake target mbed-headers-base
Individual libraries' `target_h` stub headers have now all been moved
from `mbed-headers-base` to `mbed-headers-<library>`.

Note: Even though headers previously in `target_h` are technically
stubs/fakes too, they are used by not only unit tests but also regular
libraries when compiled for unit tests, because no target-specific HAL
implementation exists in this case. In order for regular library
sources to pick up `target_h` headers, those headers must

* have the same names as regular headers
* appear first in include paths

This is why those headers are part of `mbed-headers-<library>` and not
`mbed-stubs-<library>`. Before this refactoring, `mbed-headers-base`
was the first in unit tests' include paths.
2021-08-02 17:42:43 +01:00
Jaeden Amero 162ae220b1 equeue: Enable use of stub from C++
Add extern "C" to the equeue_stub declaration to avoid an error when a C
file implements the equeue_stub symbol (as we do in equeue_stub.c).

    Undefined symbols for architecture x86_64:
      "_equeue_stub", referenced from:
          Test_LoRaWANTimer_start_Test::TestBody() in Test_LoRaWANTimer.cpp.o
    ld: symbol(s) not found for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
2021-07-22 18:03:47 +01:00
Jaeden Amero 4480abeaf9 cmake: Avoid linking to gcov
Use the `--coverage` option instead of manually linking to gcov, as some
host platforms (like macOS, FreeBSD) don't have gcov by default and use
an llvm equivalent instead.
2021-07-22 15:41:49 +01:00
Jaeden Amero a1e61b61c2 equeue: Add missing header guards
The header equeue_stub.h was missing header guards to enforce single
inclusion. Add some header guards.
2021-07-22 15:41:06 +01:00
Rajkumar Kanagaraj 863ef79ed4 CMake: Move events fakes into events double dir
Previously events fakes as part of UNITTESTS/fakes, this PR moves
events fakes to events double directory to make events stubs
to be self-contained.
2021-07-09 02:56:26 -07:00
Rajkumar Kanagaraj 652b421388 CMake: unit-tests: Make events stub only depend on headers it uses
Previously the events 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-09 02:56:26 -07:00
Rajkumar Kanagaraj 447754f6cf CMake: Move events stub headers to the events/tests/UNITTESTS/double dir
Move events stubs headers to the mbed-os/events/tests/UNITTESTS/double
directory and update double CMake to include stub headers
2021-07-09 02:56:26 -07:00
Rajkumar Kanagaraj 65d202b93b CMake: unit-tests: Move mbed-headers-events to the events directory
Move the header-only mbed-headers-events library the unit test stubs
depend on into the events component directory. This makes the events
stubs more self-contained and improves the composition of the library.
2021-07-09 02:56:26 -07:00
Rajkumar Kanagaraj 88410a5f85 CMake: Move events stubs sources to the mbed-os/events directory
Move the events stub into the events component directory.
so we can avoid duplicating the mbed-os source tree in a central
UNITTESTS folder.
2021-07-09 02:56:26 -07:00