Commit Graph

285 Commits (tools-release-test-cov-patterns)

Author SHA1 Message Date
Antti Kauppila bda2d37bda Unittests fixed
PRs 12051 and 11996 were merged simultaneously without running tests in between.
This caused unittests to brake and those are fixed with this commit.
2019-12-10 18:02:14 +02:00
Martin Kojtal f10e4ac04b
Merge pull request #11996 from ARMmbed/feature-cellular
Feature cellular
2019-12-10 14:54:57 +01:00
Michal Paszta fd46af67c6 Modify nsapi_dns tests to be module tests
The nsapi_dns tests were cross-class tests anyway, going through nsapi_dns and UDPSocket. Now they also include EthernetInterface and only mock the NetworkStack, which makes them the most cross-class module test we could think of in netsocket module.
2019-12-10 11:05:25 +02:00
Antti Kauppila 1cb3479d7a Fixed unittests 2019-12-09 15:25:22 +02:00
Antti Kauppila e51230c5e4 Remove CellularBase and AT_CellularBase
Removed CellularBase and AT_CellularBase from cellular stack and updated both code and unittests accordingly.

Moved property handling into AT_CellularDevice
2019-12-09 15:25:22 +02:00
Antti Kauppila aac3437a22 Cleaned up athandlertest.cpp 2019-12-09 14:09:42 +02:00
Antti Kauppila d6706d1a5f Unittest configuration mechanism improved
Earlier all unittests ended up having all flags in common from all unittest targets.
This is now improved by using googletest provided mechanism to set build time compile options
All cmake files have been modified to reflect changes (when needed)

Could not figure out a syntax for {0x00, 0x00, ..., 0x00} intitializer list yet,
so those needs to be setup by updating C/CXX flags.
2019-12-09 13:11:56 +02:00
Michal Paszta 75472d0554 Adjust mbed_assert_stub file extension to .cpp 2019-12-02 20:48:16 +02:00
Michal Paszta caf01479ea Improve doxygen and unittest coverage for API
Mainly focusing on hardening the tests for return values.
2019-12-02 20:48:10 +02:00
Michal Paszta 546fdd2596 Move OnboardNetworkStackMock to a separate file
The mock was only used by EthernetInterface tests, but we can reuse it for other tests as well.
2019-12-02 20:47:43 +02:00
Martin Kojtal ffdd54315f
Merge pull request #11941 from michalpasztamobica/remove_internal_string_apis
Remove string-based API usage within mbed-os
2019-11-28 14:26:03 +01:00
Antti Kauppila 367bae654d
Fixed crashing nsapi_dns unittest
Added missing "return" for NetworkStackMock's get_stack() method
2019-11-28 11:23:35 +02:00
Michal Paszta ea04c4f85e Remove internal usage of deprecated APIs in IPCore
Updated:
* netsocket classes,
* unittests, stubs and mocks,
* greentea tests
2019-11-27 20:02:20 +02:00
Martin Kojtal 58d6f5f39f
Merge pull request #11873 from AnttiKauppila/disable_sms
Make SMS configurable in Cellular stack
2019-11-27 09:03:55 +01:00
Martin Kojtal 7fbe0c6b41
Merge pull request #11928 from SeppoTakalo/assert_throw
Allow MBED_ASSERT to throw errors in unittests, so we can verify it.
2019-11-25 13:11:41 +01:00
Antti Kauppila 353782bf63 Disable SMS by default from Cellular stack
Put SMS behind configuration flag to save some memory (4,5kB) for Cellular users not needing SMS features.
UBlox N2XX target is also updated
2019-11-25 11:38:06 +02:00
Martin Kojtal 04ed9c5c8c
Merge pull request #11851 from amq/patch-2
Enable FAT ChaN lib configuration with mbed_lib.json
2019-11-22 13:38:56 +01:00
Seppo Takalo c54d76eddf Allow MBED_ASSERT to throw errors in unittests, so we can verify it.
GoogleTest allows you to check whether certain function throws errors.
For example:
ASSERT_ANY_THROW(mbed::HeapBlockDevice one(3050, 100));
or
ASSERT_NO_THROW(bd.init());

