Commit Graph

872 Commits (85cc30a425eda6f8e4ca5c63db8b4dc93b6ad47d)

Author SHA1 Message Date
Cruz Monrreal 4403a561b3
Merge pull request #7890 from deepikabhavnani/cb_issue_7701
Circular buffer should use conditional statement instead of modulo
2018-09-27 10:20:05 -05:00
Veijo Pesonen c4546910d1 Increases stack size for threads used in gt netsocket tcp test cases
Stack size is insufficient for debug profile
Stack size is insufficient for NUCLEO_F401RE+IDW01M1
Please see https://github.com/ARMmbed/wifi-x-nucleo-idw01m1/issues/17
2018-09-27 09:13:11 +03:00
Przemyslaw Stekiel 25b23a9286 tests-mbed_hal-sleep: finish UART transmission before sleep test
There is no problem with this test during the morph, but some issue has been noticed while testing new Jenkins CI in Oulu on NRF52_DK.
I was able to reproduce the issue locally. The difference between morph and local run is that CPU statistics are enabled on morph. This makes the difference and test passes.

The sleep test case perform sleep for 100 us, 200 us, ... ,1000 us in loop (us ticker wakes the board) and verifies if sleep time matches the assumption.
I got the following results:

sleep                 wake-up after
100 us                   ~100 us    ok
200 us                   ~200 us    ok
300 us                   ~300 us    ok
400 us                   ~400 us    ok
500 us                   ~14 us     (??)

When requested sleep time is equal to 500 us some unexpected interrupt occurs which wakeup the board and force the test to fail.
Register state just after exit from sleep:
Control and State Register: 0x00400000 (ISRPENDING - Interrupt pending flag is set).
NVIC Interrupt Set-pending Register[0]: 0x00000004 (UARTE0_UART0_IRQn) or 0x00000200 (TIMER1_IRQn - timer used by us ticker).

UART interrupt is generated because of green-tea transmission. We know that it is performed while test is executed since we need to wait before going into deep-sleep since otherwise the transmission will be broken. So to take care of UART interrupt we need to wait before sleep test in the same way like it is done in deep-sleep test.
2018-09-26 14:29:14 +02:00
Martin Kojtal a0a9b54e97
Merge pull request #7057 from theamirocohen/trng_test
Add TRNG API test
2018-09-26 09:48:36 +02:00
Amir Cohen e92f41a8a4 Fix print error 2018-09-25 15:30:29 +03:00
Seppo Takalo e7924a98b2 Fix WIFI_CONNECT_PARAMS_CHANNEL_FAIL testcase.
Test case was assuming that secure and unsecure SSID were on different
channels.
This is not a requirement and it should be OK to run on same channel.

Fixed the testcase by using +1 on channel number to get a wrong channel.
2018-09-25 14:11:22 +03:00
Veijo Pesonen d302a62e60 Drops removed mbedgt-netsocket cases from test specification 2018-09-25 11:52:50 +03:00
Veijo Pesonen 6ac099ab1a Makes mbedgt-network-wifi case to skip channel number check
2.4GHz and 5GHz channels might be using the same SSID. Wifi scan
might also fail occasionally to find secure- and unsecure channels
on same scan so lets not assume that we'll find both.
2018-09-25 09:29:53 +03:00
Veijo Pesonen b355c750a6 Makes mbedgt-netsocket cases to accept port 0 as destination 2018-09-25 09:29:53 +03:00
Russ Butler 000ee90bfe Add a minimum requirements HAL test
Add a test to ensure that devices have at least 2K free ram
and 2K free heap. This test should be the first test that fails
due to running out of ram or heap.
2018-09-24 13:54:56 -05:00
Przemyslaw Stekiel 6d5e21741c Fix for issue #8214
Change the base time value to more realistic:
START_TIME = 1537789823 # GMT: Monday, 24 September 2018 11:50:23

