Commit Graph

44 Commits (0e3b3efe9323d3915c4545391a167c18a7b4871f)

Author SHA1 Message Date
Brian Daniels 4f5a199336 Fix bad print message in test 2017-06-10 15:14:28 +01:00
Brian Daniels 94b4160347 Fixing bad asserts 2017-06-10 15:14:28 +01:00
Brian Daniels c38b709685 Cleaning up udp tests 2017-06-10 15:14:28 +01:00
Brian Daniels ccad027fa7 Adding comments describing buffer prep functions 2017-06-10 15:14:28 +01:00
Brian Daniels 388968f76b Simplifying assert statements 2017-06-10 15:14:28 +01:00
Brian Daniels 6e76fce4fc Specifying default length of UUID for Greentea
This creates a macro for the UUID length used by Greentea. This cuts
down on the use of "magic numbers" in test cases that use
the GREENTEA_SETUP_UUID function.
2017-06-10 15:14:28 +01:00
Christopher Haster d451d1795e Moved network test buffers into heap
This is a workaround for IAR's lack of flexibility with memory regions.
Otherwise these tests would use very little heap and be mostly global
allocations.
2017-06-10 15:14:28 +01:00
Christopher Haster 467eb342f0 lwip: Migrated to utest framework
per @bridadan
2017-06-10 15:14:28 +01:00
Christopher Haster 0887683a13 lwip: Fixed count of udp iterations to reflect attempts 2017-06-10 15:14:28 +01:00
Christopher Haster 036f1cdfd4 lwip: Added udp buffer flushing after dropped packets
Avoids getting stuck in loop where the device always picks
up the previous test's packets
2017-06-10 15:14:28 +01:00
Christopher Haster f11f2b35e0 lwip: Increased DHCP timeout to 60 seconds
This matches the timeout used in linux:
https://linux.die.net/man/5/dhclient.conf

This resolves several issues noticed during testing when we
have a very large number of devices that try to get an IP address
around the same time.
2017-06-10 15:14:28 +01:00
Brian Daniels 70dd7cc273 Fixing some issues in the tcp/udp tests 2017-06-10 15:14:28 +01:00
Brian Daniels f313bc2988 Arranging logic in test to prevent left-over behavior 2017-06-10 15:14:28 +01:00
Brian Daniels dc87aaad1c Making udp_echo_parallel test more robust against network issues.
Making the test more forgiven for minor networking issues. Also adding
more debug prints to make it easier to see which packets are coming from
where.
2017-06-10 15:14:28 +01:00
Brian Daniels acaf435d64 Making UDP test less strict on dropped/mismatched packets.
Before, the UDP test was very strict on the number of packets it would
try to match before failing. Now it will keep trying for the whole test
to get enough passing packets. It also includes the test's UUID so you
can validate which packets are being received.
2017-06-10 15:14:28 +01:00
Brian Daniels 98a5262361 Adding failure logs to TCP echo test.
This adds some extra logs to the test for debugging purposes. Also
allows the test to fail immediately if it fails to obtain an IP address.
2017-06-10 15:14:28 +01:00
Brian Daniels 26eafd9958 Allowing dtls test to retry correctly.
The dtls test already has the ability to retry upon a UDP failure.
However the sockets are currently configured to be blocking and to wait
forever. I added a timeout of 1.5 seconds in order the test to correctly
timeout.
2017-06-10 15:14:28 +01:00
Bartek Szatkowski 6a0fcd3c58 Reduce test overhead in preparation for CMSIS 5
Reduce RAM consumption so all tests can still be built when using
CMSIS/RTX5. Also reduce clutter by removing the per target stack size
defines in the tests.
2017-05-14 19:25:19 -05:00
Martin Kojtal 05e7aad52a Merge pull request #3832 from geky/lwip-fix-test-timeout
lwip: Increase timeout on network tests with python projects
2017-03-06 16:52:15 +00:00
Christopher Haster ff3fc8b532 lwip: Increase timeout on tests
Sometimes when under heavy load, the CI machines can take a significant
amount of time to bring up a python process (~10s). The timeouts for
the network tests were chosen without much thought, and didn't leave
much room for this sort of delay.

This patch brings up timeouts for ntetwork tests 20s -> 60s
2017-02-23 12:18:43 -06:00
Christopher Haster 64ccff3fe1 lwip: Added delay to dtls handshake test to compensate for local network
The speed of packets on the local network exceeds even the speed of
the ethernet hardware on some of the less powerful devices. Adding
a small delay which can be expected from a real DTLS handshake prevents
this condition from occuring.
2017-02-15 12:38:05 -06:00
Martin Kojtal 4e28b25399 Merge pull request #3612 from bulislaw/fix_network_host_tool
tests: Fix error on MacOS for udp_dtls_handshake test
2017-01-26 10:33:32 +02:00
Bartek Szatkowski 537f4db0af tests: Fix error on MacOS for udp_dtls_handshake test 2017-01-19 13:13:18 +00:00
Brian Daniels bdd0ff4272 Reduce thread stack size for parallel network tests
This commit reduces the thread stack from 2k to 1k for each thread in
the parallel network tests. This allows the test to run on more
constrained devices (like the LPC1768).
2017-01-17 11:19:35 -06:00
Christopher Haster bbcf8de9e3 lwip - Filtered network tests based on DEVICE_EMAC
Currently DEVICE_EMAC is incompatible with the EthernetInterface
2017-01-05 11:16:24 -06:00
Christopher Haster 5f728e1b66 lwip - Marked *_packet_pressure tests as "extended tests"
*_packet_pressure_parallel tests are useful for checking for synchronization
errors, but push the practical limitations of the network stack. Failing
these tests is not unreasonable.