As MBED_ERROR is now only function that can throw errors, there is
no need to check the type of thrown object.
2019-11-22 13:10:46 +02:00
Michal Paszta fd5b4b9119 Deprecate string-based APIs in IPCore
MBED_DEPRECATE macros is added to string-based APIs.
New, non-string-based APIs are added in their place.
Wiced binaries rebuilt
Any existing stubs or mocks are adjusted to compile and run with the newly added non-string based functions.
2019-11-22 11:31:12 +02:00
amq 3eaa3e0325
Add fat_chan defines in storage unit tests cmake 2019-11-17 12:10:57 +01:00
Michal Paszta 4e5ea38d14 nsapi_dns: use delete[] for array alloc'd with new[] 2019-11-05 22:39:58 +02:00
Michal Paszta a26d2d9672 Unittests for nsapi_dns 2019-11-05 11:29:36 +02:00
Martin Kojtal 355336ce43
Merge pull request #11797 from ARMmbed/IOTSTOR-941
IOTSTOR-953: Fix address calculations from SlicingBlockDevice
2019-11-05 09:09:14 +01:00
Martin Kojtal fe940924cc
Merge pull request #11683 from AnttiKauppila/baremetal_support
Baremetal profile fixes
2019-11-04 15:53:57 +01:00
Martin Kojtal f27aec3377
Merge pull request #11279 from cy-jayasankar/pr/added-ipv6-link-local-address-api
Add API to get ipv6 link local address
2019-11-04 15:28:41 +01:00
Martin Kojtal c908404d94
Merge pull request #11783 from mirelachirica/set_baud_rate
Adding set baud rate routine
2019-11-04 15:27:02 +01:00
Seppo Takalo 333b281000 Add moduletest for SlicingBlockDevice
This uses HeapBlockDevice for providing the underlying storage block.
Check boundaries that slicingblockdevice do not overlow over to unassigned
blocks.
2019-11-04 16:13:32 +02:00
Seppo Takalo a6d8f74b09 Add unittest for HeapBlockDevice and change some MBED_ASSERTS to errors. 2019-11-04 16:12:36 +02:00
Mirela Chirica c484fc88f9 Cellular: Added set routine for baud rate 2019-11-01 17:21:31 +02:00
Antti Kauppila ac0b0f1f2c Unittests fixed 2019-11-01 15:22:28 +02:00
Jayasankar Nara cb51fa57e2 Add API to get ipv6 link local address.
Protocols like mdns requires IPv6 link local address to be advertised in its
records (AAAA record). LWIP::Interface::bringup() API is creating IPv6 link
local address;But as of now there is no API exposed by mbed-os to get the
IPv6 link local address.

This new API is required to deliver mDNS library support on mbed-os for Cypress
platforms. Unit tested it by invoking get_ipv6_link_local_address with a simple
application.
2019-11-01 03:43:36 +05:30
Balaji 2d410e3c05 Rebase the code Unittests aware of InternetDatagramSocket 2019-10-28 12:10:12 -07:00
Michal Paszta 66c4b131e2 Astyle fixes 2019-10-14 14:22:31 +03:00
Michal Paszta 1706843d7d [unittests] test for InternetSocket::close blocking
Close should not take place in case there is someone reading or writing to the socket.
2019-10-14 14:22:31 +03:00
Michal Paszta 8c3194ac4e [unittests] Improve coverage
For the following classes:
* DTLSSocket
* NetworkInterface
* TLSSocketWrapper
2019-10-14 14:22:31 +03:00
Dominika Maziec 22b6b0fddb unitests update for tcp and udp 2019-10-14 14:22:31 +03:00
Anna Bridge ad891d9658
Merge pull request #11548 from AriParkkila/cell-dns-ip
Cellular: Fix resolving of DNS server IPv4/6 address
2019-10-07 16:46:47 +01:00
Ari Parkkila 8054b8eef8 Cellular: Fix resolving of DNS server IPv4/6 address 2019-09-25 03:16:45 -07:00
Kimmo Vaisanen 6ba0efc969 Cellular: Use more specific error codes for socket open and connect
- When calling socket APIs when socket is not open, NSAPI_ERROR_NO_SOCKET will be
  returned instead of generic NSAPI_ERROR_DEVICE_ERROR

- If socket_send() is called when connection is not open, NSAPI_ERROR_NO_CONNECTION
  will be returned instead of generic NSAPI_ERROR_DEVICE_ERROR
