|
|
|
@ -1,6 +1,8 @@
|
|
|
|
|
#include <CUnit/CUnit.h>
|
|
|
|
|
#include <CUnit/Basic.h>
|
|
|
|
|
|
|
|
|
|
#include <arpa/inet.h>
|
|
|
|
|
|
|
|
|
|
#include "packet_mosq.h"
|
|
|
|
|
|
|
|
|
|
/* ========================================================================
|
|
|
|
@ -30,6 +32,35 @@ static void TEST_byte_write(void)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* ========================================================================
|
|
|
|
|
* TWO BYTE INTEGER TESTS
|
|
|
|
|
* ======================================================================== */
|
|
|
|
|
|
|
|
|
|
/* This tests writing a Two Byte Integer to an incoming packet. */
|
|
|
|
|
static void TEST_uint16_write(void)
|
|
|
|
|
{
|
|
|
|
|
uint8_t payload[650];
|
|
|
|
|
uint16_t *payload16;
|
|
|
|
|
struct mosquitto__packet packet;
|
|
|
|
|
int i;
|
|
|
|
|
|
|
|
|
|
memset(&packet, 0, sizeof(struct mosquitto__packet));
|
|
|
|
|
memset(payload, 0, sizeof(payload));
|
|
|
|
|
packet.payload = payload;
|
|
|
|
|
packet.packet_length = 650;
|
|
|
|
|
|
|
|
|
|
for(i=0; i<325; i++){
|
|
|
|
|
packet__write_uint16(&packet, 100*i);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CU_ASSERT_EQUAL(packet.pos, 650);
|
|
|
|
|
payload16 = (uint16_t *)payload;
|
|
|
|
|
for(i=0; i<325; i++){
|
|
|
|
|
CU_ASSERT_EQUAL(payload16[i], htons(100*i));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* ========================================================================
|
|
|
|
|
* TEST SUITE SETUP
|
|
|
|
|
* ======================================================================== */
|
|
|
|
@ -45,7 +76,8 @@ int init_datatype_write_tests(void)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(0
|
|
|
|
|
|| !CU_add_test(test_suite, "Byte write (empty packet)", TEST_byte_write)
|
|
|
|
|
|| !CU_add_test(test_suite, "Byte write)", TEST_byte_write)
|
|
|
|
|
|| !CU_add_test(test_suite, "Two Byte Integer write", TEST_uint16_write)
|
|
|
|
|
){
|
|
|
|
|
|
|
|
|
|
printf("Error adding Datatype write CUnit tests.\n");
|
|
|
|
|