Commit Graph

502 Commits (mbed-os-5.9.2)

Author SHA1 Message Date
Senthil Ramakrishnan 06b1ae5129 Limit error filename capture to 64 chars, wrapping tests with right configs and astyle fixes. 2018-06-29 17:10:17 +01:00
Senthil Ramakrishnan f3406d24fc Updates to configuration flags used in error handling implementation. The new configuration make Error history tracking switched off by default and enabled by using the config flag MBED_CONF_PLATFORM_ERROR_HIST_ENABLED. Config flag MBED_CONF_PLATFORM_ERROR_ALL_THREADS_INFO enables printing info of all threads. This will be turned off by default. 2018-06-29 17:10:17 +01:00
Juha Ylinen 4affb4dbc5 Update Greentea netsocket and wifi tests
Increase timeout for netsocket TCP and UDP tests. Old timeout
(240 seconds) was not enough for slower devices to complete the
tests.
Accept error codes NSAPI_ERROR_CONNECTION_TIMEOUT and
NSAPI_ERROR_NO_CONNECTION when running test wifi_connect_secure_fail
2018-06-29 17:10:17 +01:00
ccli8 7339fa0dea Enlarge wait time for flushing serial buffer in Greentea test code
Original wait time is not enough for UART to flush out before deepsleep on some targets.
2018-06-29 17:10:17 +01:00
Mika Leppänen 3e4076a5a5 Asynchronous DNS greentea tests
Added tests for asynchronous DNS.
2018-06-29 17:10:17 +01:00
ccli8 e5c9a095c6 Enlarge wait time in Greentea test function test_deepsleep
Original wait time is not enough for UART to flush out before deepsleep on some targets.
2018-06-29 17:10:17 +01:00
Mika Leppänen 9fdb9a1ac7 Added long echo sequence test to EMAC tests
Test echoes 50000 random length ethernet frames between CTP echo
server and device.
2018-06-29 17:10:17 +01:00
Jarno Lamsa 8cc8b813f1 Tolerate packet loss up to 30% in udp echo tests 2018-06-29 17:10:17 +01:00
Maciej Bocianski 14c75c584f fix and enable sleep_usticker_test
Increases tolerance value for sleep_usticker_test to cover extra time needed
for cpu stats computation (for more details see MBED_CPU_STATS_ENABLED).
Prevent scheduling interrupt during ticker initialization (in lp_ticker_init)
while test execution.
2018-06-15 13:30:56 +01:00
Maciej Bocianski 393424262f enable HAL sleep test 2018-06-15 13:30:56 +01:00
Maciej Bocianski 8b3ae8dea4 HAL sleep test fix
Prevents ticker upper layer initialization during test execution
2018-06-15 13:30:56 +01:00
David Saada 688268328d Fix flash_program_page API in LPC boards.
This API allocates a program buffer of 256 on the stack to ensure alignment.
However, FlashIAP driver already ensures this alignment of the user data.
2018-06-15 13:30:56 +01:00
Cruz Monrreal 754e18f335 Only exclude RTOS-specifc tests in error_handling
Allows for other tests to run if no RTOS is present.
2018-06-15 13:30:56 +01:00
Cruz Monrreal 4c3012ccd6 Wrapped test around MBED_CONF_RTOS_PRESENT
Wrapping a #define to prevent test from being run when no RTOS is present.
2018-06-15 13:30:56 +01:00
Cruz Monrreal bed820734c Corrected casting issue with an assert within the error_handling test
Discovered via https://github.com/ARMmbed/mbed-os/pull/7105.
If both values are negative values, they are casted in such a way that -1 != -1. This small commit fixes that.
2018-06-15 13:30:56 +01:00
Przemyslaw Stekiel 592ec6fdd0 HAL CRC test: Fix out of memory issue on NULCLEO_F070RB, NULCLEO_F072RB/IAR
Allocate test case array on stack since memory limits on some boards.
2018-06-15 13:30:56 +01:00
Przemyslaw Stekiel 648710ba5a Add HAL CRC test and test header file. 2018-06-15 13:30:56 +01:00
Maciej Bocianski 8990f23e43 ticker test improvement
Make multiticker test more reliable when scheduling very early interrupts.
When very early interrupt is scheduled (e.g now + 2[ticks]) then it's likely
that it won't be fired in some circumstances and as a result there is overdue
event in queue. That overdue event can be mistakenly scheduled again by
`Ticker::detach` (detach calls schedule if head was removed). That's why we
should check interrupts counter immediately after wait period and before detach loop
2018-06-15 13:30:56 +01:00
Mika Leppänen b1faa8f31d Changed TCP socket test to use shared buffers
Changed RX and TX buffers used in TCP socket tests to global variables
to conserve memory.
2018-06-15 13:30:56 +01:00
Mika Leppänen 4d3921d498 Updated EMAC test environment for LPCxx boards
Updated EMAC memory manager to use libservice nsdynmemlib
for EMAC memory buffers. Located the nsdynmemlib buffer heap
to DMA safe memory bank on LPCxx boards. Optimized placement of
static variables on EMAC test environment for LPCxx boards to
maximize available memory.
2018-06-15 13:30:56 +01:00
Juha Ylinen 8dbd41c57f Add targets to Greentea EMAC tests
Update test configuration file for WicedInterface
2018-06-15 13:30:56 +01:00
Marc Emmers 32ecbb71b5 Ticker test: Add ticker_irq_handler call because the time reaching the previous interrupt_timestamp would have triggered one anyway 2018-06-15 13:30:56 +01:00
Kimmo Vaisanen e1288ab6c2 Lora: Add greentea tests for LoRaRadio API
This LoRaRadio test set adds basic tests which can be run with a single HW.
2018-06-15 13:30:56 +01:00
Veijo Pesonen 67a329f382 Makes UDPSOCKET_SENDTO_INVALID part of the netsocket extended test set 2018-06-15 13:30:56 +01:00
Wilfried Chauveau 5c8236e78b set the tolerance to 5% if NO_SYSTICK is enabled 2018-06-05 15:05:18 +01:00
deepikabhavnani 39a08f7e20 OS version is not available in code, need a fix for this in next patch release 2018-06-05 15:05:18 +01:00
Przemyslaw Stekiel c181003702 tests-mbed_hal-common_tickers: Fix increment test case implementation
In case when base tick count is different than next tick count check first if the difference is equal to 1 tick (this is what we are looking for) if not then decrease the tick count.