*_packet_pressure tests are a little bit less unreasonable, but also
push the practical limitations of the network stack. Hopefully these
will become stable in the near future.
2017-01-05 10:58:15 -06:00
Christopher Haster 51a093d6d8 lwip - Added windowing to tcp packet pressure tests
Despite being able to buffer an arbitrary stream of data,
TCP send is still limited by the available buffer space in the
network stack. Errors from TCP send are perfectly reasonable
and should be handled by reducing the buffer that is attempted.
2016-12-19 16:12:01 -06:00
Christopher Haster 2da71a7f87 lwip - Reduced size of buffers in echo-parallel tests
These tests could adopt the dynamically sized buffers used for the
packet-pressure tests, however throughput is not an important feature
of these tests.
2016-12-19 16:11:49 -06:00
Christopher Haster 4551dfa667 lwip - Moved dropped packets into debug condition
Printing out dropped packets caused significantly more overhead in the
parallel tests due to increased noise on the network. This noise would
push the tests past their provided timeouts.
2016-12-19 12:05:43 -06:00
Christopher Haster 39714f303d lwip - Added parallel versions of the packet pressure tests 2016-12-19 12:05:43 -06:00
Christopher Haster 8e7a3c8b04 lwip - Added handling of packet loss to udp echo test
Before the test would only succeed if all packets (16) succeed. Updated
to succeed if 75% succed.
2016-12-19 12:05:43 -06:00
Christopher Haster 9df82e5811 lwip - Added parallel versions of the echo tests
Simply runs the echo tests with multiple sockets in parallel
2016-12-19 12:05:43 -06:00
Christopher Haster 5c51a3d5ba lwip - Restructured pressure tests to use dynamic buffers and avoid floods
Dynamic buffers gives the network stack the maximum throughput while
still supporting smaller devices. This should expose the largest number
of issues across differently sized platforms.

Additionally, restructured the UDP tests to avoid unintentionally flooding
the recieving side with bad data after failed packets.

Also, added a bit more documentation
2016-12-19 12:05:43 -06:00
Christopher Haster 2295e40fc0 lwip - Reduced buffer used for packet-pressure tests
A larger buffer gives the network stack the best options for maximizing
throughput. However, the initial buffer size did not fit on small
targets. Resized 8192 -> 1024.
2016-12-19 12:05:43 -06:00
Christopher Haster 0d42ba6401 lwip - Added connectivity tests
Checks for connecting/disconnecting the network interface
2016-12-19 12:05:42 -06:00
Christopher Haster 938770e9ac lwip - Added udp_dtls_handshake test
Added test for the pattern of packets used during the DTLS
handshake. This pattern (5x ~300 byte packets) has been very
problematic for new network interfaces.
2016-12-19 12:05:42 -06:00
Christopher Haster fb00d20f56 lwip - Removed nist_internet_time_service test
- Unreliable service would occasionally lead to false-failures
- Redundant with hello world and echo tests
2016-12-19 12:05:42 -06:00
Christopher Haster ad79c20c6a lwip - Added packet pressure tests
Attempt to maximize the devices bandwidth with an exponentially growing
transaction of random sequences. Also prints the time taken and bandwidth
reached during the tests.
2016-12-19 12:05:42 -06:00
Bartek Szatkowski b77f663520 Add defined port fallback for network echo tests
The 0 aka 'any' port doesn't for on Mac, but, only, using defined port
may interfere with running multiple tests on CI.
2016-12-15 09:27:02 +00:00
Bartek Szatkowski 859c160ddc Fix network echo test host scripts for Mac
It seems that the 0 aka 'any port' doesn't work well on Mac, causing
[Errno 49] Can't assign requested address errors.
2016-12-15 09:27:02 +00:00
Bartek Szatkowski 20b7f05721 WiFi: Make WiFi default networking interface on Odin board
That disables Ethernet by default and makes sure the Ethernet tests are
not failing when it's disabled.
2016-11-16 12:00:09 +00:00
Christopher Haster b04a8da574 nsapi - Added test cases for gethostbyname
- test_dns_query
- test_dns_query_pref
- test_dns_literal
- test_dns_literal_pref
2016-11-09 12:11:02 -06:00
Sam Grove 04a2af7395 Update net tests to use feature name LWIP and not IPv4 2016-10-01 02:21:04 -05:00
Christopher Haster ba99a1f31d restructure - Restructured features/net directory
features/net/network-socket -> features/netsocket
features/net/FEATURE_IPV4 -> features/FEATURE_LWIP
features/net/nanostack-binaries -> features/nanostack
features/net/FEATURE_NANOSTACK -> features/nanostack/FEATURE_NANOSTACK
2016-09-30 19:18:09 -05:00