This fix has been proposed by STM in order to enhance test efficiency.
Current test version did not detect problem with RTC reset on F1 family boards since the base time was too small.
2018-09-24 14:05:12 +02:00
Martin Kojtal ab882c3416
Merge pull request #8030 from OpenNuvoton/nuvoton_fix_common_tickers_fail
Nuvoton: Fix Greentea test common_tickers failed
2018-09-21 14:55:28 +02:00
Martin Kojtal cbb676ccbd
Merge pull request #8060 from SeppoTakalo/documentation_update
Clarify test configuration in Socket/Networking test document
2018-09-21 09:40:59 +02:00
Martin Kojtal 6a34251b07
Merge pull request #7925 from maciejbocianski/qspi_hal_test_refactoring
Qspi hal test refactoring/update
2018-09-21 09:40:10 +02:00
Cruz Monrreal c005ba24ff
Merge pull request #8171 from SeppoTakalo/skip-dns-test
Skip the unstable SYNCHRONOUS_DNS_CACHE testcase
2018-09-20 13:59:17 -05:00
Seppo Takalo 558b579a8d Remove the unstable SYNCHRONOUS_DNS_CACHE testcase
Will be reverted once the test case is fixed
2018-09-20 10:59:20 +01:00
Martin Kojtal 0233c8df4c
Merge pull request #7882 from mikaleppanen/nw_if_gt_tests
Add greentea tests for network interface status and connect/disconnect
2018-09-19 14:20:07 +02:00
ccli8 4888ff2b11 Fix Greentea test common_tickers failed
1. Disable ticker interrupt which would interfere with fire_interrupt speed test
2. Enlarge test period to avoid timeout error
2018-09-18 10:57:14 +08:00
Martin Kojtal 10b5a3a9d8
Merge pull request #7960 from RonEld/set_NULL_as_platform_context
Change mbedtls_platform_context parameter to NULL
2018-09-17 14:30:03 +02:00
Cruz Monrreal 836eec00ae
Merge pull request #7945 from jarlamsa/synchronous_dns_cache
Move SYNCHRONOUS_DNS_CACHE test to extended set
2018-09-14 13:12:04 -05:00
Veijo Pesonen 88eea6a390 Testing with ESP8266's AT firmware v1.7 takes more time 2018-09-14 12:07:19 +03:00
Veijo Pesonen 24905f5b50 Declares gt netsocket test case buffers as static
Original patch https://github.com/ARMmbed/wifi-x-nucleo-idw01m1/issues/17
2018-09-14 12:03:36 +03:00
Seppo Takalo 5e9fb0d562 Clarify test configuration in Socket/Networking test document 2018-09-10 18:08:31 +03:00
Cruz Monrreal 920db63453
Merge pull request #7803 from SeppoTakalo/socket-test-plan
Add Socket test plan
2018-09-09 22:44:00 -05:00
Yossi Levy 79e51111cd Adding complete buffer print in case of failure. 2018-09-05 17:42:06 +03:00
Amir Cohen 6d8dab8e74 Fix trng_len loop 2018-09-05 17:36:55 +03:00
Amir Cohen 780d9c6dbf Remove NVstore unused mechanism 2018-09-05 17:36:54 +03:00
David Saada b2b14ca26f Fix TRNG test to use reset from python script and not from code 2018-09-05 17:36:53 +03:00
Amir Cohen 9b0b63169c Fix messages 2018-09-05 17:36:51 +03:00
Amir Cohen 11f1aaf978 Fix pithy library 2018-09-05 17:36:50 +03:00
Amir Cohen 5f7a6401b8 Fix Compilation problems 2018-09-05 17:36:49 +03:00
Amir Cohen 5256e963f0 Fix IAR issues 2018-09-05 17:36:48 +03:00
Amir Cohen 225a3bfb90 Erase debug prints 2018-09-05 17:36:47 +03:00
Amir Cohen 1f4405c644 Reduce Debug prints 2018-09-05 17:36:45 +03:00
Amir Cohen 1466518644 Fixing PR comments 2018-09-05 17:36:44 +03:00
Amir Cohen abe2b00fac Fix var declaration problem 2018-09-05 17:36:43 +03:00
Amir Cohen 6dadbd897a Repalce compression libs for license issues 2018-09-05 17:36:42 +03:00
Amir Cohen 4d1d1a0313 Fix lisence and style 2018-09-05 17:36:40 +03:00
Amir Cohen 669b618ea1 Add TRNG API test 2018-09-05 17:36:39 +03:00
Anna Bridge c2fdc0d972
Merge pull request #7423 from mprse/mutex_lock_assert
Fix issue #6872 - Mutex lock has possibility to fail at runtime (returning status flag)
2018-09-03 14:14:24 +01:00
Ron Eldor 5817d71ad8 Change mbedtls_platform_context parameter to NULL
Change the parameter being sent to `mbedtls_platform_setup()` and
`mbedtls_platfrm_teardown()` to NULL, as it is now being unused
in Mbed OS.
2018-09-03 08:38:57 +03:00
Cruz Monrreal 48232be98e
Merge pull request #7872 from kjbracey-arm/thisthread
Add ThisThread namespace and deprecate static Thread methods
2018-09-02 15:10:18 -05:00
Cruz Monrreal f82feecc51
Merge pull request #7822 from donatieng/nfc-impl
Add initial NFC support to Mbed OS
2018-08-31 19:01:25 -05:00
Cruz Monrreal 00b7700be2
Merge pull request #7875 from c1728p9/feature_CMSIS_5_0b521765
Update CMSIS to 5.4.0
2018-08-31 11:31:37 -05:00
Jarno Lamsa bc2166e62d Temporarily move SYNCHRONOUS_DNS_CACHE test to extended set until issues fixed with it 2018-08-31 16:12:51 +03:00
Maciej Bocianski cffd581308 qspi_hal_test - adjust used memory sector count
set flash sector count to 1024 for EFM32GG11_STK3701(MX25R3235F)
set flash sector count to 2048 for NRF52840_DK(MX25R6435F)
2018-08-31 11:27:42 +02:00
Maciej Bocianski 3a64383de5 fix qspi address sending for nrf52
fix address sending in qspi_command_transfer
now address is send MSB first
2018-08-31 10:48:37 +02:00
paul-szczepanek-arm be5527bca4 fix gt test 2018-08-30 08:37:00 +01:00
Maciej Bocianski c836b79e37 qspi_hal_test - remove unused variables 2018-08-30 07:39:41 +02:00
Cruz Monrreal 1e3e69463f
Merge pull request #7781 from deepikabhavnani/crc_safety
Add thread safety to CRC class
2018-08-29 15:42:23 -05:00
Donatien Garnier bfd433984f Re-run astyle 2018-08-29 16:59:45 +01:00
Maciej Bocianski b41ce6c090 qspi_hal_test - randomize flash RW addres
randomize flash address during test to extend flash life
2018-08-29 17:10:29 +02:00
Maciej Bocianski 82c81900bf qspi_hal_test add DPI and QPI support 2018-08-29 17:10:00 +02:00
Cruz Monrreal 7d871bfff5
Merge pull request #7879 from jarlamsa/synchronous_dns_tests
Add tests for synchronous dns
2018-08-29 09:38:41 -05:00
Qinghao Shi b98bd91a98 increase timeout for rtostimer test to 10s 2018-08-29 13:07:42 +01:00
paul-szczepanek-arm 57b6cca240 fixed define name for test 2018-08-29 10:48:41 +01:00
Maciej Bocianski db8cee04fc qspi_hal_test refactoring
- code refactoring and preparation for enabling DPI/QPI tests
- reduced multiple test count to 4
- use common flash config header for all MX25RXX35F chips
- fix sector erase max time on N25Q128A
2018-08-29 09:32:50 +02:00
Martin Kojtal 32445ae326
Merge pull request #7880 from juhaylinen/fix-greentea-emac-timeout
Update Greentea EMAC tests
2018-08-28 14:38:08 +02:00
Kevin Bracey 1330eeecd0 Add ThisThread 2018-08-28 13:25:17 +03:00
paul-szczepanek-arm 17b5e2ef3e require EEPROM define to eclude from CI builds 2018-08-28 09:59:15 +01:00
paul-szczepanek-arm 5513d29da6 simplify command to function call translation 2018-08-28 09:59:14 +01:00
paul-szczepanek-arm 21c5132482 added test for writing and reading outside set size 2018-08-28 09:59:14 +01:00
paul-szczepanek-arm 8cfe61d949 added check for running out of steps 2018-08-28 09:59:13 +01:00
paul-szczepanek-arm f548de17ea check size was set 2018-08-28 09:59:13 +01:00
paul-szczepanek-arm 1e01fedadd nfc eeprom driver green tea test 2018-08-28 09:59:13 +01:00
Cruz Monrreal 91354184dc
Merge pull request #7825 from SiliconLabs/siliconlabs-qspi
Silicon Labs QSPI HAL implementation
2018-08-27 13:51:38 -05:00
Cruz Monrreal 1b051c7687
Merge pull request #7402 from kegilbert/mem-tracing-config-patch
Replace mbed_mem_tracing_enabled macro with config option
2018-08-27 10:34:24 -05:00
Amanda Butler 940c4b891d
Copy edit requested section of README.md
Copy edit for active voice, inclusion of articles and U.S. spelling.
2018-08-27 10:18:36 -05:00
Deepika 4e263b17b9 Refactor circular buffer test to platform folder 2018-08-27 09:33:07 -05:00
Jarno Lamsa 0c758b9ee1 Add tests for synchronous dns 2018-08-27 15:05:41 +03:00
Martin Kojtal a24cecfc94
Merge pull request #7805 from jamesbeyond/fm_test
Skip Greentea tests for Mbed OS code coverage on Fast Models
2018-08-27 10:39:43 +02:00
Martin Kojtal ce28c91405
Merge pull request #7534 from bentcooke/mote_L152_en_os5
enable MOTE_L152 for OS5
2018-08-27 10:27:36 +02:00
Steven 845a5beb30 Initial commit of Silicon Labs QSPI HAL implementation
* For EFM32GG11, since that is the only Silicon Labs target with QSPI per today
* Verified working using the on-board flash and tests-mbed_hal-qspi
2018-08-27 10:03:08 +02:00
Przemyslaw Stekiel 6a5062c5e3 Adapt `tests-mbedmicro-rtos-mbed-mutex` test - use new void unlock(void) function 2018-08-27 08:50:00 +02:00
Przemyslaw Stekiel f65bba9a23 Adapt `tests-mbedmicro-rtos-mbed-mutex` test - use new lock(void) function instead of deprecated one. 2018-08-27 08:48:59 +02:00
Russ Butler c3f5b64b79 Remove double free RTOS tests
Remove the double free RTOS tests since this was never defined
behavior of CMSIS-RTOS. This allows testing to pass.

