net: tests: Enables all net kconfig options in one test case

This creates a test case that enables all the currently known
network related Kconfig options. This is useful so that we can
compile test various Kconfig options. Note that the result binary
is not meant to be run anywhere and it will probably not run as
some of the enabled options do not make sense in real life.

Change-Id: Iede36131b43d95acb78b4094004626e1b86e0f95
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This commit is contained in:
Jukka Rissanen 2017-04-11 15:52:20 +03:00
commit bed1117423
5 changed files with 275 additions and 0 deletions

4
tests/net/all/Makefile Normal file
View file

@ -0,0 +1,4 @@
BOARD ?= qemu_x86
CONF_FILE = prj.conf
include $(ZEPHYR_BASE)/Makefile.test

237
tests/net/all/prj.conf Normal file
View file

@ -0,0 +1,237 @@
# Activate all network Kconfig options in order to test that the result
# target compiles ok. Note that the different values in this file are
# just randomly selected, do not use the values in your real life
# applications.
# This test requires lot of memory so increase it here so that
# the compilation succeeds.
CONFIG_RAM_SIZE=300
# Generic options that are useful to be active
CONFIG_SYS_LOG_SHOW_COLOR=y
CONFIG_RANDOM_GENERATOR=y
CONFIG_TEST_RANDOM_GENERATOR=y
CONFIG_ZTEST=y
# net_buf options
CONFIG_NET_BUF=y
CONFIG_NET_BUF_LOG=y
CONFIG_SYS_LOG_NET_BUF_LEVEL=4
CONFIG_NET_BUF_WARN_ALLOC_INTERVAL=2
CONFIG_NET_BUF_SIMPLE_LOG=y
CONFIG_NET_BUF_POOL_USAGE=y
# Core IP options
CONFIG_NETWORKING=y
CONFIG_NET_INIT_PRIO=98
CONFIG_NET_SHELL=y
CONFIG_NET_IP_ADDR_CHECK=y
# Statistics
CONFIG_NET_STATISTICS=y
CONFIG_NET_STATISTICS_USER_API=y
CONFIG_NET_STATISTICS_PERIODIC_OUTPUT=y
CONFIG_NET_STATISTICS_IPV4=y
CONFIG_NET_STATISTICS_IPV6=y
CONFIG_NET_STATISTICS_IPV6_ND=y
CONFIG_NET_STATISTICS_ICMP=y
CONFIG_NET_STATISTICS_UDP=y
CONFIG_NET_STATISTICS_TCP=y
CONFIG_NET_STATISTICS_RPL=y
CONFIG_NET_STATISTICS_MLD=y
# L2 drivers
CONFIG_NET_L2_IEEE802154_RADIO_TX_RETRIES=2
CONFIG_NET_L2_IEEE802154_RADIO_CSMA_CA=y
CONFIG_NET_L2_IEEE802154_RADIO_ALOHA=n
CONFIG_NET_L2_IEEE802154_RADIO_CSMA_CA_MAX_BO=4
CONFIG_NET_L2_IEEE802154_RADIO_CSMA_CA_MIN_BE=3
CONFIG_NET_L2_IEEE802154_RADIO_CSMA_CA_MAX_BE=5
CONFIG_NET_L2_IEEE802154=y
CONFIG_NET_L2_IEEE802154_MGMT=y
CONFIG_NET_L2_IEEE802154_ACK_REPLY=y
CONFIG_NET_L2_IEEE802154_RFD=y
CONFIG_NET_L2_IEEE802154_SHELL=y
CONFIG_NET_L2_IEEE802154_FRAGMENT=y
CONFIG_NET_L2_IEEE802154_FRAGMENT_REASS_CACHE_SIZE=2
CONFIG_NET_L2_IEEE802154_REASSEMBLY_TIMEOUT=10
CONFIG_NET_L2_IEEE802154_SECURITY=y
CONFIG_NET_L2_IEEE802154_SECURITY_CRYPTO_DEV_NAME="CRYPTO-DEV"
CONFIG_NET_L2_DUMMY=y
CONFIG_NET_L2_ETHERNET=y
CONFIG_NET_L2_BLUETOOTH=y
CONFIG_NET_L2_BLUETOOTH_ZEP1656=y
CONFIG_NET_L2_BLUETOOTH_SEC_LEVEL=4
CONFIG_NET_L2_BLUETOOTH_MGMT=y
CONFIG_NET_L2_BLUETOOTH_SHELL=y
CONFIG_NET_L2_RAW_CHANNEL=y
CONFIG_NET_DEBUG_L2_IEEE802154=y
CONFIG_NET_DEBUG_L2_IEEE802154_FRAGMENT=y
CONFIG_NET_DEBUG_L2_ETHERNET=y
CONFIG_NET_DEBUG_L2_BLUETOOTH=y
# IP offload support
CONFIG_NET_OFFLOAD=y
CONFIG_NET_DEBUG_NET_OFFLOAD=y
# RPL
CONFIG_NET_RPL=y
CONFIG_NET_RPL_MRHOF=y
CONFIG_NET_RPL_OF0=n
CONFIG_NET_RPL_MC_NONE=n
CONFIG_NET_RPL_MC_EXT=n
CONFIG_NET_RPL_MC_ENERGY=y
CONFIG_NET_RPL_MOP2=n
CONFIG_NET_RPL_MOP3=y
CONFIG_NET_RPL_DAO_MAX_RETRANSMISSIONS=2
CONFIG_NET_DEBUG_RPL=y
# Routing table
CONFIG_NET_MAX_ROUTERS=3
CONFIG_NET_ROUTE=y
CONFIG_NET_ROUTE_MCAST=y
# TCP
CONFIG_NET_TCP=y
CONFIG_NET_DEBUG_TCP=y
CONFIG_NET_TCP_TIME_WAIT=y
CONFIG_NET_TCP_2MSL_TIME=20
# UDP
CONFIG_NET_UDP=y
CONFIG_NET_DEBUG_UDP=y
# Network context
CONFIG_NET_MAX_CONN=10
CONFIG_NET_CONN_CACHE=y
CONFIG_NET_MAX_CONTEXTS=4
CONFIG_NET_CONTEXT_NBUF_POOL=y
CONFIG_NET_CONTEXT_SYNC_RECV=y
CONFIG_NET_CONTEXT_CHECK=y
# SLIP
CONFIG_NET_SLIP_TUN=n
CONFIG_NET_SLIP_TAP=y
# Trickle algo
CONFIG_NET_TRICKLE=y
CONFIG_NET_DEBUG_TRICKLE=y
# Network buffer
CONFIG_NET_NBUF_RX_COUNT=10
CONFIG_NET_NBUF_TX_COUNT=10
CONFIG_NET_NBUF_RX_DATA_COUNT=15
CONFIG_NET_NBUF_TX_DATA_COUNT=15
CONFIG_NET_NBUF_DATA_SIZE=128
CONFIG_NET_NBUF_USER_DATA_SIZE=10
# IPv6
CONFIG_NET_IPV6=y
CONFIG_NET_IF_UNICAST_IPV6_ADDR_COUNT=3
CONFIG_NET_IF_MCAST_IPV6_ADDR_COUNT=3
CONFIG_NET_IF_IPV6_PREFIX_COUNT=3
CONFIG_NET_INITIAL_HOP_LIMIT=64
CONFIG_NET_IPV6_MAX_NEIGHBORS=5
CONFIG_NET_IPV6_FRAGMENT=y
CONFIG_NET_IPV6_FRAGMENT_MAX_COUNT=2
CONFIG_NET_IPV6_FRAGMENT_TIMEOUT=23
CONFIG_NET_IPV6_MLD=y
CONFIG_NET_IPV6_NBR_CACHE=y
CONFIG_NET_IPV6_ND=y
CONFIG_NET_IPV6_DAD=y
CONFIG_NET_IPV6_RA_RDNSS=y
CONFIG_NET_DEBUG_IPV6=y
CONFIG_NET_DEBUG_ICMPV6=y
CONFIG_NET_DEBUG_IPV6_NBR_CACHE=y
# 6lo
CONFIG_NET_6LO=y
CONFIG_NET_6LO_CONTEXT=y
CONFIG_NET_MAX_6LO_CONTEXTS=2
CONFIG_NET_DEBUG_6LO=y
# Sample application generic options
CONFIG_NET_APP_SETTINGS=y
CONFIG_NET_APP_MY_IPV6_ADDR="2001:db8::1"
CONFIG_NET_APP_PEER_IPV6_ADDR="2001:db8::2"
CONFIG_NET_APP_MY_IPV4_ADDR="192.0.2.1"
CONFIG_NET_APP_PEER_IPV4_ADDR="192.0.2.2"
CONFIG_NET_APP_IEEE802154_DEV_NAME="FOO-BAR"
CONFIG_NET_APP_IEEE802154_PAN_ID=0x1234
CONFIG_NET_APP_IEEE802154_CHANNEL=15
CONFIG_NET_APP_IEEE802154_SECURITY_KEY="key"
CONFIG_NET_APP_IEEE802154_SECURITY_KEY_MODE=0
CONFIG_NET_APP_IEEE802154_SECURITY_LEVEL=0
# Network management
CONFIG_NET_MGMT=y
CONFIG_NET_MGMT_EVENT=y
CONFIG_NET_MGMT_EVENT_STACK_SIZE=800
CONFIG_NET_MGMT_EVENT_THREAD_PRIO=66
CONFIG_NET_MGMT_EVENT_QUEUE_SIZE=2
CONFIG_NET_DEBUG_MGMT_EVENT=y
CONFIG_NET_DEBUG_MGMT_EVENT_STACK=y
# IPv4
CONFIG_NET_IPV4=y
CONFIG_NET_INITIAL_TTL=42
CONFIG_NET_IF_UNICAST_IPV4_ADDR_COUNT=2
CONFIG_NET_IF_MCAST_IPV4_ADDR_COUNT=2
CONFIG_NET_DHCPV4=y
CONFIG_NET_DEBUG_IPV4=y
CONFIG_NET_DEBUG_ICMPV4=y
CONFIG_NET_DEBUG_DHCPV4=y
# ARP
CONFIG_NET_ARP=y
CONFIG_NET_ARP_TABLE_SIZE=3
CONFIG_NET_DEBUG_ARP=y
# Logging
CONFIG_NET_LOG=y
CONFIG_SYS_LOG_NET_LEVEL=4
CONFIG_NET_LOG_GLOBAL=y
CONFIG_NET_DEBUG_CORE=y
CONFIG_NET_DEBUG_IF=y
CONFIG_NET_DEBUG_UTILS=y
CONFIG_NET_DEBUG_CONTEXT=y
CONFIG_NET_DEBUG_NET_BUF=y
CONFIG_NET_DEBUG_NET_BUF_EXTERNALS=4
CONFIG_NET_DEBUG_CONN=y
CONFIG_NET_DEBUG_ROUTE=y
# IP threads stack size
CONFIG_NET_TX_STACK_SIZE=1024
CONFIG_NET_RX_STACK_SIZE=1024
CONFIG_NET_RX_STACK_RPL=300
# DNS
CONFIG_DNS_RESOLVER=y
CONFIG_DNS_RESOLVER_ADDITIONAL_BUF_CTR=1
CONFIG_DNS_RESOLVER_ADDITIONAL_QUERIES=2
CONFIG_DNS_RESOLVER_MAX_SERVERS=5
CONFIG_DNS_SERVER_IP_ADDRESSES=y
CONFIG_DNS_SERVER1="2001:db8::33:fe:2c:53"
CONFIG_DNS_SERVER2="[2001:db8::42]:5353"
CONFIG_DNS_SERVER3="192.0.2.42"
CONFIG_DNS_SERVER4="2001:db8::2"
CONFIG_DNS_SERVER5="192.0.2.11:1000"
CONFIG_DNS_NUM_CONCUR_QUERIES=2
CONFIG_NET_DEBUG_DNS_RESOLVE=y
# CoAP
CONFIG_ZOAP=y
# MQTT
CONFIG_MQTT_LIB=y
CONFIG_MQTT_MSG_MAX_SIZE=128
CONFIG_MQTT_ADDITIONAL_BUFFER_CTR=1
CONFIG_MQTT_SUBSCRIBE_MAX_TOPICS=2
# HTTP
CONFIG_HTTP=y
CONFIG_HTTP_SERVER=y
CONFIG_HTTP_HEADER_FIELD_ITEMS=2
CONFIG_HTTP_CLIENT=y
CONFIG_HTTP_PARSER=y
CONFIG_HTTP_PARSER_STRICT=y

View file

@ -0,0 +1,2 @@
obj-y = main.o
include $(ZEPHYR_BASE)/tests/Makefile.test

27
tests/net/all/src/main.c Normal file
View file

@ -0,0 +1,27 @@
/* main.c - Application main entry point */
/* We are just testing that this program compiles ok with all possible
* network related Kconfig options enabled.
*/
/*
* Copyright (c) 2017 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <ztest.h>
static void ok(void)
{
assert_true(true, "This test should never fail");
}
void test_main(void)
{
ztest_test_suite(net_compile_all_test,
ztest_unit_test(ok)
);
ztest_run_test_suite(net_compile_all_test);
}

View file

@ -0,0 +1,5 @@
[test]
tags = net
build_only = true
arch_whitelist = x86
platform_whitelist = qemu_x86