Repeat counting process few times before incrementing the number of cycles in case when base tick count is equal to next tick count.
2018-06-05 15:05:18 +01:00
Martin Kojtal 501a7b6949
Merge pull request #7009 from bulislaw/merge_feature_branches_for_5.9
Bring in improved HAL APIs to master
2018-05-28 12:31:14 +02:00
Bartek Szatkowski 4ae6491fd5 Disable sleep tests as they are unstable 2018-05-27 23:31:20 -05:00
Bartek Szatkowski 817bf0b092 Disable intermittently failing sleep test 2018-05-27 23:31:20 -05:00
Bartek Szatkowski a305d849a8 Rename LOWPOWERTIMER to LPTICKER 2018-05-25 13:06:56 -05:00
Przemyslaw Stekiel 500be1fbac Fix tolerance definition in ticker tests. 2018-05-25 13:04:23 -05:00
Bartek Szatkowski b9814fae9b Fix missmatch between feature branches and new CMSIS 2018-05-25 13:04:23 -05:00
Przemyslaw Stekiel c437e9d2c6 tests-mbed_hal-rtc_reset: Add ack from the device after each command is executed
RTC reset test was failing when board has been just powered and RTC reset test was executed for the first time (issue has been detected on CI). In such case RTC initialization takes more time than in futher rtc_init calls. This has impact on green-tea communication. Commands send by host immediately after init command (write, read) were not handled on the device side and no response to the host was provided.
To fix this problem test communication flow has been modified. Device sends ack to the host after RTC init is done. Host sends further RTC commands when ack from the device has been received.