The RTX commit which caused this test to start failing is:
c3b123ef4256f65537e2597af475fc20ec9a383e
RTX5: updated MemoryPoolFree (removed count check) [SDCMSIS-801]

Note - Double freeing an element from a memory pool was never safe.
The error return value when double freeing was misleading since memory
corruption may still be occurring in that case. For more information
on this see SDCMSIS-801.
2018-08-26 12:54:32 -05:00
Cruz Monrreal 5ffcc01be1
Merge pull request #7812 from mikaleppanen/greentea_def_interf
Update greentea tests to use default interface
2018-08-24 19:31:00 -05:00
Maciej Bocianski 9a41043c0b adjust hal QSPI test to new pin names 2018-08-24 12:40:59 +02:00
Mika Leppänen fef021810e Added greentea tests for network interface status and connect/disconnect
Added tests:
NETWORKINTERFACE_STATUS
NETWORKINTERFACE_STATUS_NONBLOCK
NETWORKINTERFACE_STATUS_GET
NETWORKINTERFACE_CONN_DISC_REPEAT
2018-08-24 13:21:48 +03:00
Juha Ylinen 4a66eb6bb1 Update Greentea EMAC tests
Increase timeout for EMAC tests. Old timeout (600 seconds) was not
enough for slower devices to complete the tests.

Check that connection was successful when running test case
emac_test_initialize.
2018-08-24 12:55:04 +03:00
Martin Kojtal 812c6d5c88
Merge pull request #7783 from maciejbocianski/feature-qspi_merging
merge QSPI feature branch
2018-08-24 10:50:18 +02:00
Qinghao Shi c9ac4868ac move test skipping macro for FastModels to top of the test 2018-08-23 22:30:55 +01:00
Cruz Monrreal deb905da1d
Merge pull request #7815 from donatieng/shared_ptr
Re-add Shared Pointer Class into platform features
2018-08-23 10:09:02 -05:00
Cruz Monrreal e530939f47
Merge pull request #7744 from davidsaada/david_threads_test_fix
RTOS threads test: Handle out of memory cases
2018-08-23 10:08:39 -05:00
Ben Cooke 42a49a5022 Increase max func exec time to allow slower sys clock 2018-08-22 11:49:26 -05:00
Qinghao Shi 0ad1934f32 move test skipping macro to case array section 2018-08-22 17:48:03 +01:00
Maciej Bocianski 883ea2f1d1 astyle fixes on QSPI API/driver/tests 2018-08-22 15:02:15 +02:00
Maciej Bocianski c94f22c7ad mbed_hal-qspi test code refactoring after PR 7783 review
- refactoring of status/config register logging code,
- make QspiCommand a class,
2018-08-22 15:02:14 +02:00
Maciej Bocianski e6923342ef hal-qspi test: add F413ZH support 2018-08-22 15:02:12 +02:00
Maciej Bocianski 948d1a3013 hal-qspi test: code refactoring 2018-08-22 15:02:12 +02:00
Maciej Bocianski 893cf2a5f5 hal-qspi_test: remove STM workaround
after feature-qspi branch rebase, everything works fine and workaround is not needed anymore
2018-08-22 15:02:10 +02:00
Maciej Bocianski e5e05df66c hal-qspi test: fix QSPI preprocessor guard 2018-08-22 15:02:07 +02:00
Maciej Bocianski de46a547fa hal-qspi test refactoring
Main idea of introduced changes is to ease adding support for new flash chips
Major changes:
- move implementation of all memory chip specific functions to memory config file (no weak functions)
- add support for 1-2-2 write
2018-08-22 15:02:06 +02:00
Maciej Bocianski 443273785f add hal-qspi test 2018-08-22 15:02:06 +02:00
deepikabhavnani 986411ccb0 Add thread safety to CRC class
Thread safety is added to serialize the hardware CRC and will not
impact the software CRC.
2018-08-21 15:26:05 -05:00
Cruz Monrreal e02466a77a
Merge pull request #7524 from c1728p9/tickless_fix
Fixes for tickless and LPTICKER_DELAY_TICKS
2018-08-21 10:03:41 -05:00
Cruz Monrreal c10ad7f544
Merge pull request #7212 from davidsaada/david_flashiap_test_small_flash
FlashIAP & NVStore tests: Skip test if overwriting code in flash
2018-08-21 09:41:51 -05:00
Mika Leppänen 93eb0c2872 Fixed emac test function parameter errors 2018-08-21 10:55:49 +03:00
Mika Leppänen 06302cb10e Set greentea wifi tests to set channel back to any after channel tests 2018-08-21 10:55:49 +03:00
Mika Leppänen 970a21fa9a Updated greentea Wifi tests to use default interface 2018-08-21 10:55:49 +03:00
Mika Leppänen 3c03feff08 Updated greentea UDP tests to use default interface 2018-08-21 10:55:49 +03:00
Mika Leppänen 3f47963aff Updated greentea TCP tests to use default interface 2018-08-21 10:55:49 +03:00
Mika Leppänen aa80d6d14b Updated greentea DNS tests to use default interface 2018-08-21 10:55:49 +03:00
Mika Leppänen 5fa2edc73f Updated greentea EMAC tests to use default interface 2018-08-21 10:55:49 +03:00
Donatien Garnier 3c599feee7 Add Greentea tests for shared pointer 2018-08-20 18:49:26 +01:00
Russ Butler 00b8e24446 Fix rollover handling in ticker frequency test
To handle timer rollovers the test tests-mbed_hal-common_tickers_freq
calls intf->set_interrupt(0). For this to work correctly the ticker
implementation must fire an interrupt on every rollover event though
intf->set_interrupt(0) was called only once. Whether an interrupt will
fire only once or multiple times is undefined behavior which
cannot be relied upon.