2019-09-25 09:25:33 +03:00
Martin Kojtal d91ed5fa42
Merge pull request #11495 from kivaisan/improve_cellular_ut
Improve cellular unittests
2019-09-24 16:37:02 +02:00
Martin Kojtal 1afece7f1b
Merge pull request #11488 from kivaisan/fix_cellular_get_interface_name
Cellular: Fix get_interface_name to not include leading zero
2019-09-19 12:43:45 +02:00
Kimmo Vaisanen da77cdc52e UT for CellularDevice get/set timeouts methods 2019-09-17 12:56:47 +03:00
Kimmo Vaisanen b6ecce0bfb Add UT for AT_CellularNetwork::is_active_context 2019-09-17 12:56:47 +03:00
Kimmo Vaisanen 02de20acb6 Add UT for CEREG URC handler 2019-09-17 12:56:47 +03:00
Kimmo Vaisanen d83f52a2a1 Improve UT for cellular properties 2019-09-17 12:15:18 +03:00
Kimmo Vaisanen e824714cd8 Add UT for CellularUtil::hex_to_char and ::hex_str_to_char_str
Also added checks for pointer validity.
2019-09-17 12:15:03 +03:00
Kimmo Vaisanen 0b9e80f76e Unittests for CellularList 2019-09-17 10:45:01 +03:00
Ari Parkkila 823993e7b1 Cellular: Add flow control (IFC) in BG96 AT driver 2019-09-16 03:16:36 -07:00
Kimmo Vaisanen ab71b2dba8 Cellular: Fix get_interface_name to not include leading zero
Multihoming documentation about interface name:
"Two character name string is concatenated with 8 bit value containing index which is incremented on each netif addition"

Cellular uses context id as index and to follow LWIP (LWIP::Interface::get_interface_name), index does not include leading zeros.
2019-09-16 09:59:31 +03:00
Ari Parkkila cb20277701 Cellular: Fix BG96 power on and connect 2019-09-04 03:24:11 -07:00
Teppo Järvelin 753ba8ceb6 Cellular: fix ATHandler destructor possible crash on delete
In some multithread cases there is possibility that process_oob function
was called after ATHandler was deleted. Fix is to wait if oob processing
is ongoing.
2019-09-03 09:09:05 +03:00
Martin Kojtal 5c09ff12ac
Merge pull request #11220 from jarvte/fix_cellular_dns_test
Fix cellular dns test with IAR compiled binary
2019-08-22 10:57:22 +02:00
Martin Kojtal 0b49952b9e
Merge pull request #11249 from dextero/get-sms-zero
Make AT_CellularSMS::list_messages support index 0 in SMS inbox
2019-08-20 10:27:57 +02:00
Martin Kojtal 64fb49e4ec
Merge pull request #11169 from dmaziec1/TLSSocketWrapper_recvfrom_modified
TLSSocketWrapper::recvfrom sets SocketAddress output variable
2019-08-20 09:41:39 +02:00
Marcin Radomski ce0bb7f568 Update test_AT_CellularSMS_get_sms
0 is now a valid value
2019-08-16 14:25:29 +02:00
Teppo Järvelin 6a17d74b55 Cellular: notify global up after we have IP address
CellularContext now tries to get an IP address after connect and before
sending NSAPI_STATUS_GLOBAL_UP. Even if we don't the IP address from
the modem we will send NSAPI_STATUS_GLOBAL_UP and return success.
Modem has an ip address but for some reason some modems don't
give it to us.
2019-08-14 12:54:13 +03:00
Teppo Järvelin 3c1bf0a9e2 Cellular: moved string_to_pdp_type from AT_CellularContext to CellularUtil
string_to_pdp_type is a common method for AT and other layers.
Without moving there will be duplicate methods.
2019-08-12 10:27:57 +03:00
Dominika Maziec e9059c214c TLSSocketWrapper::recvfrom sets SocketAddress output variable
UNITTEST added. TLSSocketWrapper unittest does not use stoip4_stub anymore.
2019-08-06 15:07:39 +02:00
Ari Parkkila e1124668db Cellular: Add DNS servers from PDP contexts to nsapi_dns 2019-08-05 21:53:24 -07:00
Kevin Bracey fc8e8f67c6 Deprecate wait/wait_ms APIs 2019-07-15 10:13:50 +03:00
Martin Kojtal 7059221817
Merge pull request #10925 from AnttiKauppila/buff_size_fix
Doubled ATHandler's BUFF_SIZE
2019-07-03 11:48:02 +01:00
Martin Kojtal ccb63d771e
Merge pull request #10857 from ARMmbed/feature-watchdog
Add Watchdog and ResetReason
2019-07-03 11:43:52 +01:00
Antti Kauppila 369e2d53ff Fixed unittests 2019-07-02 10:17:06 +03:00
Anna Bridge 15b5b5da23
Merge pull request #10694 from jarvte/set_authentication_type
Cellular: add method to set authentication type to CellularContext
2019-06-21 12:19:04 +01:00
Anna Bridge 6000724de6
Merge pull request #10703 from AnttiKauppila/optimisation
Cellular: Removed boilerplate code
2019-06-19 12:06:10 +01:00
Antti Kauppila 1ed338ef28 Valgrind & unittest fixes 2019-06-13 15:15:53 +03:00
Rajkumar Kanagaraj dfe4b533c3 Update Watchdog
- Changed the process into static method
 - used the singletonptr for creating the low power ticker instance
 - Added the mbed stub into cmake build for cellularnonipsocket,loramacrypto
