zephyr/tests/net/lib/mqtt_packet
Robert Lubos b173c177db net: mqtt: Improve PUBLISH message length validation
Identify when received PUBLISH message is malformed and overall packet
length received is smaller than parsed variable header lenght.
Add unit test to cover this case.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2020-03-28 09:36:12 +02:00
..
boards drivers: wifi: simplelink: Rework offloading mechanism 2020-01-31 11:36:02 -05:00
src net: mqtt: Improve PUBLISH message length validation 2020-03-28 09:36:12 +02:00
CMakeLists.txt cmake: use find_package to locate Zephyr 2020-03-27 16:23:46 +01:00
prj.conf
README boards: remove arduino 101 and related boards 2019-07-29 21:30:25 -07:00
testcase.yaml tests: net: stop whitelisting 2019-09-20 09:21:11 +03:00

MQTT Library Test
-----------------

This MQTT application tests the low-level API for packet handling.
No network activity is involved in this test, so ** theoretically **
it can be run on almost any board already supported by Zephyr and
with enough RAM/ROM.

Build and Run
-------------

* QEMU x86

  Build & run:
  mkdir build; cd build
  cmake -DBOARD=qemu_x86 ..
  make run

* NXP Freedom-K64F (frdm-k64f)

  Build:
  mkdir build; cd build
  cmake -DBOARD=frdm_k64f ..
  make run

  Firmware version:
  Version: 0226
  Build:   Aug 24 2015 17:06:30
  Git Commit SHA: 27a236b9fe39c674a703c5c89655fbd26b8e27e1
  Git Local mods: Yes

  For more information about this board, see:
  https://developer.mbed.org/platforms/frdm-k64f/

Sample Output
-------------

To exit from QEMU enter: 'CTRL+a, x'
[QEMU] CPU: qemu32
tc_start() - MQTT Library test
[PASS] 1 - CONNECT, new session, zeros
[PASS] 2 - CONNECT, new session, will
[PASS] 3 - CONNECT, new session, will retain
[PASS] 4 - CONNECT, new session, will qos = 1
[PASS] 5 - CONNECT, new session, will qos = 1, will retain
[PASS] 6 - CONNECT, new session, username and password
[PASS] 7 - DISCONNECT
[PASS] 8 - PUBLISH, qos = 0
[PASS] 9 - PUBLISH, retain = 1
[PASS] 10 - PUBLISH, retain = 1, qos = 1
[PASS] 11 - PUBLISH, qos = 2
[PASS] 12 - SUBSCRIBE, one topic, qos = 0
[PASS] 13 - SUBSCRIBE, one topic, qos = 1
[PASS] 14 - SUBSCRIBE, one topic, qos = 2
[PASS] 15 - SUBACK, one topic, qos = 0
[PASS] 16 - SUBACK, one topic, qos = 1
[PASS] 17 - SUBACK, one topic, qos = 2
[PASS] 18 - PINGREQ
[PASS] 19 - PUBACK
[PASS] 20 - PUBREC
[PASS] 21 - PUBREL
[PASS] 22 - PUBCOMP
[PASS] 23 - UNSUBACK
===================================================================
PASS - main.
===================================================================
PROJECT EXECUTION SUCCESSFUL