To avoid this undefined behavior this patch continually schedules an
interrupt and performs overflow detection on every read. This also
removes the possibility of race conditions due to overflowCounter
incrementing at the wrong time.
2018-08-17 11:59:01 -05:00
Russ Butler f68958df4e Fix tests to work with LPTICKER_DELAY_TICKS
Fix the HAL common_tickers and sleep tests so they work correctly when
the define LPTICKER_DELAY_TICKS is set.
2018-08-17 11:58:55 -05:00
Qinghao Shi 3c302d9d9b Increase the thread stack size on FastModel targets
The thread stack size was restricted due to some boards have really limited RAM sizes,
and out of heap memory on multiple threads tests.
The side effect was on the debug profile build, the tests will get stack overflow.
We need the build the test with debug profile in order to do the code coverage analysis.
So increased the thread stack size on FastModel targets.
2018-08-17 17:46:29 +01:00
Qinghao Shi 891c4ed244 Skip time drifting test on FastModels targets
FastModels targets are simulator running on the x86 hosts.
As the nature of non-RealTime x86 OS and FastModels, timing accuracy is not guaranteed
So skipping the time drifting tests on FastModel targets
2018-08-17 17:46:28 +01:00
Russ Butler 472ababfef Update deep sleep lock check in tests
When the define LPTICKER_DELAY_TICKS is set deep sleep can be randomly
disallowed when using the low power ticker. This is because a Timer
object, which locks deep sleep, is used to protect from back-to-back
writes to lp tickers which can't support that. This causes tests which
assert that deep sleep is allowed to intermittently fail.

To fix this intermittent failure this patch adds the function
sleep_manager_can_deep_sleep_test_check() which checks if deep sleep
is allowed over a duration. It updates all the tests to use
sleep_manager_can_deep_sleep_test_check() rather
than sleep_manager_can_deep_sleep() so the tests work even if deep
sleep is spuriously blocked.
2018-08-17 09:29:41 -05:00
Russ Butler 1bbf43ad38 Add test for ticker suspend and resume
Unit test the functions ticker_suspend and ticker_resume.
2018-08-17 09:29:40 -05:00
Cruz Monrreal 3c25b96441
Merge pull request #7786 from mikaleppanen/dns_repeat_to_ext
Moved ASYNCHRONOUS_DNS_SIMULTANEOUS_REPEAT under mbed extended tests
2018-08-16 17:57:36 -05:00
David Saada 876b5f755b FlashIAP & NVStore tests: Skip test if overwriting code in flash. 2018-08-16 21:59:45 +03:00
Cruz Monrreal 3795d394e5
Merge pull request #7741 from mprse/disable_ticker_free_tests
tests-mbed_hal-common_tickers: disable ticker free test cases.
2018-08-16 09:07:09 -05:00
Seppo Takalo 0bb791ed0d Add Socket test plan
I'm submitting a test plan for Mbed OS sockets, so that we have
reference that describes wanted behaviour, required test environment,
and priorities of test cases.

This servers as a both documentation and specification. It needs to live
with source code, as opposed to Handbook, because it will be extend, modified
and fixed for faster cycle than what should be done for Handbook.

Part of this document (How to run -section) will be submitted to Handbook
with links to this.
2018-08-16 13:13:47 +03:00
Nir Sonnenschein 2b8eb5ec0e
Merge pull request #7752 from maciejbocianski/timer_test_fix
tests-mbed_drivers-timer: change delay method
2018-08-14 19:42:43 +03:00
Mika Leppänen 199244cf9c Moved ASYNCHRONOUS_DNS_SIMULTANEOUS_REPEAT under mbed extended tests
Test is giving problems in some networks. Could be that DNS server
is regarding repeated DNS enquiries on the test to be caused by
malfunctioning device.
2018-08-14 10:21:48 +03:00
Maciej Bocianski efe9e44208 tests-mbed_drivers-timer: change delay method 2018-08-10 09:52:07 +02:00
David Saada 75bc3d36cc RTOS threads test: Handle out of memory cases 2018-08-09 17:32:48 +03:00
Przemyslaw Stekiel 20f3d87283 tests-mbed_hal-common_tickers: disable ticker free test cases.
This is solution to issue #7724.

