#include <atf-c.h>
#include <sdp.h>
ATF_TC(check_sdp_data_type);
ATF_TC_HEAD(check_sdp_data_type, tc)
{
atf_tc_set_md_var(tc, "descr", "Test sdp_data_type results");
}
ATF_TC_BODY(check_sdp_data_type, tc)
{
uint8_t data[] = {
0x00,
0x08, 0x00,
};
sdp_data_t test = { data, data + sizeof(data) };
sdp_data_t value;
ATF_REQUIRE(sdp_get_data(&test, &value));
ATF_CHECK_EQ(sdp_data_type(&value), SDP_DATA_NIL);
ATF_REQUIRE(sdp_get_data(&test, &value));
ATF_CHECK_EQ(sdp_data_type(&value), SDP_DATA_UINT8);
ATF_CHECK_EQ(test.next, test.end);
}
ATF_TC(check_sdp_data_size);
ATF_TC_HEAD(check_sdp_data_size, tc)
{
atf_tc_set_md_var(tc, "descr", "Test sdp_data_size results");
}
ATF_TC_BODY(check_sdp_data_size, tc)
{
uint8_t data[] = {
0x00,
0x08, 0x00,
0x11, 0x00, 0x00,
0x1a, 0x00, 0x00, 0x00,
0x00,
0x28, 0x00,
0x25, 0x00,
0x25, 0x02, 0x00, 0x00,
0x36, 0x00, 0x00,
0x3e, 0x00, 0x05, 0x00,
0x00, 0x00, 0x00, 0x00,
0x37, 0x00, 0x00, 0x00,
0x00,
0x47, 0x00, 0x00, 0x00,
0x07, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
};
sdp_data_t test = { data, data + sizeof(data) };
sdp_data_t value;
ATF_REQUIRE(sdp_get_data(&test, &value));
ATF_CHECK_EQ(sdp_data_size(&value), 1);
ATF_REQUIRE(sdp_get_data(&test, &value));
ATF_CHECK_EQ(sdp_data_size(&value), 2);
ATF_REQUIRE(sdp_get_data(&test, &value));
ATF_CHECK_EQ(sdp_data_size(&value), 3);
ATF_REQUIRE(sdp_get_data(&test, &value));
ATF_CHECK_EQ(sdp_data_size(&value), 5);
ATF_REQUIRE(sdp_get_data(&test, &value));
ATF_CHECK_EQ(sdp_data_size(&value), 2);
ATF_REQUIRE(sdp_get_data(&test, &value));
ATF_CHECK_EQ(sdp_data_size(&value), 2);
ATF_REQUIRE(sdp_get_data(&test, &value));
ATF_CHECK_EQ(sdp_data_size(&value), 4);
ATF_REQUIRE(sdp_get_data(&test, &value));
ATF_CHECK_EQ(sdp_data_size(&value), 3);
ATF_REQUIRE(sdp_get_data(&test, &value));
ATF_CHECK_EQ(sdp_data_size(&value), 8);
ATF_REQUIRE(sdp_get_data(&test, &value));
ATF_CHECK_EQ(sdp_data_size(&value), 5);
ATF_REQUIRE(sdp_get_data(&test, &value));
ATF_CHECK_EQ(sdp_data_size(&value), 12);
ATF_CHECK_EQ(test.next, test.end);
}
ATF_TP_ADD_TCS(tp)
{
ATF_TP_ADD_TC(tp, check_sdp_data_type);
ATF_TP_ADD_TC(tp, check_sdp_data_size);
return atf_no_error();
}