Commit graph

1847 commits

Author SHA1 Message Date
Jukka Rissanen
9332c2813e tests: net: socket: udp: Add min_flash to the test config
Add minimum flash requirement to the tests. This will effectively
exclude nrf5340dk/nrf5340/cpuapp/ns as it does not have
enough flash for the application.

Fixes #81862

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-27 10:38:15 -05:00
Jukka Rissanen
99abfda5ba tests: net: prometheus: Make sure formatter works as expected
Enhance the formatter test to verify that two metrics can be
formatted.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-26 15:42:40 -05:00
Jukka Rissanen
c7989b5747 net: prometheus: Add more parameters to metric macros
Add collector parameter to metric creation macros so that it
is possible to bind the metric to collector already at built
time.

Also add optional user_data to metric macro calls so that user
can add optional data there. This will be used by network statistics
Prometheus support in subsequent commits.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-26 15:42:40 -05:00
Jukka Rissanen
d3efcbd316 net: prometheus: Remove need to have separate metric struct
Embed "struct prometheus_metric" to individual metric like
counter, gauge, histogram and summary. This way we avoid having
a separate base pointer in specific metrict struct. We also do
not need to search the specific metric from base metric as
we can simply use CONTAINER_OF() macro to get the base metric.

This embedding means that the counter, gauge, histogram and summary
metric define macros are changed as user does not need to create a
separate "struct prometheus_metric".

Convert the tests and sample to use the new macros.

Remove also the static from metric creation macros so that user
can decide whether it needs collector to be static or not.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-26 15:42:40 -05:00
Jukka Rissanen
2a5c702807 tests: net: prometheus: counter: Add counter set tests
Add a test that will test the counter value set functionality.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-26 15:42:40 -05:00
Jukka Rissanen
840a88a6b5 tests: net: prometheus: counter: Add counter add tests
Add a test that will test the counter value add functionality.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-26 15:42:40 -05:00
Pieter De Gendt
bf2db7afc0 python: Format and sort imports
ruff check --select I001 --fix applied to all python files that had
this as only issue.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-25 10:07:13 +01:00
Jukka Rissanen
5531692bcc tests: net: socket: udp: Add IP_LOCAL_PORT_RANGE socket option tests
Make sure that the IP_LOCAL_PORT_RANGE socket option works
as expected.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-22 17:42:08 +01:00
Jukka Rissanen
c2802618df tests: net: socket: tcp: Add min_flash to the test config
Add minimum flash requirement to the tests. This will effectively
exclude nrf5340dk/nrf5340/cpuapp/ns as it does not have
enough flash for the application.

Fixes #81608

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-22 11:33:52 +01:00
Pieter De Gendt
f05deb1aa4 python: Format trivial files where only newlines were missing
Apply formatting on files that only needed adding newlines.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-21 20:10:51 +01:00
Seppo Takalo
23345d203e tests: coap_client: Add test for non-confirmable request
Add test for sending multiple non-confirmable requests.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-11-21 14:47:38 +01:00
Seppo Takalo
d64748cc52 tests: coap_client: Refactor tests
Refactor tests to be a bit shorter, so its easier to read
and copy-paste for a new testcase

All idioms like "ret = somecall(); zasser.." are replaced with just
"zassert_ok(some_call());"

Commonly used structures are global and initialized once.

To avoid cross-test side-effects, suite_after-function is added
to cleanup all requests.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-11-21 14:47:38 +01:00
Seppo Takalo
34a6d5a5dc tests: coap_client: Proper slow-down
Use real-time scheduler with 100x speedup, so timeouts are
accurate enough, but still fast for tests to run.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-11-21 14:47:38 +01:00
Valerio Setti
08bd9c72bd mbedtls: use CSPRNG whenever possible as PSA random source
The main problem of MBEDTLS_PSA_CRYPTO_LEGACY_RNG is that it
brings in some legacy modules (entropy + ctr_drbg/hmac_drbg)
which means extra ROM/RAM footprint.
MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG instead simply calls to the
CSPRNG which makes it definitely smaller.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2024-11-20 15:59:40 -05:00
Jukka Rissanen
624f28cb65 tests: net: socket: udp: Add IP_MULTICAST_IF set/get testing
Add tests that verify that IP_MULTICAST_IF socket option
set/get works as expected.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-18 19:29:58 -05:00
Jukka Rissanen
51763d834b tests: net: socket: udp: Add IPV6_MULTICAST_IF set/get testing
Add tests that verify that IPV6_MULTICAST_IF socket option
set/get works as expected.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-18 19:29:58 -05:00
Jukka Rissanen
4c37d5a7bd tests: net: ipv6_fragment: Add PMTU testing
Enable PMTU so that we test it with IPv6 fragmentation code.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-18 07:26:07 -05:00
Jukka Rissanen
265828634d tests: net: ipv4_fragment: Make test to run faster
Shorten the timeouts so that the tests are run in 6 second instead
of 15 seconds.

