Commit Graph

62 Commits (latest)

Author SHA1 Message Date
Hari Limaye f4e5359710 GPIO: Use uintptr_t for gpio_irq_api context
The HAL gpio_irq_api stores object IDs, which serve as a form of context
for the dispatch of the interrupt handler in the drivers level
InterruptIn Class. The way this is achieved is that the InterruptIn
Class casts its address to uint32_t, which is stored as the ID.
This results in compilation failure when the size of an object pointer
is greater than uint32_t, for example when building on a PC for unit
testing.

In order to allow Unit Testing of the InterruptIn Class, we replace the
use of uint32_t with uintptr_t (type capable of holding a pointer),
which allows portability and expresses intentions more clearly.
In aid of this latter goal, we also replace the use of the name "id"
with "context", to improve clarity - these are addresses of the context
related to that callback.
2022-01-26 18:12:52 +00:00
Jerome Coutant 12f3d9dec9 pin_names-arduino_uno test : UART test case update 2021-10-01 15:12:38 +02:00
Martin Kojtal faf87374f9
Merge pull request #15018 from jeromecoutant/PR_FLASHTEST
hal-tests-tests-mbed_hal-flash compilation warning
2021-08-24 09:52:14 +01:00
Martin Kojtal 513f581bce
Merge pull request #15012 from felser/MTS_DRAGONFLY_L496VG
Add platform MTS_DRAGONFLY_L496VG
2021-08-24 09:50:58 +01:00
Jerome Coutant 8d16ab32fe hal-tests-tests-mbed_hal-flash compilation warning 2021-08-20 17:05:59 +02:00
Leon 4b27aef0ae Add platform MTS_DRAGONFLY_L496VG 2021-08-18 12:03:48 -05:00
Hari Limaye 9491403f43 Unit tests: Add stubs for analogin_api.c functions
Currently there are no stub implementations of the analogin_api.c
functions. As the AnalogIn class makes use of these functions, these
stub definitions are required in order to build AnalogIn.cpp and
generate .gcno files to be used to generate code coverage metrics.
2021-08-16 10:13:11 +01:00
Lingkai Dong 578843067b Unit tests: Fix pin validation failure
The test script pinvalidate.py requires the following which are
missing in the unit test stub PinName.h:
* A comment "MBED TARGET LIST"
* `CONSOLE_TX` and `CONSOLE_RX` in the `PinName` enum

This commit adds them.
2021-08-02 17:42:43 +01:00
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
Lingkai Dong 6731f553ce Unit tests: Fix style in hal gpio_object.h stub 2021-08-02 17:42:43 +01:00
Lingkai Dong 825e3491b0 Unit tests: Move hal target_h stubs
Stubs previously in UNITTESTS/target_h/ have the same names as
regular Mbed OS headers, intending to override the latter directly.
We move hal target_h stubs into hal/tests/UNITTESTS/doubles/.

