Skip to content

Commit 16b03ec

Browse files
committed
tests: mqtt: Add test to verify publish reception
Add MQTT test to verify PUBLISH message reception. Signed-off-by: Robert Lubos <[email protected]>
1 parent 6e3577b commit 16b03ec

File tree

6 files changed

+579
-0
lines changed

6 files changed

+579
-0
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
cmake_minimum_required(VERSION 3.8.2)
2+
include($ENV{ZEPHYR_BASE}/cmake/app/boilerplate.cmake NO_POLICY_SCOPE)
3+
project(mqtt_subscriber)
4+
5+
target_include_directories(app PRIVATE
6+
$ENV{ZEPHYR_BASE}/subsys/net/ip
7+
)
8+
FILE(GLOB app_sources src/*.c)
9+
target_sources(app PRIVATE ${app_sources})

tests/net/lib/mqtt_pubsub/prj.conf

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
CONFIG_NETWORKING=y
2+
CONFIG_NET_TCP=y
3+
CONFIG_ENTROPY_GENERATOR=y
4+
CONFIG_TEST_RANDOM_GENERATOR=y
5+
CONFIG_NET_LOG=y
6+
CONFIG_INIT_STACKS=y
7+
8+
CONFIG_NET_IPV6_RA_RDNSS=y
9+
CONFIG_NET_IF_UNICAST_IPV6_ADDR_COUNT=3
10+
CONFIG_NET_IF_MCAST_IPV6_ADDR_COUNT=2
11+
12+
CONFIG_STDOUT_CONSOLE=y
13+
14+
# Enable IPv6 support
15+
CONFIG_NET_IPV6=n
16+
# Enable IPv4 support
17+
CONFIG_NET_IPV4=y
18+
19+
# Enable the MQTT Lib
20+
CONFIG_MQTT_LIB=y
21+
22+
CONFIG_NET_CONFIG_SETTINGS=y
23+
CONFIG_NET_CONFIG_MY_IPV6_ADDR="2001:db8::1"
24+
CONFIG_NET_CONFIG_PEER_IPV6_ADDR="2001:db8::2"
25+
26+
CONFIG_NET_CONFIG_MY_IPV4_ADDR="192.0.2.1"
27+
CONFIG_NET_CONFIG_PEER_IPV4_ADDR="192.0.2.2"
28+
29+
CONFIG_MAIN_STACK_SIZE=2048
30+
31+
# For IPv6
32+
CONFIG_NET_BUF_DATA_SIZE=256
33+
34+
CONFIG_ZTEST=y
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/*
2+
* Copyright (c) 2017 Intel Corporation
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#ifndef __CONFIG_H__
8+
#define __CONFIG_H__
9+
10+
#ifdef CONFIG_NET_CONFIG_SETTINGS
11+
#ifdef CONFIG_NET_IPV6
12+
#define ZEPHYR_ADDR CONFIG_NET_CONFIG_MY_IPV6_ADDR
13+
#define SERVER_ADDR CONFIG_NET_CONFIG_PEER_IPV6_ADDR
14+
#else
15+
#define ZEPHYR_ADDR CONFIG_NET_CONFIG_MY_IPV4_ADDR
16+
#define SERVER_ADDR CONFIG_NET_CONFIG_PEER_IPV4_ADDR
17+
#endif
18+
#else
19+
#ifdef CONFIG_NET_IPV6
20+
#define ZEPHYR_ADDR "2001:db8::1"
21+
#define SERVER_ADDR "2001:db8::2"
22+
#else
23+
#define ZEPHYR_ADDR "192.168.1.101"
24+
#define SERVER_ADDR "192.168.1.10"
25+
#endif
26+
#endif
27+
28+
#define SERVER_PORT 1883
29+
30+
#define APP_SLEEP_MSECS 500
31+
#define APP_TX_RX_TIMEOUT 300
32+
#define APP_NET_INIT_TIMEOUT 1000
33+
34+
#define APP_CONNECT_TRIES 10
35+
36+
#define APP_MAX_ITERATIONS 100
37+
38+
#define MQTT_CLIENTID "zephyr_pubsub"
39+
40+
#endif
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
* Copyright (c) 2017 Intel Corporation
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
#include <ztest.h>
8+
9+
extern void test_mqtt_connect(void);
10+
extern void test_mqtt_subscribe(void);
11+
extern void test_mqtt_publish_short(void);
12+
extern void test_mqtt_publish_long(void);
13+
extern void test_mqtt_unsubscribe(void);
14+
extern void test_mqtt_disconnect(void);
15+
16+
void test_main(void)
17+
{
18+
ztest_test_suite(mqtt_test,
19+
ztest_unit_test(test_mqtt_connect),
20+
ztest_unit_test(test_mqtt_subscribe),
21+
ztest_unit_test(test_mqtt_publish_short),
22+
ztest_unit_test(test_mqtt_publish_long),
23+
ztest_unit_test(test_mqtt_unsubscribe),
24+
ztest_unit_test(test_mqtt_disconnect));
25+
ztest_run_test_suite(mqtt_test);
26+
}

0 commit comments

Comments
 (0)