Commit Graph

489 Commits (093a6066c270824005cf24d6f790447613e11316)

Author SHA1 Message Date
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
Przemyslaw Stekiel 996374e4dc tests-mbed_hal-sleep: fix formatting. 2018-05-25 12:04:32 -05:00
Przemyslaw Stekiel 7f56bb0c23 tests-mbed_hal-sleep: remove unused variable. 2018-05-25 12:04:32 -05:00
Przemyslaw Stekiel 20a9da5b73 tests-mbed_hal-sleep: use lp ticker data while testing deepsleep. 2018-05-25 12:04:32 -05:00
Przemyslaw Stekiel 160c75d099 tests-mbed_hal-sleep: add lp/us ticker overflow handling. 2018-05-25 12:04:32 -05:00
Przemyslaw Stekiel 3cd3defbba Disable boards which does not fulfil new sleep standards.
These boards will be re-enabled when sleep driver for them is ready.

Note:
This operation is done by removing "SLEEP" feature from target's "device_has" list (in targets.json config file).
For NRF52_DK removing of "SLEEP" feature causes some timing issues which have influence on tests. In order to successfully disable this board we need to disable also related features like "USTICKER", "LOWPOERTIMER" and slightly modify ticker tests, so they will not be executed if usticker support is not available (by default all targets support us ticker).
2018-05-25 12:04:32 -05:00
Przemyslaw Stekiel b2d3338ad7 Add test and test header to Sleep HAL API. 2018-05-25 12:03:37 -05:00
Veijo Pesonen 491a7ea03e Fixes findings from Greentea netsocket TCP test cases 2018-05-25 09:39:36 +03:00
Veijo Pesonen 3e11a3e666 Fixes findings from Greentea netsocket UDP test cases 2018-05-25 09:39:36 +03:00
Juha Ylinen 53eb36e729 Fix Greentea WiFi test build issues 2018-05-25 09:39:36 +03:00
Veijo Pesonen 21ec972798 Switches Greentea netsocket test case naming convention
From lowercase to uppercase and drops 'test_'-prefix. Test case
descriptions do also match to TC names now.

Additionally all the TCs are not behing MBED_EXTENDED_TESTS
anymore.
2018-05-25 09:39:36 +03:00
Veijo Pesonen 1b041721a0 Fixes Greentea UDP test cases
udpsocket_echotest.cpp
	udpsocket_echotest_burst.cpp
2018-05-25 09:39:36 +03:00
Veijo Pesonen 4fa57e36fe Greentea TCP test cases - check all socket calls 2018-05-25 09:39:36 +03:00
Veijo Pesonen 1fef1602a2 Adds UDP Greentea test cases
udpsocket_echotest
	udpsocket_echotest_nonblock
2018-05-25 09:39:36 +03:00
Veijo Pesonen a2f5ffa752 Adds UDP Greentea test case
udpsocket_sendto_repeat
2018-05-25 09:39:35 +03:00
Veijo Pesonen 19335741df Adds TCP test case
tcpsocket_send_repeat
2018-05-25 09:39:35 +03:00
Veijo Pesonen 096ed1e451 Adds UDP Greentea test case
udpsocket_sendto_invalid
2018-05-25 09:39:35 +03:00
Veijo Pesonen 420459b8de Removes obsolete TCP and UDP Greentea test cases 2018-05-25 09:39:35 +03:00
Veijo Pesonen aee6b06e0c Adds TCP test case
tcpsocket_echotest
	tcpsocket_echotest_nonblock
2018-05-25 09:38:23 +03:00
Veijo Pesonen df825cb3f9 Adds TCP test case
tcpsocket_connect_invalid
2018-05-25 09:38:23 +03:00
Veijo Pesonen 38b8865bcc Adds TCP and UDP test cases
tcpsocket_open_close_repeat
	udpsocket_open_close_repeat
2018-05-25 09:35:14 +03:00
Veijo Pesonen c86bf1acd0 Adds more TCP and UDP test cases
Adds TCP and UDP test cases

        tcpsocket_open_limit
        udpsocket_open_limit