Note: In Mbed OS, the standard include format requires each header to
be prefixed with its module name, for example "hal/gpio_api.h". This
requires headers to be organized in a module directory. But unit tests
stubs for hal correspond to what a real Mbed target would have
implemented (in a non-test scenario), and targets do not currently put
headers in hal/, so we similary put stub headers directly in
hal/tests/UNITTESTS/doubles/ instead of add a hal/ subdirectory there.
2021-08-02 17:42:43 +01:00
Jerome Coutant 97cd8e928d pinvalidate.py script: add deprecated ARDUINO test 2021-07-22 13:55:52 +02:00
Jerome Coutant 77e7720cb0 pinvalidate.py script: add SPI and I2C alias check
Goal is to follow
hal/include/hal/PinNameAliases.h
2021-07-22 13:55:52 +02:00
Jerome Coutant 616a84f370 pinvalidate.py script: remove spaces 2021-07-22 13:55:52 +02:00
jeromecoutant 971d0dd3bd pin_names-generic test update before skipping it 2021-07-06 17:13:45 +02:00
Rajkumar Kanagaraj 26c608b241 CMake: Remove --coverage link option from mbed-stubs-hal
The --coverage flag globally set in UNITTESTS/CMakeLists.txt
and configuring the same option again in mbed-stubs-hal is
redundant so remove it
2021-07-01 06:07:31 -07:00
Rajkumar Kanagaraj fe0298a1a3 CMake: unit-tests: Make hal stubs only depend on headers it uses
Previously the hal 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-01 06:07:31 -07:00
Rajkumar Kanagaraj bf06897b8f CMake: unit-tests: Move mbed-headers-hal to the hal directory
Move the header-only mbed-headers-hal library the unit test stubs
depend on into the hal component directory. This makes the events
stubs more self-contained and improves the composition of the library.
2021-07-01 06:07:31 -07:00
Rajkumar Kanagaraj 84bb4cc6b9 CMake: Move hal stubs sources to the mbed-os/hal directory
Move the hal stubs into the hal component directory.
so we can avoid duplicating the mbed-os source tree in a central
UNITTESTS folder.
2021-07-01 06:07:31 -07:00
Jaeden Amero b5c2f7079e
Merge pull request #14718 from Meano/develop
Feature: Make changes for Cortex-A5 support
2021-07-01 10:23:41 +01:00
Jaeden Amero 043d1735a1
Merge pull request #14837 from LDong-Arm/K64F_pin_names
K64F: Fix pin names and migrate to Arduino Uno form factor
2021-06-30 09:15:54 +01:00
Hari Limaye f95052cf6f CMake: Require TEST_SOURCES in greentea CMake file
Assumption that greentea test file is always named main.cpp is
incorrect. Updated mbed_greentea_add_test() macro to make TEST_SOURCES
parameter compulsory, which is used to specify greentea test
file(s). This allows tests to use C, or have a different name.
Therefore also updated all pre-existing greentea test CMake files to
explicity add main.cpp to TEST_SOURCES.
2021-06-29 13:33:42 +01:00
Hari Limaye 3e71692b27 CMake: Remove unnecessary CMakeLists.txt
CMakeLists.txt file in /hal/tests/TESTS/mbed_hal_fpga_ci_test_shield
directory was non-functional as it used the greentea_add_test macro,
which expects a main.cpp in current directory, but no main.cpp exists
there. I checked with @rajkan01 who confirmed that this CMake file is
serving no purpose and is there erroneously. All tests in subdirectories
of this directory have their own CMakeLists.txt that successfully build
them.
2021-06-29 13:32:57 +01:00
Hari Limaye 8b020f6ead CMake: fix incorrect relative path for MBED_PATH
MBED_PATH set to /platform directory incorrectly. Updated to set to
/mbed-os directory.
2021-06-29 13:32:48 +01:00
Lingkai Dong 5ca8aec988 Add shebang to pinvalidate.py
In the Standard Pin Names porting guide, pinvalidate.py is run
without prefixing the "python" command. But to make it possible,
a shebang needs to exist.
2021-06-28 17:46:32 +01:00
Meano 6feca90589 Unify the __CORTEX_A macro in the files containing cmsis.h 2021-06-23 13:36:52 +08:00
jeromecoutant 4abefe5d42 Pin_names generic test: Add BUTTON3 test case 2021-06-07 18:09:46 +02:00
jeromecoutant 86d0471136 Pin_names arduino_uno test: Add a check for UART instance 2021-06-07 18:09:45 +02:00
Martin Kojtal e18d280ede
Merge pull request #14588 from Patater/mbed-libs-for-m55
Add v8.1-M architecture awareness
2021-05-10 15:13:33 +02:00
Jaeden Amero 5d20374bc3 Add v8.1-M architecture awareness
Add v8.1-M architecture awareness to Mbed CRC, HAL, and Mbed Atomic.

