Tests sequence swaped:
ASYNCHRONOUS_DNS_TIMEOUTS
ASYNCHRONOUS_DNS_INVALID_HOST
This is temporary solution to prevent Jenkins fail until root cause will be fixed.
New members are added to the network interface
-getaddrinfo
-getaddrinfo_async
gethostbyname is unchanged but gethostbyname_async result param now contains results od DNS records found.
Test cases for sync/async added added to DNS test folder.
In this test case if asynchronous DNS request results does not happen
in requested time, the request must be cancelled to ensure it does not
happen later on when test has exited already.
We've seen couple of crashes in CI tests which indicate this kind of behaviour
but this is very difficult to reproduce.
after DNS Query flooding during DNS timeout test.
DNS timeout test requires flooding device with DNS queries.
This causes problem to ESP8266 module causing it to stuck for 11 sec.
In result all following tests fails. To avoid this "smart delay" is added.
If device preforms gethostbyname correctly then tests can proceed.
Otherwise after 1 sec sleep gethostbyname is repeated until success or re-check limit (set to 15).
Thanks to this all ethernet and non ESP8266 wireless devices don't need to wait but ESP must wait.
The test floods the device with UDP requests (it skips the 100 ms delay to simulate instant timeout). ESP8266 starts responding with "busy p..." message. It needs more time to process the data and recover for subsequent tests.
Test case printed IP address. If ip address is null, IAR compiled binary fails.
Added check for printing null. If IP address is null, then it prints string 'null'.
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.
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.
Now it is enough to add:
"macros": [
"MBED_GREENTEA_TEST_XXXSOCKET_TIMEOUT_S=20"
],
to mbed_app.json, where XXX is on of {DNS, TLS, UDP, TCP}.
Also network-* tests are now configurable: network-interface, network-wifi, network-emac with a similar macro.
Added smarter rounding of times in recv_timeout and increased the delta by one, to allow "off-by-one" errors.
Reverted commit 88eea6a, reducing TESTS_TIMEOUT back to 480.
Introduced a 100ms timeout for waiting on asynchronous DNS resolution.
Improved error handling on disconnects.
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.