
11
CHAPTER
FIVE
LASTWILLANDTESTAMENT
TypeABR module have passed all of the required FreeRTOS
qualification
tests. However, some
modifications
are
required to pass the
LastWillAndTestament
test case.
This test case requires plenty of heap memory for two MQTT connection, so the default
configuration
needs to be
modified
to reduce the
firmware
size and release more memory.
5.1 Reference Solution
Here is a solution for reference.
Note:
This LastWillAndTestament should be tested alone.
1.
Modify the AWS Iot Test
configuration
files
•
tests/common/aws_test_runner.c updated/tests/common/aws_test_runner.c
103
104
105
106
107
108
109
110
•
libraries/c_sdk/standard/mqtt/test/system/iot_tests_mqtt_system.c
716
717
718
719
720
721
722
723
724
725
726
•
vendors/marvell/boards/mw300_rd/aws_tests/config_files/aws_test_runner_config.h
TEST(MQTT_System, LastWillAndTestament)
/
libraries
/
c_sdk
/
standard
/
mqtt
/
test
/
system
/
C
→
io
//RUN_TEST_GROUP( MQTT_Unit_Validate );
//RUN_TEST_GROUP( MQTT_Unit_Subscription );
//RUN_TEST_GROUP( MQTT_Unit_Receive );
//RUN_TEST_GROUP( MQTT_Unit_API );
//RUN_TEST_GROUP( MQTT_Unit_Metrics );
#if ( testrunnerFULL_MQTTv4_ENABLED == 1 )
RUN_TEST_GROUP( MQTT_System );
#endif
/* if ( testrunnerFULL_MQTTv4_ENABLED == 1 ) */
//RUN_TEST_CASE( MQTT_System, SubscribePublishWaitQoS0 );
//RUN_TEST_CASE( MQTT_System, SubscribePublishWaitQoS1 );
//RUN_TEST_CASE( MQTT_System, SubscribePublishAsync );
//RUN_TEST_CASE( MQTT_System, RestorePreviousSession );
//RUN_TEST_CASE( MQTT_System, WaitAfterDisconnect );
//RUN_TEST_CASE( MQTT_System, SubscribeCompleteReentrancy );
//RUN_TEST_CASE( MQTT_System, IncomingPublishReentrancy )
TEST_GROUP_RUNNER( MQTT_System )
{
RUN_TEST_CASE( MQTT_System, LastWillAndTestament );
}