From 9aaef9c2c482c7ef31a61c50798a3bb54132763e Mon Sep 17 00:00:00 2001 From: Chaitanya Tata Date: Fri, 29 Nov 2024 19:50:56 +0530 Subject: [PATCH] tests: drivers: nrf_wifi: Add a build all test This helps maintaining of various modes in nRF Wi-Fi driver. Signed-off-by: Chaitanya Tata --- tests/drivers/wifi/nrf_wifi/CMakeLists.txt | 8 +++ tests/drivers/wifi/nrf_wifi/prj.conf | 84 ++++++++++++++++++++++ tests/drivers/wifi/nrf_wifi/src/main.c | 10 +++ tests/drivers/wifi/nrf_wifi/testcase.yaml | 46 ++++++++++++ 4 files changed, 148 insertions(+) create mode 100644 tests/drivers/wifi/nrf_wifi/CMakeLists.txt create mode 100644 tests/drivers/wifi/nrf_wifi/prj.conf create mode 100644 tests/drivers/wifi/nrf_wifi/src/main.c create mode 100644 tests/drivers/wifi/nrf_wifi/testcase.yaml diff --git a/tests/drivers/wifi/nrf_wifi/CMakeLists.txt b/tests/drivers/wifi/nrf_wifi/CMakeLists.txt new file mode 100644 index 00000000000000..d9d097f0bc0da8 --- /dev/null +++ b/tests/drivers/wifi/nrf_wifi/CMakeLists.txt @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: Apache-2.0 + +cmake_minimum_required(VERSION 3.20.0) +find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) +project(build_nrf70_wifi_driver_all) + +FILE(GLOB app_sources src/*.c) +target_sources(app PRIVATE ${app_sources}) diff --git a/tests/drivers/wifi/nrf_wifi/prj.conf b/tests/drivers/wifi/nrf_wifi/prj.conf new file mode 100644 index 00000000000000..04bda53a4a6e8d --- /dev/null +++ b/tests/drivers/wifi/nrf_wifi/prj.conf @@ -0,0 +1,84 @@ +# +# Copyright (c) 2024 Nordic Semiconductor ASA +# +# SPDX-License-Identifier: Apache-2.0 +# +CONFIG_WIFI=y +CONFIG_WIFI_NRF70=y +CONFIG_WIFI_NM_WPA_SUPPLICANT=y +CONFIG_NRF_WIFI_BUILD_ONLY_MODE=y + +CONFIG_TEST_RANDOM_GENERATOR=y +# Networking +CONFIG_NETWORKING=y +CONFIG_NET_SOCKETS=y +CONFIG_NET_LOG=y +CONFIG_NET_IPV6=y +CONFIG_NET_IPV4=y +CONFIG_NET_UDP=y +CONFIG_NET_TCP=y +CONFIG_NET_DHCPV4=y +CONFIG_DNS_RESOLVER=y + +CONFIG_NET_STATISTICS=y +CONFIG_NET_STATISTICS_WIFI=y +CONFIG_NET_STATISTICS_USER_API=y + +CONFIG_NET_PKT_RX_COUNT=8 +CONFIG_NET_PKT_TX_COUNT=8 + +# Below section is the primary contributor to SRAM and is currently +# tuned for performance, but this will be revisited in the future. +CONFIG_NET_BUF_RX_COUNT=16 +CONFIG_NET_BUF_TX_COUNT=16 +CONFIG_NRF70_RX_NUM_BUFS=16 +CONFIG_NRF70_MAX_TX_AGGREGATION=4 +# nRF70 is main consumer: (16 + 8) * 1600 = ~40KB + ~40KB control path (experimental) +CONFIG_HEAP_MEM_POOL_SIZE=100000 +CONFIG_HEAP_MEM_POOL_IGNORE_MIN=y +CONFIG_NET_TC_TX_COUNT=1 + +CONFIG_NET_IF_UNICAST_IPV6_ADDR_COUNT=4 +CONFIG_NET_IF_MCAST_IPV6_ADDR_COUNT=5 +CONFIG_NET_MAX_CONTEXTS=5 +CONFIG_NET_CONTEXT_SYNC_RECV=y + +CONFIG_INIT_STACKS=y + +# Memories +CONFIG_MAIN_STACK_SIZE=5200 +CONFIG_SHELL_STACK_SIZE=5200 + +CONFIG_NET_TX_STACK_SIZE=4096 +CONFIG_NET_RX_STACK_SIZE=4096 + +# Debugging +CONFIG_STACK_SENTINEL=y +CONFIG_DEBUG_COREDUMP=y +CONFIG_DEBUG_COREDUMP_BACKEND_LOGGING=y +CONFIG_DEBUG_COREDUMP_MEMORY_DUMP_MIN=y +CONFIG_SHELL_CMDS_RESIZE=n +#CONFIG_DEBUG=y +CONFIG_WIFI_NM_WPA_SUPPLICANT_LOG_LEVEL_INF=y + +# Kernel options +CONFIG_ENTROPY_GENERATOR=y +CONFIG_REBOOT=y + +# Logging +CONFIG_LOG=y +CONFIG_PRINTK=y +CONFIG_SHELL=y +CONFIG_SHELL_GETOPT=y +CONFIG_DEVICE_SHELL=y +CONFIG_POSIX_CLOCK=y +CONFIG_DATE_SHELL=y +CONFIG_NET_CONFIG_AUTO_INIT=n +CONFIG_POSIX_API=y + +# printing of scan results puts pressure on queues in new locking +# design in net_mgmt. So, use a higher timeout for a crowded +# environment. +CONFIG_NET_MGMT_EVENT_QUEUE_TIMEOUT=5000 +CONFIG_NET_SOCKETS_POLL_MAX=12 +CONFIG_NET_MGMT_EVENT_QUEUE_SIZE=16 diff --git a/tests/drivers/wifi/nrf_wifi/src/main.c b/tests/drivers/wifi/nrf_wifi/src/main.c new file mode 100644 index 00000000000000..a05ee59143061f --- /dev/null +++ b/tests/drivers/wifi/nrf_wifi/src/main.c @@ -0,0 +1,10 @@ +/* + * Copyright (c) 2024 Nordic Semiconductor ASA + * + * SPDX-License-Identifier: Apache-2.0 + */ + +int main(void) +{ + return 0; +} diff --git a/tests/drivers/wifi/nrf_wifi/testcase.yaml b/tests/drivers/wifi/nrf_wifi/testcase.yaml new file mode 100644 index 00000000000000..f8dac0a1ea8e90 --- /dev/null +++ b/tests/drivers/wifi/nrf_wifi/testcase.yaml @@ -0,0 +1,46 @@ +common: + build_only: true + tags: + - drivers + - wifi + - net + platform_allow: + - nrf7002dk/nrf5340/cpuapp +tests: + nrf70.build.radio_test: + extra_configs: + - CONFIG_NRF70_RADIO_TEST=y + - CONFIG_NETWORKING=n + - CONFIG_WIFI_NM_WPA_SUPPLICANT=n + nrf70.build.scan_only: + extra_configs: + - CONFIG_NRF70_SCAN_ONLY=y + - CONFIG_NETWORKING=y + - CONFIG_NET_DHCPV4=n + - CONFIG_NET_NATIVE=n + - CONFIG_NET_OFFLOAD=y + - CONFIG_WIFI_NM_WPA_SUPPLICANT=n + nrf70.build.raw_scan_results: + extra_configs: + - CONFIG_WIFI_MGMT_RAW_SCAN_RESULTS=y + - CONFIG_NRF70_SCAN_ONLY=y + - CONFIG_NETWORKING=y + - CONFIG_NET_DHCPV4=n + - CONFIG_NET_NATIVE=n + - CONFIG_NET_OFFLOAD=y + - CONFIG_WIFI_NM_WPA_SUPPLICANT=n + nrf70.build.raw_tx: + extra_configs: + - CONFIG_NRF70_RAW_DATA_TX=y + nrf70.build.raw_rx: + extra_configs: + - CONFIG_NRF70_RAW_DATA_RX=y + nrf70.build.promiscuous: + extra_configs: + - CONFIG_NRF70_PROMISC_DATA_RX=y + nrf70.build.offloaded_raw_tx: + extra_configs: + - CONFIG_NRF70_OFFLOADED_RAW_TX=y + - CONFIG_NETWORKING=n + - CONFIG_WIFI_NM_WPA_SUPPLICANT=n + - CONFIG_NET_L2_WIFI_MGMT=n