2018-05-25 09:35:14 +03:00
Juha Ylinen 8e81d0153a Update Greentea WiFi tests
Use similar network interface configuration as used in netsocket tests
Improve test coverage
2018-05-25 09:35:14 +03:00
Veijo Pesonen f04f7c1773 Starts adding more TCP and UDP performance tests
Starts splitting Greentea test suites to TCP and UDP suites and adds
more test cases like

	tcpsocket_echotest_burst
	tcpsocket_echotest_burst_nonblock
	tcpsocket_endpoint_close
	tcpsocket_recv_100k
	tcpsocket_recv_100k
	tcpsocket_recv_timeout
	tcpsocket_send_timeout
	tcpsocket_thread_per_socket_safety
	udpsocket_echotest_burst
	udpsocket_echotest_burst_nonblock
	udpsocket_recv_timeout
	udpsocket_sendto_timeout
2018-05-25 09:35:14 +03:00
Veijo Pesonen 2f410b0ce2 Rely on ARM's and U-Blox's echo servers
Make the server as default. Use the hostnames instead of plain IP addresses.
2018-05-25 09:35:14 +03:00
Cruz Monrreal 527f9a12fd
Merge pull request #6983 from SenRamakri/sen_ErrorHandling_Push2
Standardized Error Handling and Error Codes
2018-05-24 10:57:00 -05:00
Kevin Bracey 13dcef63e3
Merge pull request #6847 from ARMmbed/feature-emac
Merge feature-emac branch into master
2018-05-24 16:47:04 +03:00
deepikabhavnani ea356a6e8c Increased wait time to allow device to sleep
With small wait time at the start, chances are that device does not
enter sleep and idle time is zero. Increasing wait time to make sure
device goes to sleep.
2018-05-23 15:06:17 -05:00
Senthil Ramakrishnan 5ef6728c08 Splitting MBED_ERROR macros to support ones with/without error value argument 2018-05-23 12:21:28 -05:00
Senthil Ramakrishnan 693a6c40bb Refactor error reporting 2018-05-23 12:21:11 -05:00
Senthil Ramakrishnan d4fe75731d Adding mbed prefixes to all macros and functions to avoid namespace conflicts 2018-05-23 12:21:10 -05:00
Senthil Ramakrishnan 147d9cac4e Test application/cases optimization for some low memory targets, macro changes and test fixes 2018-05-23 12:21:10 -05:00
Senthil Ramakrishnan f9c25612ae Fix test failures when trap errors are enabled and other fixes 2018-05-23 12:21:10 -05:00
Senthil Ramakrishnan cbfc06577b Fixes to align with naming conventions 2018-05-23 12:21:09 -05:00
Senthil Ramakrishnan 92df68b1ea Changed variable names for registers to avoid namespace conflicts, build fixes, macros and other fixes 2018-05-23 12:21:09 -05:00
Senthil Ramakrishnan 2e28dd95e1 Change set_error/set_error_fatal to warning/error, add itm support and other changes 2018-05-23 12:21:08 -05:00
Senthil Ramakrishnan 839fef0ad1 Added more tests for error log and error reporting, updated doxygen comments 2018-05-23 12:21:07 -05:00
Senthil Ramakrishnan 9041b475c6 Error handling/logging implementation and tests 2018-05-23 12:21:07 -05:00
Asif Rizwan 657ac3f643 WIFI_EMAC class renamed to OdinWiFiEMAC, Formatting
Revert "in ODIN emac initialization required before connection"
2018-05-23 12:25:21 +03:00
Mika Leppänen fd2c6ba12b Removed EMAC get default instance from EMAC tests
Test environment now uses the EMAC defined by add ethernet interface.
2018-05-23 12:25:20 +03:00
Asif Rizwan 717abf20aa in ODIN emac initialization required before connection 2018-05-23 12:25:19 +03:00
Michael Zhang 162a8c0a00 add-rtl8195am-feature-emac (#6904)
rtl8195am feature emac implementation.
2018-05-23 12:25:18 +03:00
Mika Leppänen e481c5ef75 Added memory manager set to add_ethernet_interface() of test stack
This allows that EMAC memory manager can be used to allocate EMAC driver
memory already after the add_ethernet_interface() call.
2018-05-23 12:24:11 +03:00
Amanda Butler 26f369919b Copy edit README.md
Copy edit changes to README.md, mostly for active voice, consistent tense across docs and style.
2018-05-23 12:24:08 +03:00
Mika Leppänen 026af3a72e Updated emac greentea tests
- Improved markdown
- Set tests to fail if CTP echo server is not present
2018-05-23 12:24:08 +03:00
Mika Leppänen d9a66f1c54 Updated non-blocking connect changes to EMAC greentea test server 2018-05-23 12:24:08 +03:00
Mika Leppänen c1c69be10b Made feature-emac changes to emac greentea tests default code
Removed flagging of the new/old code.
2018-05-23 12:24:05 +03:00
Mika Leppänen 7aebda7a0f Emac greentea tests for feature-emac 2018-05-23 12:24:05 +03:00
Kevin Bracey f584ac3b59 Connectivity test: don't create interface object twice 2018-05-23 12:24:00 +03:00
Martin Kojtal 5d027f4e27
Merge pull request #6857 from deepikabhavnani/cpu_stats
CPU Statistics
2018-05-22 14:30:21 +02:00
Cruz Monrreal 97b1615dcc
Merge pull request #6821 from deepikabhavnani/system_stats
System stats - API addition
2018-05-21 10:16:59 -05:00
Cruz Monrreal 86d04d7b15
Merge pull request #6901 from kivaisan/eventqueue_time_left
events: Introduce API to query how much time is left for delayed event
2018-05-21 10:12:13 -05:00
Kimmo Vaisanen 990da085d9 Introduce API to query how much time is left for delayed event
If user has initiated a delayed event (either with call_in or call_every),
user might need to know how much time is left until the event is
due to be dispatched.

Added time_left() function can be used to get the remaining time.
2018-05-18 12:55:06 +03:00
Deepika 25e2b8838a Added additional read to care of lazyily initialized timer 2018-05-17 10:25:31 -05:00
Cruz Monrreal 77f5c4ac04
Merge pull request #6749 from AndrzejKurek/feature-mbedtls-platform-setup
Add platform setup and teardown calls to mbedtls tests
2018-05-17 10:08:44 -05:00
Deepika 7900863c4d Updated test to not use event queue.
Test was failing on limited RAM devices, because of shared event queue size.
Updated test to use thread instead of event queue.
2018-05-16 14:26:08 -05:00
Deepika 029237b683 Addressed review comments
1. LP ticker limiation note
2. Use read_us in mbed_uptime function
3. Doxygen recommendations
4. Use us_timestamp_t instead uint64_t
5. Astyle changes
2018-05-15 11:36:08 -05:00
deepikabhavnani 3420ff7f9c CPU statistics addition
API to get CPU stats like sleep/deepsleep time, uptime and idle time.
These can be used by application to know the CPU Usage runtime.
2018-05-15 11:20:52 -05:00
Deepika 1961428c1b OS version added + CPUID for cortex-M only
CPUID base register is available for Cortex-M processors only.
Cortex-A devices have Main ID Register, which can be used in future to
get processor info.
2018-05-15 10:22:13 -05:00
deepikabhavnani 40021eb176 Added test for mbed_stats_sys_get() API 2018-05-15 10:17:44 -05:00
Cruz Monrreal 46c1e94fc5
Merge pull request #6795 from deepikabhavnani/thread_stats
Thread stats API
2018-05-15 10:08:05 -05:00
Cruz Monrreal 15ff9a8bf7
Merge pull request #6864 from davidsaada/david_flashiap_unaligned_src
FlashIAP: Fix problem of programming source buffer not aligned to 4
2018-05-14 10:35:38 -05:00
Cruz Monrreal 2104d8ab5b
Merge pull request #6711 from marcuschangarm/cleanup-nrf5x
Cleanup TARGET_NRF5 and TARGET_NRF5x
2018-05-11 19:15:05 -05:00
deepikabhavnani 97c88188d0 Cleanup
1. Enable watermark to get stack space information
2. Restructured code
3. Throw error if MBED_THREAD_STATS_ENABLED is not set
4. Astyle changes
2018-05-11 10:06:44 -05:00
deepikabhavnani f43b16ffd9 Cleaup and review comments addressed
1. Removed prefix thread_ from all elements of mbed_stats_thread_t
2. #if conditions aligned to rest of the file
2018-05-11 10:05:35 -05:00
deepikabhavnani bb8ccbd373 Checking difference in thread count + review comments 2018-05-11 10:05:33 -05:00
deepikabhavnani 1dad73949c Thread statistics addition.
API to get all system threads information and states.
2018-05-11 10:05:32 -05:00
David Saada 9cdecf4d5a FlashIAP: Fix problem of programming source buffer not aligned to uint32_t 2018-05-10 12:00:29 +03:00
Przemyslaw Stekiel 2ccc11f243 tests-mbed_drivers-rtc: Add one second tolerance in functional tests.
Currently test assumes that 1 sec is long enough to set RTC time and read same time which has been set.
In some cases extra time for synchronisation between clock domains is needed and after setting/reading operations the read value might be different than one which has been set (+1 sec).
Additionally in some cases when lp ticker is based on RTC, the RTC implementation may use mechanism to trace elapsed seconds without modifying RTC registers. In such case it is possible that second will change immediately after setting time.

Add 1 sec tolerance (min possible) for such checks.
2018-05-09 14:41:40 +02:00
Marcus Chang 1aebdcbee5 Reorganize TARGET_MCU_NRF51822_UNIFIED directories
The unified NRF51 target and feature BLE directories have been
reorganized to follow the naming and directory structure of the
NRF52 implementation.

This reorganization does not include TARGET_MCU_NRF51822 and
derived targets.
2018-05-08 10:10:01 -07:00
Andrzej Kurek 29515c589b Update logs and remove unnecessary defines for Mbed TLS tests 2018-05-08 12:53:29 +01:00
deepikabhavnani d43d9b134b Moved stats test to platform folder 2018-05-01 14:03:31 -05:00
Marcus Chang 5910cd7546 Re-enable flash clock test for NRF52 but with higher tolerance
The flash clock test is disabled for the NRF52 series. This change
re-enables the test but with a higher tolerance to accommodate the
high jitter on the current ticker implementation.
2018-04-26 09:33:43 -07:00
Andrzej Kurek 1938faa449 Add platform setup and teardown calls to mbedtls tests 2018-04-26 08:23:33 +01:00
Martin Kojtal 675528b6c0
Merge pull request #6534 from c1728p9/rtos_suspend
Update idle loop to reduce calls to suspend
2018-04-25 13:21:47 +01:00
Brian Daniels 631e5ebdee Modifying echo test to be driven more from the device.
Previously, the echo test followed a flow like the following:

-STEP-	-HOST PC-                  -DEVICE-
0	send _sync
1				   echo back _sync
2				   send echo_count
3	echo back echo_count
4	send first echo packet
5				   echo back echo packet
	(repeat echo steps)

However, as noted by issue #6659, this test would somtimes fail between
steps 4 and 5. To ensure each KV pair makes to the correct destination,
we usually write the KV back. Step 4 does not wait for this to happen
and starts sending echo packets. So the device is acting as the "echo
server".

This change makes the host PC the "echo server". The idea being that the
device will be slower and the host pc should always be able to keep up
with it, not the other way around.
2018-04-23 17:56:13 -05:00
Marcus Chang 60397c527e Renamed NRF52 targets for HAL critical section test 2018-04-19 09:40:41 -07:00
Filip Jagodzinski ec59cbb6f8 RTOS: SysTimer: Fix test compilation error on ARM & IAR 2018-04-17 09:38:26 -05:00
Filip Jagodzinski 20013d75d6 RTOS: SysTimer: Update tests
Use a mock ticker object instead of the lp_ticker for update_tick() and get_time() tests.
2018-04-13 10:07:00 +02:00
Russ Butler 044eb1e8ce Update the SysTimer test
Update the SysTimer test to match the updated API. Changes are:
- increment_tick() renamed to _increment_tick() and explicitly
    synchronized
-update_tick() replaced with resume() and a call to suspend() was added
    before this
2018-04-10 10:54:31 -05:00
Deepika bf0393aaa9 Added test for MbedCRC.h 2018-03-23 14:54:24 -05:00
Cruz Monrreal 9932b4c983
Merge pull request #6309 from deepikabhavnani/peek_api
Peek API to view data of buffer without popping
2018-03-22 11:28:15 -05:00
Martin Kojtal 447e96e4c8
Merge pull request #6340 from cmonr/disable-failing-flash-test
Disables flash clock and cache test
2018-03-20 18:29:19 +01:00
Cruz Monrreal II 9f6301333b Disabled flash clock and cache test for NRF52 MCUs.
This is meant to be a temporary fix until the issue has been root caused, and Jenkins CI is no longer intermittently failing.
2018-03-19 11:13:22 -05:00