Fixes #14433
2021-04-23 15:01:16 +01:00
jeromecoutant 3b64279d36 HAL ticker tests : add optional CHECK_TICKER_OPTIM define
This will make build failure if ticker optim defines are not present
2021-04-15 17:35:28 +02:00
jeromecoutant f7c0434b6c HAL ticker tests fix u64
(1000000 * LP/US_TICKER_PERIOD_DEN) > U32
2021-04-15 17:35:28 +02:00
George Psimenos 4091306f10 Update FPGA documentation 2021-04-06 15:13:51 +01:00
Anna Bridge 76f470411a
Merge pull request #14450 from jeromecoutant/PR_SPI_WB
FPGA SPI : decrease test frequency for ASYNC test cases
2021-03-26 14:52:00 +00:00
jeromecoutant b943c4474a FPGA SPI : decrease test frequency for ASYNC test cases 2021-03-19 11:34:23 +01:00
George Psimenos 21194f5b95 New lines 2021-03-18 17:01:54 +00:00
George Psimenos d239ef98cd Rename USBTX/RX to CONSOLE_TX/RX 2021-03-18 17:01:54 +00:00
George Psimenos 4dfdb11de0 Move pinvalidate files 2021-03-18 17:01:54 +00:00
George Psimenos 885cdef5f7 Add standard pin-names validation script & tests 2021-03-18 17:01:53 +00:00
jeromecoutant 500ddf596a [STD-PIN] Updates after review 2021-03-18 17:01:50 +00:00
jeromecoutant d514b78bb3 [STD-PIN] hal-tests-tests-pin_names-arduino_uno
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | ADC A0                | 1      | 0      | OK     | 0.05               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | ADC A1                | 1      | 0      | OK     | 0.04               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | ADC A2                | 1      | 0      | OK     | 0.05               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | ADC A3                | 1      | 0      | OK     | 0.04               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | ADC A4                | 1      | 0      | OK     | 0.04               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | ADC A5                | 1      | 0      | OK     | 0.05               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO A0               | 1      | 0      | OK     | 0.04               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO A1               | 1      | 0      | OK     | 0.04               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO A2               | 1      | 0      | OK     | 0.05               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO A3               | 1      | 0      | OK     | 0.04               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO A4               | 1      | 0      | OK     | 0.05               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO A5               | 1      | 0      | OK     | 0.05               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO D0               | 1      | 0      | OK     | 0.05               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO D1               | 1      | 0      | OK     | 0.04               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO D10              | 1      | 0      | OK     | 0.06               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO D11              | 1      | 0      | OK     | 0.04               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO D12              | 1      | 0      | OK     | 0.04               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO D13              | 1      | 0      | OK     | 0.05               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO D14              | 1      | 0      | OK     | 0.06               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO D15              | 1      | 0      | OK     | 0.05               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO D2               | 1      | 0      | OK     | 0.04               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO D3               | 1      | 0      | OK     | 0.05               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO D4               | 1      | 0      | OK     | 0.04               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO D5               | 1      | 0      | OK     | 0.04               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO D6               | 1      | 0      | OK     | 0.04               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO D7               | 1      | 0      | OK     | 0.05               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO D8               | 1      | 0      | OK     | 0.05               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | GPIO D9               | 1      | 0      | OK     | 0.05               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | I2C                   | 1      | 0      | OK     | 0.06               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | PWM D10               | 1      | 0      | OK     | 0.05               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | PWM D11               | 1      | 0      | OK     | 0.05               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | PWM D3                | 1      | 0      | OK     | 0.05               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | PWM D5                | 1      | 0      | OK     | 0.06               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | PWM D6                | 1      | 0      | OK     | 0.05               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | PWM D9                | 1      | 0      | OK     | 0.05               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | SPI                   | 1      | 0      | OK     | 0.08               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-arduino_uno                 | UART                  | 1      | 0      | OK     | 0.06               |
2021-03-18 17:01:50 +00:00
jeromecoutant eca714c93f [STD-PIN] update tests and components 2021-03-18 17:01:50 +00:00
jeromecoutant a4350f72bd [STD-PIN] BUTTON and LED define
hal/tests/TESTS/mbed_hal/gpio/main.cpp is replaced by
hal/tests/TESTS/pin_names/generic/main.cpp now
2021-03-18 17:01:50 +00:00
jeromecoutant 23e3bb301d [STD-PIN] hal-tests-tests-pin_names-generic
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-generic | BUTTON1   | 1      | 0      | OK     | 0.05               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-generic | LED1      | 1      | 0      | OK     | 1.05               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-generic | LED2      | 1      | 0      | OK     | 1.04               |
| B_L4S5I_IOT01A-ARMC6 | B_L4S5I_IOT01A | hal-tests-tests-pin_names-generic | LED3      | 1      | 0      | OK     | 1.04               |
2021-03-18 17:01:50 +00:00
Hugues Kamba c45e6ce13f Remove usage of MBED_TARGET_LABELS in hal/ tests
This removes some dependency on targets.json
2021-02-19 19:15:47 +00:00
Rajkumar Kanagaraj 6824b14e48 CMake: rename greentea test macro 2021-02-02 07:43:40 -08:00
Rajkumar Kanagaraj 7d7159d20f
Apply suggestions from code review
Co-authored-by: Hugues Kamba <41612201+hugueskamba@users.noreply.github.com>
2021-01-08 03:21:03 -08:00
Rajkumar Kanagaraj 71729238f0 CMake: Add support for mbed_timing_fpga_ci_test_shield greentea test 2021-01-05 09:10:45 -08:00
Rajkumar Kanagaraj d9f2d765f4 CMake: Add support for mbed_hal_fpga_ci_test_shield greentea test 2021-01-05 09:10:45 -08:00
Rajkumar Kanagaraj f78d7e1fe5 CMake: Add CMake support for mbed_hal greentea test 2021-01-05 09:10:45 -08:00