Ticker free tests have been removed since ticker free function has been implemented only for CI boards.
Implementation for the remaining platforms will be done on feature branch feature-hal-ticker-free.
2018-08-09 14:27:05 +02:00
jeromecoutant f532159b61 Timeout tests : unstable result
RTX waits, such as sem.wait(N), delays for between N-1 and N cycles.
As lp_ticker is not so accurate as us_ticker,
sometines, wait is expiring just before the lp_timeout.
2018-08-09 10:13:17 +02:00
kegilbert 9b53d1256f Replace mbed_mem_tracing_enabled macro with config option 2018-08-06 13:44:12 -05:00
Martin Kojtal 5f3923250c crc test: manual fix cases
Leave as it is for readability
2018-08-03 11:24:31 +01:00
Martin Kojtal e52bb68f93 tests: astyle fix
All tests should comply to our coding standard now
2018-08-03 10:23:38 +01:00
Cruz Monrreal 8f7024a226
Merge pull request #7383 from davidsaada/david_flashiap_timing_test
FlashIAP: Add timing test
2018-08-02 23:08:54 -05:00
Cruz Monrreal ae40a09036
Merge pull request #7508 from mprse/ticker_free
Ticker free() - requirements, pseudo code, tests, implementation
2018-08-02 23:05:14 -05:00
David Saada 7cf5b3a008 FlashIAP: Add timing test 2018-08-02 18:39:07 +03:00
Przemyslaw Stekiel 2fe6b98922 tests-mbed_hal-common_tickers: use low level ticker API for time measuring.
In `ticker speed` test case execution time of ticker API functions is measured using Timer object. Test replaces original ticker handler for testing purposes, so test should not relay on higher level ticker based features(like Timer).
Use low level ticker API for time measuring.
2018-08-02 15:24:29 +02:00
Przemyslaw Stekiel 6eb66ccd7a TESTS-MBEDMICRO-RTOS-MBED-SYSTIMER: include ticker_free() function in the ticker interface. 2018-08-02 09:48:36 +02:00
Przemyslaw Stekiel 6874fde3d3 TESTS-MBED_DRIVERS-TIMER: include ticker_free() function in the ticker interface. 2018-08-02 09:48:36 +02:00
Martin Kojtal d5f70f0d21
Merge pull request #7465 from davidsaada/david_tests_not_enough_memory
Skip a few tests if not enough memory can be allocated for them
2018-08-01 15:03:45 +02:00
Mika Leppänen d35f5b08ec Removed device emac check from emac greentea tests
DEVICE_EMAC is defined only for boards with default Ethernet emac.
It is not defined for example for Realtek RTL8195AM board that
does not have Ethernet. Removed the check for device emac from emac
greentea tests.
2018-07-31 13:18:17 +03:00
Cruz Monrreal 5d4f636bb1
Merge pull request #7578 from VeijoPesonen/conn_failure_tolerance
Makes Greentea TCP test cases to timeout less in connection errors
2018-07-26 10:29:48 -05:00
Veijo Pesonen dd6ec037d7 Makes Greentea TCP test cases to timeout less in connection errors
Made to prevent timeout if a single test case fails. The goal is that
each test case might wait only half of the remaining time reserved for
running TCP test cases.
2018-07-26 09:39:04 +03:00
Przemyslaw Stekiel 239ce02142 tests-mbed_hal-common_tickers: add ticker_free() functional tests. 2018-07-25 08:54:51 +02:00
Cruz Monrreal a252e5ed96
Merge pull request #7530 from jeromecoutant/PR_RTOS_TICKLESS
RTOS SYSTIMER test error in TICKLESS mode
2018-07-23 10:13:50 -05:00
jeromecoutant 2550f3d09e Systimer test : compilation error with MBED_TICKLESS
Issue occurs when "MBED_TICKLESS" is added in mbed_app.json,
not when "MBED_TICKLESS" is added in targets.json
2018-07-19 15:50:16 +02:00
ccli8 49fe946b74 Fix some targets fail to pass ticker overflow test
In mbed-os-tests-mbed_hal-common_tickers/Microsecond ticker overflow test, some targets
would fail to catch specified ticker value near overflow in time and so fail. This commit
alleviates the issue by checking ticker value range rather than one exact ticker value near
overflow.
2018-07-19 10:05:16 +08:00
Cruz Monrreal e9e1ff997d
Merge pull request #7302 from OpenNuvoton/nuvoton_m2351_v1.1
Support Nuvoton's NUMAKER_PFM_M2351 target
2018-07-18 08:49:55 -05:00
Jimmy Brisson e9d56092c4 Remove unused storage api test 2018-07-16 14:12:00 -05:00
David Saada a224ca764a Skip a few tests if not enough memory can be allocated for them. 2018-07-16 17:21:21 +03:00
Cruz Monrreal 56dd4bfb24
Merge pull request #7436 from deepikabhavnani/update_sys
Update stats to fetch Mbed OS version info
2018-07-14 06:29:22 -05:00
Cruz Monrreal def1ef2390
Merge pull request #7494 from mprse/lp_ticker_deep_sleep_delay_fix
tests-mbed_hal-lp_ticker: change implementation of the delay before deep-sleep.
2018-07-13 17:33:55 -05:00
Deepika b05d105493 Update stats to fetch Mbed OS version info 2018-07-13 11:58:49 -05:00
Przemyslaw Stekiel 832e8b3f36 tests-mbed_hal-lp_ticker: change implementation of the delay before deep-sleep.
Serial buffer must be flushed before entering deep sleep mode. In the test this is done by the additional delay which is implemented on the busy loop which decrements given value down to 0 (`void wait_cycles(volatile unsigned int cycles)`). This solution is not appropriate since it is very target specific and the cycles value has been already increased few times. Additionally very big number of loop cycles which is suitable for fast targets may take much longer on slower boards and results in test timeout.
It has been verified that 20ms is sufficient delay for the green-tea transmission. In this test we cannot simply use `wait_ms(20)` since this potentially may put board to sleep and wake up using lp ticker. The test re-initialzies the lp ticker(disables ticker interrupt) and this operation may break the schedule and time tracing by the upper layer. But we can use us ticker which is not affected by this test. The solution is to add a delay routine based on busy loop and us ticker only. This way are able to wait exactly 20 ms.
2018-07-12 13:29:13 +02:00
ccli8 43b98cf405 Fix Greentea test code with Cortex-M23/M33
Enlarge stack size of forked thread for Cortex-M23/M33 targets
2018-07-12 18:01:27 +08:00
Przemyslaw Stekiel b1b4f6e2ad tests-mbed_drivers-lp_timer: change delay method
The test sometimes fails on NRF51_DK (test case: "Test: LowPowerTimer - time measurement 1 ms.") in morph tests.