2019-06-03 15:31:20 +02:00
Martin Kojtal 523ad23a30
Merge pull request #10656 from jarvte/fix_cellularctx_destr
Cellular: AT_CellularContext disconnect in non-blocking mode
2019-05-31 12:35:59 +01:00
Teppo Järvelin 8922eeb014 Cellular: add method to set authentication type to CellularContext
Authentication type must be able to set. It was hard coded to CHAP.
Added unit tests for CellularContext to be able to add test for new function.
2019-05-29 09:46:15 +03:00
Kevin Bracey 2fbbd9d2ca Introduce Semaphore::acquire methods
Deprecate wait() in favour of acquire(), try_acquire(),
try_acquire_for() and try_acquire_until().

Brings Semaphore more into line with CMSIS-RTOS 2 (which uses "acquire"),
itself (as it has "release"), and other classes having "try", "try for"
and "try until".

Also steps away from vague "wait" term - the primary operation here is
to acquire the semaphore, and this will of course sleep.
2019-05-28 17:02:06 +03:00
Teppo Järvelin 779fb6defd Cellular: AT_CellularContext disconnect in non-blocking mode
Disconnect was supporting only blocking mode.
2019-05-27 12:23:29 +03:00
Teppo Järvelin d559338b3b Cellular: fix unit test valgrind warnings
Stub files did have some memory leaks and using
unintialized variables.
2019-05-21 14:23:21 +03:00
Martin Kojtal 3ea1c56124
Merge pull request #10147 from kjbracey-arm/atomic_bitwise
Assembler atomics
2019-05-13 14:18:05 +01:00
Kevin Bracey 87396e0bf6 Assembler atomics
Reimplement atomic code in inline assembly. This can improve
optimisation, and avoids potential architectural problems with using
LDREX/STREX intrinsics.

API further extended:
* Bitwise operations (fetch_and/fetch_or/fetch_xor)
* fetch_add and fetch_sub (like incr/decr, but returning old value -
  aligning with C++11)
* compare_exchange_weak
* Explicit memory order specification
* Basic freestanding template overloads for C++

This gives our existing C implementation essentially all the functionality
needed by C++11.