Use only native_sim for the tests so that the tests are run without
any extra delays.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-18 07:26:07 -05:00
Jukka Rissanen
bdd5001e5b tests: net: ipv4_fragment: Add PMTU testing
Enable PMTU so that we test it with IPv4 fragmentation code.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-18 07:26:07 -05:00
Jukka Rissanen
3d39cbd24d tests: net: pmtu: Add IPV6_MTU socket option tests
Make sure we can use IPV6_MTU socket option from application.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-18 07:26:07 -05:00
Jukka Rissanen
74fc23872d tests: net: pmtu: Add IP_MTU socket option tests
Make sure we can use IP_MTU socket option from application.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-18 07:26:07 -05:00
Jukka Rissanen
ee497c3108 tests: net: pmtu: Add network event tests for pmtu
Verify that the PMTU changed events are generated and we can
catch them.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-18 07:26:07 -05:00
Jukka Rissanen
55e582635f tests: net: pmtu: Add IPv4 specific PMTU TCP tests
Allow tests to check whether a IPv4 TCP connection MTU is changed.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-18 07:26:07 -05:00
Jukka Rissanen
281c4ac742 tests: net: pmtu: Add IPv6 specific PMTU TCP tests
Allow tests to check whether a IPv6 TCP connection MTU is changed.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-18 07:26:07 -05:00
Jukka Rissanen
67c004d707 tests: net: pmtu: Add tests for path MTU discovery
Add initial tests for generic part of PMTU discovery code.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-18 07:26:07 -05:00
Jukka Rissanen
8070e7ca6d tests: net: conn_mgr_monitor: Increase the sleep between states
The short sleep (10ms) was not enough any more. Increase the sleep
to 100ms so that system stabilizes between checks.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-16 15:55:49 -05:00
Jukka Rissanen
3a5c6c54c1 tests: net: ipv6: Add tests for stable IIDs
Add tests that verify that stable IIDs generate a proper IPv6
interface identifier described in RFC 7217.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-16 15:55:49 -05:00
Kenneth Witham
cc33fd685f net: mqtt-sn: Update MQTT-SN Unit Tests
Fixes: #78010
This commit adds tests for the "Gateway Advertisement and Discovery"
process. This includes tests for handling SEARCHGW, GWINFO, and ADVERTISE
as well as manually adding a Gateway for use. Gateway pruning when
missing ADVERTISE messages is also tested.

Signed-off-by: Kenneth Witham <kennywitham4@gmail.com>
2024-11-16 15:08:27 -05:00
Jukka Rissanen
5f3e6212af net: utils: Port parsing failure in net_ipaddr_parse()
If trying to parse a string like 192.0.2.2:80/foobar and
setting the length to 12 which means to parse the IP address
and port, the parsing failed because it used one extra character
from the string. This issue was not present if the input string
was terminated after the port number.

Add a test case to catch this problem.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-11-16 13:51:27 -05:00
Seppo Takalo
b3f3bce23e net: lib: coap_client: Add API to cancel specific request
Add a new API to cancel just one, or mathing requests,
instead of cancelling all ongoing requests.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-11-16 13:33:28 -05:00
Seppo Takalo
107dc9b96d tests: coap_client: Add testcase for receiving RST
When server responds with CoAP RESET, we should inform the
client and stop the request.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-11-16 13:33:28 -05:00
Seppo Takalo
05a6ba678e tests: coap_client: Add testcase for observation
Add test for ongoing observation and cancellation.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-11-16 13:33:28 -05:00
Seppo Takalo
237b26c44a tests: coap_client: Test for operating on socket while another fails
CoAP client should be able to push data through functioning socket
while another sockets is failing or reporting poll() errors.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-11-16 13:33:28 -05:00
Seppo Takalo
fc51fa491f tests: coap_client: Add testcase for Ack failure
Add testcase where sending Ack to incomming Confirmable message fails.
This should be reported to application as now the server is unaware
that transmission have succeeded, so we cannot thread it as success.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-11-16 13:33:28 -05:00
Seppo Takalo
5559a520c9 tests: coap_client: Improve retry testcases
Add testcases for testing client's retry behaviour.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-11-16 13:33:28 -05:00
Seppo Takalo
120aabbb8f tests: coap_client: Add test when separate response is lost
Test a scenario where Ack is received but the actual response
is not coming.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-11-16 13:33:28 -05:00
Seppo Takalo
83bc1fcb46 tests: coap_client: Add test for duplicate response
Add test where we receive same UDP packet twice.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-11-16 13:33:28 -05:00
Seppo Takalo
ca67f51170 tests: coap_client: Improve socket stubs
* Use sys_rand_get() and seed the CoAP library, so our MIDs are
  random.
