Two Byte Integer write test.

pull/1022/head
Roger A. Light 7 years ago
parent eec3220622
commit e701608e71

@ -7,7 +7,7 @@ TEST_LDFLAGS=-lcunit -coverage
all : test
mosq_test : test.o datatype_read.o utf8.o memory_mosq.o packet_datatypes.o utf8_mosq.o
mosq_test : test.o datatype_read.o datatype_write.o utf8.o memory_mosq.o packet_datatypes.o utf8_mosq.o
$(CROSS_COMPILE)$(CC) -o $@ $^ ${TEST_LDFLAGS}
memory_mosq.o : ../../lib/memory_mosq.c

@ -172,7 +172,7 @@ static void TEST_byte_read_success(void)
payload[0] = 0x1F;
byte_read_helper(payload, 1, MOSQ_ERR_SUCCESS, 0x1F);
/* 65,535 value */
/* 255 value */
memset(payload, 0, sizeof(payload));
payload[0] = 0xFF;
byte_read_helper(payload, 1, MOSQ_ERR_SUCCESS, 0xFF);
@ -746,7 +746,7 @@ int init_datatype_read_tests(void)
|| !CU_add_test(test_suite, "Binary Data read (truncated packet)", TEST_binary_data_read_truncated)
){
printf("Error adding datatypes CUnit tests.\n");
printf("Error adding Datatype read CUnit tests.\n");
return 1;
}

@ -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");

@ -14,12 +14,12 @@ int main(int argc, char *argv[])
return 1;
}
if(init_utf8_tests()){
CU_cleanup_registry();
return 1;
}
if(0
|| init_utf8_tests()
|| init_datatype_read_tests()
|| init_datatype_write_tests()
){
if(init_datatype_read_tests()){
CU_cleanup_registry();
return 1;
}

Loading…
Cancel
Save