An actual Atomic<T> template based upon these C functions could follow.
2019-04-26 13:12:35 +03:00
Mirela Chirica 4d58e58b6b Cellular: Added UT for case when read_string buff size hits middle of stop tag 2019-04-26 12:48:26 +03:00
Cruz Monrreal d1672d0200
Merge pull request #10341 from mirelachirica/check_urc_resp_stop_1
Cellular: Check for URC during AT response stop
2019-04-09 11:05:56 -05:00
Teppo Järvelin 2470a3611c Cellular: new state machine state and better info from stm
Added new state (signal quality) and more information about progress
so application/driver can build recovery logic.
2019-04-09 13:44:45 +03:00
Mirela Chirica f100cd59c8 Cellular: Check for URC during AT response stop 2019-04-09 11:15:28 +03:00
Teppo Järvelin fe5f97895b Cellular: Fix deleting of state machine to correct class 2019-04-08 12:50:29 +03:00
Martin Kojtal 2369c12dea
Merge pull request #10269 from TeemuKultala/cellular_valgrind_fix
cellular: valgrind defect fix
2019-04-03 13:49:26 +02:00
Teemu Kultala 453d7b86af cellular: valgrind defect fix
at_cellulardevicetest.cpp: fix potential memory leak
at_cellularsmstest.cpp: fix potential memory leak, uninitialized memory conditional
athandlertest.cpp: fix potential memory leak, uninitialized memory conditional,
uninitialized memory read
ATHandler_stub.cpp, ATHandler_stub.h: fix potential memory leak, uninitialized memory conditional
2019-04-03 10:35:15 +03:00
Cruz Monrreal 4af3c38078
Merge pull request #10210 from jarvte/cellulardevice_from_context
Cellular: CellularContext must provide access to CellularDevice
2019-03-28 17:09:48 -05:00
Hasnain Virk cd3a032d2a Unit test fix for RX TOA change
The change had an impact on unittests and we needed to adjust the test
cases a little to accomodate the change.
2019-03-27 10:23:43 +02:00
Teppo Järvelin b0ee22c96b Cellular: CellularContext must provide access to CellularDevice
When using NetworkInterface::get_default_instance() application gets handle
to CellularInterface which is actually CellularContext derived from CellularInterface.
Application needs also handle to CellularDevice to open other interfaces.
2019-03-26 07:29:11 +02:00
Teppo Järvelin dba3d42362 Cellular: call AT+CGEREP after sim is ready
Current implementation did call AT+CGEREP before sim was ready
and it was failing in most modems.
2019-03-18 08:10:09 +02:00
Cruz Monrreal 6c4b4a5212
Merge pull request #10084 from mirelachirica/info_resp_issue_8829
Cellular: AT information response to return false on empty prefix
2019-03-16 22:59:24 -05:00
Cruz Monrreal dbb33ef423
Merge pull request #9801 from vmedcy/fix-eventqueue-h
Correctly include EventQueue.h
2019-03-16 22:52:40 -05:00
Martin Kojtal 759627ff12 Merge branch 'plmn_stm_fix2' of https://github.com/jarvte/mbed-os into rollup 2019-03-15 08:45:14 +00:00
Mirela Chirica d12de2a199 Cellular: AT information response to return false on empty prefix 2019-03-13 15:49:33 +02:00
Teemu Kultala 71a1ed9c8e cellular: BC95 memory leak fix 2019-03-07 11:58:20 +02:00
Teppo Järvelin a830dbf47d Cellular: removed manual registering state.
Simplified state machine by removing manual registering state.
This was done as some modems did not have all the needed at commands
for checking the registered network. Some modem run out of memory as when
checking correct network there might be so many networks available.
Manual registration still works but it does not do any checks to which network
it's registered. Moved manual registering at command earlier in state machine so it forces
registering to a correct network. Internal refactor/fix, does not affect applications.
2019-03-05 13:17:25 +02:00
Teppo Järvelin 0905f01438 Cellular: Removed API get_connection_status() from CellularNetwork
This was left accidentally after refactoring.
It wasn't giving correct states after refactoring.
CellularContext::get_connection_status should be used instead.
2019-03-01 14:51:05 +02:00
Martin Kojtal 6bdbe754cd
Merge pull request #9799 from VeijoPesonen/bugfix-esp8266-dns
Increase events.share-eventsize to 768B because of ESP8266 AT driver and asynchronous DNS
2019-02-27 11:30:38 +01:00
Veijo Pesonen 517799fd06 NetworkStack: halts if unable to add an event to the event queue 2019-02-26 09:44:15 +02:00
Volodymyr Medvid b0a33273ff Correctly include EventQueue.h
There are two EventQueue.h in mbed-os codebase:
events/EventQueue.h
features/FEATURE_BLE/ble/pal/EventQueue.h

By accident, `mbed compile` generates includes.txt with the correct
order of include search paths. This is not the case for the CMake
exporter: targets with FEATURE_BLE enables fail to compile with errors:

mbed-os/features/cellular/framework/AT/ATHandler.h:99:60: error:
'events' has not been declared

Update all places to always include either "events/EventQueue.h"
or "ble/pal/EventQueue.h": to always find the correct header.
2019-02-21 17:59:05 +02:00
Martin Kojtal dbd92c746b
Merge pull request #9387 from tymoteuszblochmobica/Sockets
Multihoming initial release
2019-02-21 13:50:03 +01:00
Cruz Monrreal b088bd493a
Merge pull request #9759 from michalpasztamobica/memory_handling_fixes
Multiple memory handling fixes
2019-02-20 12:07:45 -06:00
Tymoteusz Bloch 641189c357 Multihoming change parameter orded in gethostbyname 2019-02-20 14:37:33 +02:00
Michal Paszta b241943c12 Multiple memory handling fixes
Correct memory clean-ups in multiple tests and a stub.
2019-02-20 10:50:55 +01:00
Cruz Monrreal feae56eea1
Merge pull request #9493 from RonEld/add_platform_initialization_in_trng_test
Initialize platform in trng test
2019-02-19 15:27:40 -06:00