* Set socket events per socket, so we don't accidentally receive
  on wrong socket
* Reply with correct tokens

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-11-16 13:33:28 -05:00
Pieter De Gendt
175bfb4bc9 tests: net: lib: lwm2m: interop: Fix strip-with-multi-characters (B005)
All strip functions remove any of the provided characters instead of a
prefix/suffix. This is likely a bug.

See https://docs.astral.sh/ruff/rules/strip-with-multi-characters/

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-11-16 13:32:02 -05:00
Robert Lubos
a597feafb8 test: net: lib: prometheus: formatter: Fix test flakiness
If a string is already present in the provided buffer,
prometheus_format_exposition() appends it instead of overwriting,
hence the buffer needs to be cleared on the test start, otherwise it
works by chance.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-11-06 09:53:29 -08:00
Seppo Takalo
9c9dc9f760 tests: coap_client: Add tests for poll() errors
If we receive poll() error during a request, it must
be forwarded to application.

If instead receive poll() error later, it should not be
forwarded as it might be result of application closing the
socket.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-10-31 14:17:58 -05:00
Seppo Takalo
4c6dd4c7b7 net: lib: coap_client: check poll() condition before retrying CoAP msg
Refactor the CoAP retry handling into the handle_poll() function,
so that we only try to send retries if the socket reports POLLOUT.

Also move the receiving into same loop, so when poll() reports POLLIN
we recv() the message and handle it before proceeding to other sockets.

Also fix tests to handle POLLOUT flag and add support for testing
multiple clients.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2024-10-31 14:17:58 -05:00
Jukka Rissanen
ea099b039f tests: net: wifi: Disable native/64 from tests
There are issues with 64 bit compilation in hostap so disable
native_sim/native/64 board from the tests. The board will be
enabled again after updating the hostap from upstream and fixing
the issues.

Fixes #80437

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-10-25 22:42:28 +01:00
Maximilian Deubel
d56e22d425 tests: net: wifi_credentials: restrict to native_sim
Adjust the testcase.yaml files to only allow running on native_sim.
These tests use mocking and are not meant to run on embedded platforms.

Signed-off-by: Maximilian Deubel <maximilian.deubel@nordicsemi.no>
2024-10-24 22:02:28 +01:00
Jukka Rissanen
3f8828d827 tests: net: wifi: Add build test for various config combinations
Try to compile test wifi with various configuration combinations.
This is trying to catch simple compilation issues in the PRs.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-10-23 17:00:45 +02:00
Fin Maaß
03a5f417d1 net: sockets: socket_service: remove k_work related code
remove k_work related code and change
the argument of the callback to `struct net_socket_service_event`.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-10-23 11:32:21 +02:00
Jukka Rissanen
12dadf7a24 tests: net: pkt: Add build test for allocation statistics
Make sure we build test the allocation statistics.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-10-22 20:38:57 +02:00
Maximilian Deubel
a441492c7d tests: net: lib: wifi_credentials: add tests
This patch adds tests for the wifi_credentials library.

Both the main functions and the backend implementations are tested.

Signed-off-by: Maximilian Deubel <maximilian.deubel@nordicsemi.no>
2024-10-22 08:21:04 -04:00
Ibe Van de Veire
bb76d22540 test: net: igmp: Cleanup asserts
Cleanup of existing asserts in the IGMP test.

Signed-off-by: Ibe Van de Veire <ibe.vandeveire@basalte.be>
2024-10-21 18:41:47 -05:00
Ibe Van de Veire
fa07b9fcf1 test: net: igmp: Add IGMP query test
Add functionality to test the IGMP query handling. This test should
prevent the IGMP logic from sending IGMPv3 messages to IGMPv2 queriers.
The test does now also check backwards compatability when IGMPv3 queries
are received but only IGMPv2 is enabled.

Signed-off-by: Ibe Van de Veire <ibe.vandeveire@basalte.be>
2024-10-21 18:41:47 -05:00