The test verifies if LowPowerTimer class correctly counts elapsed time. Sometimes we got measured ~1600 us for delay 1000 us (delta 550 us).
The delay is performed using `wait_us()` function which for delays greater than or equal to 1 ms (our case) calls `Thread::wait((uint32_t)ms);`. This causes rescheduling and potentially can put board into sleep (deep sleep mode is disabled by `wait_us()`). For our test purposes we don't need rescheduling/sleep since this actions takes extra time and have influence on the time measurement accuracy.
The solution is to implement function for delay which is based on busy loop and uses us ticker. It has been verified that this solves the problem. With this fix when measurement of 1 ms is repeated 1000 times we got usually measured time equal to ~1080 us, and sometimes ~1300us (checked that this is caused by systick interrupt handling). Since this is test for drivers layer and the results are acceptable I decided to not disabling systick in the test).
2018-07-11 11:44:27 +02:00
Cruz Monrreal 93233c4f5d
Merge pull request #7364 from 0xc0170/fix_storage_rtos
Fix storage rtos types - remove including internal header file
2018-07-05 14:29:46 -05:00
Cruz Monrreal a2376f0d3b
Merge pull request #7342 from maciejbocianski/kernel_tick_count_test
Add kernel ticker test
2018-07-05 10:36:58 -05:00
Maciej Bocianski cc6f4c5a66 add kernel ticker test 2018-07-02 13:48:06 +02:00
Martin Kojtal dd332471a8 test: fix os tick linkage
os_tick header file is C only, mangling would cause problems here
2018-06-29 11:43:26 +01:00
Martin Kojtal fcadf0b4f7 tests: fix internal symbols from RTX
As we do not include rtx_lib header file anymore, these symbols are not available.
Use core util for if ISR is active. And for OS tick, pull in os_tick header file.
2018-06-29 11:43:25 +01:00
Martin Kojtal df821aa483 test: fix thread storage size 2018-06-28 15:12:24 +01:00
ccli8 b18f690b39 Fix Greentea test code
Mark mbed-os-tests-mbed_hal-common_tickers/time_cpu_cycles not in-lined.
Otherwise, time_cpu_cycles may be in-lined somewhere and takes different
CPU cycles on invocation.
2018-06-26 13:47:24 +08:00
Cruz Monrreal ea47342f81
Merge pull request #7214 from SenRamakri/sen_ErrorOptimAndConfig
Error handling configuration updates and Optimization for exception handling
2018-06-25 10:10:49 -05:00
Cruz Monrreal 1087c0a959
Merge pull request #7283 from juhaylinen/update-greentea-tests
Update Greentea netsocket and wifi tests
2018-06-21 10:05:26 -05:00
ccli8 9416a32636 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-21 15:55:14 +08:00
Juha Ylinen 3c32b3ada7 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-21 09:01:15 +03:00
Senthil Ramakrishnan baa44eb3f2 Limit error filename capture to 64 chars, wrapping tests with right configs and astyle fixes. 2018-06-20 11:56:32 -05:00
Senthil Ramakrishnan cbb12e326d 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-20 11:56:31 -05:00
Cruz Monrreal 7b7dfc634b
Merge pull request #7216 from mikaleppanen/gt_async_dns
Asynchronous DNS greentea tests
2018-06-19 21:47:18 -05:00
Martin Kojtal 19c795c312
Merge pull request #7224 from OpenNuvoton/nuvoton_fix_greentea_deepsleep
Fix Greentea test code with deepsleep
2018-06-19 14:24:09 +02:00
Mika Leppänen ef14f549e4 Asynchronous DNS greentea tests
Added tests for asynchronous DNS.
2018-06-19 11:18:22 +03:00
ccli8 39a6fa9609 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-19 09:23:53 +08:00
Cruz Monrreal f54067d6c2
Merge pull request #7208 from mikaleppanen/add_long_emac_echo_test
Added long echo sequence test to EMAC tests
2018-06-18 10:08:13 -05:00
Cruz Monrreal bfb43799af
Merge pull request #7209 from jarlamsa/udpsocket_echo_packetloss
Tolerate packet loss up to 30% in udp echo tests
2018-06-15 10:20:44 -05:00
Anna Bridge d66dfcb13a
Merge pull request #7036 from maciejbocianski/hal_ticker_feature_merging
tests-mbed_hal-sleep fix
2018-06-15 12:12:31 +01:00
Anna Bridge 245a9aab4b
Merge pull request #7128 from davidsaada/david_lpc_flash_api_fix
Fix flash_program_page API in LPC boards.
2018-06-15 11:15:23 +01:00
Cruz Monrreal 8d88bb0ba5
Merge pull request #7202 from ARMmbed/cmonr-patch-error_handling-test
Corrected casting issue with an assert within the error_handling test
2018-06-14 19:22:38 -05:00
Jarno Lamsa 6bdefd3041 Tolerate packet loss up to 30% in udp echo tests 2018-06-14 10:16:26 +03:00
Cruz Monrreal e93aaabff3
Only exclude RTOS-specifc tests in error_handling
Allows for other tests to run if no RTOS is present.
2018-06-13 10:33:37 -05:00
Cruz Monrreal 5fe241bac9
Wrapped test around MBED_CONF_RTOS_PRESENT
Wrapping a #define to prevent test from being run when no RTOS is present.
2018-06-13 09:28:53 -05:00
Cruz Monrreal 0a528ff558
Merge pull request #6831 from mprse/hal_crc_test
Add HAL CRC test and header file
2018-06-13 08:47:11 -05:00
Cruz Monrreal 6999d25f4d
Merge pull request #6935 from maciejbocianski/ticker_test_fix
ticker test improvement
2018-06-13 08:46:41 -05:00
Mika Leppänen 0334cd1679 Added long echo sequence test to EMAC tests
Test echoes 50000 random length ethernet frames between CTP echo
server and device.
2018-06-13 16:22:41 +03:00
Cruz Monrreal 6fa560930c
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-12 22:09:51 -05:00
David Saada 9e5efbcfd5 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-12 15:09:05 +03:00
Cruz Monrreal 10b859779d
Merge pull request #7103 from mikaleppanen/test_updat_lpc17xx
Greentea test updated for NXP lpc17xx
2018-06-11 08:55:20 -05:00
Maciej Bocianski 53548e212b 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-11 10:07:34 +02:00
Maciej Bocianski 27bf6cff4f 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-08 15:37:59 +02:00
Przemyslaw Stekiel 511f3703c3 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-07 15:06:24 +02:00
Juha Ylinen 44ce63e586 Add targets to Greentea EMAC tests
Update test configuration file for WicedInterface
2018-06-07 12:11:38 +03:00
Przemyslaw Stekiel 1eed0b960d Add HAL CRC test and test header file. 2018-06-07 10:17:21 +02:00
Martin Kojtal eddaa8b51b
Merge pull request #6515 from marcemmers/mbed_ticker_api
Only schedule mbed_ticker interrupt if queue->head is changed
2018-06-05 14:14:52 +02:00
Maciej Bocianski fb28c41be1 enable HAL sleep test 2018-06-05 06:56:48 +02:00
Maciej Bocianski 0ed26e58a0 HAL sleep test fix
Prevents ticker upper layer initialization during test execution
2018-06-05 06:56:47 +02:00
Cruz Monrreal 583d77f04d
Merge pull request #7070 from ithinuel/increase_tolerance_for_systick_less_devices
set the tolerance to 5% if NO_SYSTICK is enabled
2018-06-04 10:42:04 -05:00
Mika Leppänen 35f064fc69 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-04 13:51:32 +03:00
Mika Leppänen 9095b037aa 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-04 13:51:16 +03:00
Cruz Monrreal 52cb119571
Merge pull request #7059 from deepikabhavnani/os_verison_fix
OS version not update in mbed_stats
2018-05-31 12:54:52 -05:00
Cruz Monrreal 26b5f9782f
Merge pull request #7005 from kivaisan/loraradio_tests
Lora: Add greentea tests for LoRaRadio API
2018-05-31 10:12:05 -05:00
Wilfried Chauveau 3745c73e91 set the tolerance to 5% if NO_SYSTICK is enabled 2018-05-31 13:05:37 +01:00
deepikabhavnani d764a7c627 OS version is not available in code, need a fix for this in next patch release 2018-05-30 08:57:47 -05:00
Marc Emmers 046cf1dc58 Ticker test: Add ticker_irq_handler call because the time reaching the previous interrupt_timestamp would have triggered one anyway 2018-05-30 11:36:21 +02:00
Veijo Pesonen 3e6bc32df6 Makes UDPSOCKET_SENDTO_INVALID part of the netsocket extended test set 2018-05-30 12:17:53 +03:00
Kimmo Vaisanen 4ba82c0892 Lora: Add greentea tests for LoRaRadio API
This LoRaRadio test set adds basic tests which can be run with a single HW.
2018-05-29 15:00:49 +03:00
Przemyslaw Stekiel 12be24c98c 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-05-28 12:39:09 +02: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
Przemyslaw Stekiel 79f219bb3d tests-mbed_drivers-timer: Adapt tolerance for new Ticker driver
Since this change concerns new ticker driver for NRF51_DK it goas on ticker feature branch.