Edit:
There are still some communication issues on the CI. Add ack from the device after each executed command. Increase test timeout and wait after reset.
2018-05-25 12:52:02 -05:00
Przemyslaw Stekiel a1d92e5168 HAL rtc test: increase test timeout.
Verified that on some platforms 30s is not enough.
2018-05-25 12:49:48 -05:00
Przemyslaw Stekiel 105b0ab851 HAL rtc test: check only if rtc_isenabled() returns 1 in case when init is done.
Since some platforms use RTC for low power timer RTC may be already enabled.
Because of that we will only verify if rtc_isenabled() returns 1 in case when init is done and RTC time is set.
2018-05-25 12:49:48 -05:00
Przemyslaw Stekiel a0f1627316 Update of RTC HAL API tests.
Provide minor fixes for existing test cases.
Add additional test cases.
2018-05-25 12:49:11 -05:00
Russ Butler 1f97f11373 Add documentation and test the HAL RTC API
Add requirements, tests, an example implementation and additional
function documentation to the HAL RTC API.
2018-05-25 12:37:19 -05:00
Bartek Szatkowski efd307fa79 Rename new occurrences of LOWPOWERTIMER to LPTICKER 2018-05-25 12:33:43 -05:00
Przemyslaw Stekiel e7fa5fc599 tests-mbed_hal-flash: optimieze time_cpu_cycles() function
This function should perform instruction cycles count in critical section.
Additionally remove redundant code.
2018-05-25 12:33:42 -05:00
Przemyslaw Stekiel be098399a8 tests-mbed_hal-flash: Remove 5% extra tolerance for NRF52_DK
NRF52_DK is now based on fast and accurate 1MHz counter.
2018-05-25 12:33:42 -05:00
Przemyslaw Stekiel 06c6db5119 tests-mbed_drivers-lp_timer: modify tolerance to percentage form
Represent tolerance value as it is done in `tests-mbed_drivers_timer`.
Use 5% tolerance for lp ticker.
2018-05-25 12:33:42 -05:00
Przemyslaw Stekiel a0a07d9725 tests-mbed_drivers-timerevent: increase tolerance for NRF52_DK
Test inserts event into the TimerEvent object which is scheduled 50 ms in the future. Then test thread hangs on the semaphore for 51 ms and after that time we expect that event handler has been executed. This test fails sometimes on NRF51_DK, NRF52_DK since different clocks are used for event handling and delay. TimerEvent class uses fast us ticker and semaphores are based on lp ticker (NRF51_DK) or System Tick Timer (NRF52_DK).
We assume that ticker measurement error is 10% and our 1 [ms] extra corresponds to 2% error. I suggest to increase delay to 2 [ms] (4%). This should be enough for all boards at this moment.
2018-05-25 12:33:42 -05:00
Przemyslaw Stekiel 50a5e2c1f4 tests-mbed_hal-common_tickers: fix bug in ticker increment test case
It is possible that the difference between base and next tick count on some platforms is greater than 1, in this case we need to repeat counting with the reduced number of cycles (for slower boards).
If number of cycles has been reduced than base tick count needs to be redefined. This operation is missing and is added by this patch.
2018-05-25 12:33:42 -05:00
Bartek Szatkowski 95559ad3e1 Change LPTICKER spec to allow clock freq starting at 4kHz 2018-05-25 12:32:39 -05:00
Przemyslaw Stekiel c18763bb41 tests-mbed_hal-common_tickers: disable os tick while running test cases
It has been noticed on NRF51_DK board that occurrence of system tick have impact on test execution.
NRF51_DK is a slow board with fast us ticker and handling of system tick interrupt takes about 250 us ticker ticks which have huge influence on interrupt tests where interrupt is set to <current count> + 100, 200, 500 ticks.
2018-05-25 12:30:52 -05:00
Przemyslaw Stekiel 75df9ecd19 tests-mbed_drivers-lp_ticker: increase tolerance for NRF51_DK
This test fails sometimes while testing 1 ms timeout on NRF51_DK board.
This board is very slow and lp ticker is inaccurate.
I noticed that measured results are very close to the tolerance value. For 1ms delay we measure in failure case 1560 us and tolerance is set to 550.
Since measurement method is also significantly flawed (extra time for setting up ticker and execution of a ticker irq handler) I recommend to increase tolerance by least +100 us for now.
2018-05-25 12:30:52 -05:00
Przemyslaw Stekiel a3d5921515 tests-mbed_drivers-timerevent: Disable deep-sleep mode in TestTimerEvent class.
Since now us ticker is disabled in deep-sleep mode and tests-mbed_drivers-timerevent verifies TimerEvent class which uses us ticker then deep-sleep mode needs to be disabled during the test execution.
2018-05-25 12:30:52 -05:00
Przemyslaw Stekiel 4fe068834c tests-events-queue: modify tolerance to percentage form
On some boards without SYSTICK support lp ticker is used to trace system ticks.
Event queue uses system ticker to count delay when callback is to be fired.
New ticker implementation for NRF51_DK provides fast and accurate counter for us ticker which shows inaccuracy of the system ticker(which is based on slow and inaccurate lp ticker). This is why measured error grows linearly and percentage form needs to be used.

Currently we use constant tolerance value equal to: 5 [ms].
This patch modifies tolerance to the following form: 5% of measured time [ms].

In this test the lowest delay is equal to 100 [ms], so 5% corresponds to 5 [ms] tolerance - original value. This means that min tolerance is 5 [ms] so this change should not have negative impact on other targets.
2018-05-25 12:30:52 -05:00
Przemyslaw Stekiel ff39a9874a tests-mbed_hal-common_tickers: increase overflow protection limit
For NR51_DK US_TICKER_OV_LIMIT needs to be increased since if test is run few times in row sometimes fails. This is because NR51_DK is a slow board (16 MHz) with fast and short us ticker counter 1 MHz/16 bits.
2018-05-25 12:29:55 -05:00