Fix issues reported by string validation which was added to strings
used in zassert macros.
Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
Test case `test_set_bulk` and `test_get_set` test the LwM2m getter and
setter function by
- init a buffer with some value
- calling lwm2m_set_... with buffer as parameter
- calling lwm2_get_... by letting `get` write-back into the same
buffer(!)
- compare the buffer with the init value
That implementation can't recognize a no-operation getter function.
This change adds some C macro magic for both test cases where
an `out` buffer for setter and an `in` buffer for getter functions
exists. The buffers are checked before use for inequality to avoid
any unexpected pass.
Signed-off-by: Stefan Schwendeler <Stefan.Schwendeler@husqvarnagroup.com>
Extract server configuration, client configuration and test shutdown
into separate functions so that they're reusable in other tests.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
According to RFC793 chapter3.5 with the 'Reset Processing' part,
"In the SYN-SENT state (a RST received in response to an initial
SYN), the RST is acceptable if the ACK field acknowledges the SYN."
So, in the net_tcp_reply_rst() we should use 'ack++' if no ACK
flag but have SYN flag.
And, all the RST packet should use net_tcp_reply_rst() instead of
tcp_out().
Signed-off-by: Shrek Wang <inet_eman@outlook.com>
Currently, creating and killing openssl process was part of the test. In
result, if the test case failed for whatever reason, the openssl process
would remain open, causing disruptions in consecutive test executions.
Fix that by defining openssl server instance as a pytest fixture. That
way, openssl process will be terminated regardless of the test
result.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Turn the MBEDTLS_RSA_FULL selects into depends on.
This is how the other MBEDTLS_KEY_EXCHANGE_* Kconfig options are defined.
This is done to avoid circular dependencies.
At the same time update uses of the affected MBEDTLS_KEY_EXCHANGE_*
Kconfig options to enable/disable the dependencies which used to be
automatically handled.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Add netif dependency for the test suite, as in other networking tests
and adjust minimal RAM and FLASH values.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
According to RFC 2131 Request message Exchange ID should be the same as
the one received in the Offer message from the server. Modify test to
verify that.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add Pad option to the DHCP packets generated by the fake server, to
verify the client processes them correctly.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
According to TCP Spec. RFC793, ACK flag should be always set
after sequences of both sides are sync-ed except for RST seg-
ment. It is not necessary to send FIN only packet in the
test case, using FIN | ACK instead.
Similarly, change the tcp_out(conn, FIN | ACK) in CLOSE_WAIT.
Signed-off-by: Shrek Wang <inet_eman@outlook.com>
In case the receiving packet socket is not bound to any specific
interface, or is explicitly bound to "any" interface (at index 0),
it should collect packets from all interfaces. Add test cases which
verify that.
Also, if a packet socket is bound to a specific interface, it should not
receive packets from others. Add a test case to verify that as well.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The recvfrom test case for DGRAM packet socket specified wrong socket
type, so RAW sockets were tested twice instead. Also, for the DGRAM
variant, the offset was not taken into account for the expected packet
length.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Test the case where the packet provided to `net_arp_prepare` is queued
for later transmission, instead of being replaced with an ARP query
or having ARP information populated.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Update `net_arp_prepare` to return a return code instead of a pointer,
so that the various results of the function can be differentiated.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Add more tests cases to the AF_PACKET sockets test suite, covering the
summary of the packet socket functionalities prepared from various
sources (mostly man pages).
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The test case did not do what it said, it was supposed to receive data
on both RAW and DGRAM packet sockets, but instead it received on RAW
socket twice.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Test interface configuration doesn't change throught the test suite
execution, therefore there's no need to reiterate the interfaces to set
the interface pointers in each test case. Do it just once, when test
suite is setup.
Also remove the __test_packet_sockets() function which seemed no longer
useful with all those simplifications.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Packet socket tests used non-blocking sockets so in results the test
code was overly complicated with delays and loops scattered all across
the test code, making it difficult to read.
As packet sockets do support blocking operation with timeout,
reconfigure the sockets to use that and simplify the test code by
getting rid of unnecessary loops and delays.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Test suite prints a warning on boot about not enough IPv4 context
instances compared to the number of interfaces, therefore adjust the
config value to get rid of it.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Make sure all sockets used in test are closed even in case of test
failure. Otherwise, a single test failure could derail other tests,
making the results obfuscated.
Remove redundant code related to socket creation.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
When only changes are in the "hostap" module the wifi build tests should
be run. Add the module tag to fix that.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
IPPROTO_RAW is not a valid protocol type for AF_PACKET sockets, which
should only use IEEE 802.3 protocol numbers. Therefore remove support
for this type of sockets.
As an alternative, users can use AF_PACKET/SOCK_DGRAM or
AF_INET(6)/SOCK_RAW, depending on the actual use case.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Register connection type along with family and protocol, so that it's
possible to differentiate between connection listening for raw IP
datagrams and TCP/UDP/other packets.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add checks that we will be able to catch invalid compression bit in
response CNAME handling.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Add checks that we will be able to catch recursive name pointers and
abandon the response for CNAME handling.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Some platforms were excluded due to issues that were fixed or resolved
themselves. Enable those platforms again and remove the comments related
to the issues.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
If CONFIG_NET_DHCPV4_OPTION_PRINT_IGNORED is set, then adjust the
tests as we no longer get so many events.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Currently we ignore the broadcast address but make sure we
print it in order to avoid unknown option prints.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Building with clang, it warns:
tests/net/lib/http_server/core/src/main.c:1400:19: error: variable
'http1_header_capture_common_response' is not needed and will not be
emitted [-Werror,-Wunneeded-internal-declaration]
static const char http1_header_capture_common_response[]
^ = "HTTP/1.1 200\r\n"
Add a check to make sure the response actually matches the expected
response.
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Add support for DICONNECT message specified in MQTT 5.0.
As with MQTT 5.0, the disconnect can now also be initiated by the
broker, it was needed to add decoder support for the message.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add support for PUBACK, PUBREC, PUBREL and PUBCOMP specified in MQTT
5.0. As all of these acknowledgment packets have similar format,
introduced a common encoder/decoder to handle ACK packets.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>