On this branch us ticker is based on 1 MHz higher precision counter (on master is based on 32kHz RTC). As a result of using higher precision counter measurement error increased:
:485::FAIL: Expected 1.060000 Was 1.070478

For delay 1060 ms we measured ~1070 ms so we have about ~1% measurement error which is not bed for this board.

To make it work with 1MHz us ticker increase test tolerance. Define tolerance as follows:
tolerance  = 500us + 0.02 * delay.
2018-05-25 12:29:55 -05:00
Przemyslaw Stekiel b524a7f8d9 tests-mbed_drivers-lp_ticker: Adapt tolerance for new Ticker driver
Since this change concerns new ticker driver for NRF51_DK it goas on ticker feature branch.

On master NRF51_DK Ticker driver uses 32kHz RTC for lp and us ticker. Test uses us ticker to measure lp ticker interrupt scheduling (LowPowerTicker.attach), but since the same hardware is used for both tickers the measurement error is constant. On this branch us ticker uses 1 MHz higher precision clock and the results are different - measurement error grows linearly and shows inaccuracy of the RTC.
Test implements constant delta for measured time equal to 2000 us.

Change delta so it depends on lp ticker tested timeout value:
500us for measurement inaccuracy + 5% tolerance for LowPowerTicker
2018-05-25 12:29:54 -05:00
Przemyslaw Stekiel 8979212b78 tests-mbed_hal-lp_ticker: run sleep test only if SLEEP support is enabled. 2018-05-25 12:29:54 -05:00
Przemyslaw Stekiel 2323486bf3 tests-mbed_drivers-timerevent: perform test only if USTICKER support is enabled. 2018-05-25 12:29:54 -05:00
jeromecoutant 26313d8938 tests-mbed_hal-common_tickers_freq : correct overflowCounter value 2018-05-25 12:22:06 -05:00
jeromecoutant d2fff9cab3 tests-mbed_hal-common_tickers_freq : use unsigned long 2018-05-25 12:22:06 -05:00
Przemyslaw Stekiel ea61f9887e tests-mbed_hal-lp_ticker: Add overflow protection. 2018-05-25 12:21:16 -05:00
Russ Butler 9c2d758cda Restore ticker state after each test
Update the ticker common test to clean up after each case by restoring
the ticker IRQ handler. This allows tickers to function normally after
each case has completed.
2018-05-25 12:21:16 -05:00
jeromecoutant 69b51dffaf tests-mbed_hal-lp_ticker : increase time before deep sleep 2018-05-25 12:21:16 -05:00
Przemyslaw Stekiel 85ce887cea lp_us_tickers test: provide minor fixes after review
- count_ticks: fix counter overflow handling,
- count_ticks: use reg_cycles variable in while loop,
- increment test: reduce number of cycles for slow cores if measure process needs to be repeated (difference is greater than 1).
2018-05-25 12:20:10 -05:00
Przemyslaw Stekiel f6163a341c lp_us_tickers test: call overflow_protect function in test functions instead test setup handler.
This is done to bypass green-tea setup handler which takes additional time.
2018-05-25 12:20:10 -05:00
Przemyslaw Stekiel 8f52816bba lp_us_tickers test: fix overflow protection
On slow targets with fast high frequency tickers like NRF51_DK (16 Mhz CPU/1MHz ticker) time window for test case execution without overflow needs to be increased. Add parameter to `overflow_protect` function to be able to set different time window without overflow for us ticker and lp ticker.
2018-05-25 12:20:10 -05:00
Przemyslaw Stekiel 0ecf58f51c lp_us_tickers test: fix `increment test` for slow boards
Increment test proves that ticker counter is incremented by one.
This is done indirectly for high frequency counters where it is impossible to read 'value' and 'value + 1' in two successive ticker reads.
This check is done indirectly by counting ticker ticks elapsed during execution of N cycles of empty while loop. Unfortunately on slow boards with fast tickers like NRF51_DK(16 MHz CPU/1MHz hf ticker) it is possible that for the same N cycles measured number of elapsed ticks in two successive calls is greater than 1. This patch provides fix for such case - measure operation is repeated with the same number of cycles.
2018-05-25 12:20:10 -05:00
Bartek Szatkowski a92ff94904 Fix rebase error 2018-05-25 12:20:10 -05:00
Bartek Szatkowski ba963b4453 Rename lp_us tests to common and hf to microsecond 2018-05-25 12:20:09 -05:00
Bartek Szatkowski 6e9f04bf2f Rename DEVICE_LOWPOWERTIMER to DEVICE_LPTICKER
That's to match DEVICE_USTICKER.
2018-05-25 12:20:09 -05:00
Przemyslaw Stekiel f55f9d36fb lp_ticker test - provide lp ticker glitch test case
Test that lp ticker does not glitch backwards due to an incorrectly implemented ripple counter driver.
2018-05-25 12:18:55 -05:00
Przemyslaw Stekiel b7fdf60f29 Skip higher level ticker tests for targets with stale ticker target specific drivers.
Since target specific ticker drivers are not ready also features which uses ticker in upper layers may not work correctly and tests for these features.
We need to disable also failing higher level ticker related tests (by adding check if DEVICE_USTICKER symbol is available and raise #error [NOT_SUPPORTED] if not).

Note:
tests-mbed_drivers-rtc is new and uses us ticker to perform a delay.
2018-05-25 12:18:55 -05:00
Przemyslaw Stekiel 6d7aef6bf1 lp_us_tickers test - fix count_ticks() function to give the same results on all compilers
count_ticks() function counts ticker ticks elapsed during execution of N cycles of empty while loop.
In current version N value (cycles) is given as volatile paramater in order to disable possible compiler optimalisation.
There was a problem with measured time on different compilers and additionally results on ARM compiler were unexpected (the difference beetween measured elapsed ticks for the same number of cycles was to large). This might be caused by the memory access in order to store updated variable in memory. To fix this issue given numer of cycles has been stored into register and register is decremented (no memory access).

With this fix count_ticks(NUM_OF_CYCLES, 1) call returns 2500 +/-1 for us ticker ticks using each compiler (K64F).
2018-05-25 12:18:55 -05:00
Przemyslaw Stekiel c4cf1f1eae lp_us_tickers test - add tolerance to interrupt time.
On some platforms (e.g. K64F) different counters are used for time measurement and interrupt generation.
Because of that we should relax interrupt test case and give additional time before checking if interrupt handler has been executed.
2018-05-25 12:18:55 -05:00
Przemyslaw Stekiel e0fcce592c lp_us_tickers test - provide counter overflow protection
Since according to the ticker requirements min acceptable counter size is 12 bits (low power timer) for which max count is 4095, then all test cases must be executed in this time window.
HAL ticker layer handles overflow and it is not handled in the target ticker drivers.
2018-05-25 12:18:55 -05:00
Przemyslaw Stekiel 9d84143276 Provide fix to the implementation of ticker_overflow_test test case.
The intention was to use ticker_overflow_delta equal to 0 for low power ticker tests and ticker_overflow_delta equal to 50 for high frequency ticker tests. Current implementation is invalid since for devices which provide LOW_POWER_TIMER feature delta is equal to 0 and for devices without this feature delta is equal 50.
2018-05-25 12:17:49 -05:00
Przemyslaw Stekiel 1bd2e517a0 Modify ticker_init_test() to be consistent with the new requirement. 2018-05-25 12:17:49 -05:00
Przemyslaw Stekiel 7227670416 Skip higher level ticker tests for targets with stale ticker target specific drivers.
Since target specific ticker drivers are not ready also features which uses ticker in upper layers may not work correctly and tests for these features.
We need to disable also failing higher level ticker related tests (by adding check if DEVICE_USTICKER symbol is available and raise #error [NOT_SUPPORTED] if not).
2018-05-25 12:17:49 -05:00
Przemyslaw Stekiel c32ccf69b1 Add tests for ticker HAL API. 2018-05-25 12:04:32 -05:00
Russ Butler 03d7141797 Add documentation for the HAL Ticker API
Add documentation and test header for the HAL Ticker API.
2018-05-25 12:04:32 -05:00
Przemyslaw Stekiel 785e5d30a2 Disable `tests-mbed_drivers-timeout` test if USTICKER support is disabled (NRF52_DK). 2018-05-25 12:04:32 -05:00
Przemyslaw Stekiel 48a769dbb3 Disable `tests-mbed_drivers-timerevent` test if USTICKER support is disabled. 2018-05-25 12:04:32 -05:00
Przemyslaw Stekiel 2b7d7a822b tests-mbedmicro-rtos-mbed-systimer: execute sleep/deepsleep test cases only when SLEEP support is enabled. 2018-05-25 12:04:32 -05:00
Przemyslaw Stekiel f226ae2fc9 tests-mbed_hal-sleep: decrease delay when testing if us ticker is disabled in deep-sleep mode.
This is done because of possible limitations of lowpower ticker freq/width.
2018-05-25 12:04:32 -05:00