Branch Coverage

type.c
Criterion Covered Total %
branch 62 132 46.9


line true false branch
14 0 350 if (UNLIKELY(unpack_short_nocroak(aTHX_ input, len, pos, &output->type_id) != 0))
17 346 4 if (output->type_id > 0 && output->type_id < 0x20) {
319 27 if (output->type_id > 0 && output->type_id < 0x20) {
20 4 27 } else if (output->type_id == CC_TYPE_CUSTOM) {
23 0 4 if (UNLIKELY(unpack_string_nocroak(aTHX_ input, len, pos, &custom_type, &type_length) != 0)) {
27 0 4 if (type_length > strlen(marshal_prefix) && !memcmp(marshal_prefix, custom_type, strlen(marshal_prefix))) {
0 0 if (type_length > strlen(marshal_prefix) && !memcmp(marshal_prefix, custom_type, strlen(marshal_prefix))) {
35 0 0 if (!memcmp(marshal_type, "UTF8Type", 8)) { output->type_id = CC_TYPE_VARCHAR; break; }
36 0 0 if (!memcmp(marshal_type, "UUIDType", 8)) { output->type_id = CC_TYPE_UUID; break; }
37 0 0 if (!memcmp(marshal_type, "TimeType", 8)) { output->type_id = CC_TYPE_TIME; break; }
38 0 0 if (!memcmp(marshal_type, "ByteType", 8)) { output->type_id = CC_TYPE_TINYINT; break; }
39 0 0 if (!memcmp(marshal_type, "DateType", 8)) { output->type_id = CC_TYPE_DATE; break; }
40 0 0 if (!memcmp(marshal_type, "LongType", 8)) { output->type_id = CC_TYPE_BIGINT; break; }
43 0 0 if (!memcmp(marshal_type, "AsciiType", 9)) { output->type_id = CC_TYPE_ASCII; break; }
44 0 0 if (!memcmp(marshal_type, "Int32Type", 9)) { output->type_id = CC_TYPE_INT; break; }
45 0 0 if (!memcmp(marshal_type, "BytesType", 9)) { output->type_id = CC_TYPE_BLOB; break; }
46 0 0 if (!memcmp(marshal_type, "FloatType", 9)) { output->type_id = CC_TYPE_FLOAT; break; }
47 0 0 if (!memcmp(marshal_type, "ShortType", 9)) { output->type_id = CC_TYPE_SMALLINT; break; }
50 0 0 if (!memcmp(marshal_type, "DoubleType", 10)) { output->type_id = CC_TYPE_DOUBLE; break; }
53 0 0 if (!memcmp(marshal_type, "BooleanType", 11)) { output->type_id = CC_TYPE_BOOLEAN; break; }
54 0 0 if (!memcmp(marshal_type, "DecimalType", 11)) { output->type_id = CC_TYPE_DECIMAL; break; }
55 0 0 if (!memcmp(marshal_type, "IntegerType", 11)) { output->type_id = CC_TYPE_VARINT; break; }
58 0 0 if (!memcmp(marshal_type, "TimeUUIDType", 12)) { output->type_id = CC_TYPE_TIMEUUID; break; }
61 0 0 if (!memcmp(marshal_type, "TimestampType", 13)) { output->type_id = CC_TYPE_TIMESTAMP; break; }
64 0 0 if (!memcmp(marshal_type, "SimpleDateType", 14)) { output->type_id = CC_TYPE_DATE; break; }
67 0 0 if (!memcmp(marshal_type, "InetAddressType", 15)) { output->type_id = CC_TYPE_INET; break; }
70 0 0 if (!memcmp(marshal_type, "CounterColumnType", 17)) { output->type_id = CC_TYPE_COUNTER; break; }
79 9 18 } else if (output->type_id == CC_TYPE_LIST) {
84 0 9 if (UNLIKELY(unpack_type_nocroak(aTHX_ input, len, pos, inner) != 0)) {
88 9 9 } else if (output->type_id == CC_TYPE_MAP) {
91 0 9 if (UNLIKELY(unpack_type_nocroak(aTHX_ input, len, pos, &output->inner_type[0]) != 0)) {
94 0 9 if (UNLIKELY(unpack_type_nocroak(aTHX_ input, len, pos, &output->inner_type[1]) != 0)) {
98 4 5 } else if (output->type_id == CC_TYPE_SET) {
103 0 4 if (UNLIKELY(unpack_type_nocroak(aTHX_ input, len, pos, inner) != 0)) {
107 2 3 } else if (output->type_id == CC_TYPE_UDT) {
115 0 2 if (UNLIKELY(unpack_string_nocroak(aTHX_ input, len, pos, &str, &str_len) != 0)) {
120 0 2 if (UNLIKELY(unpack_string_nocroak(aTHX_ input, len, pos, &str, &str_len) != 0)) {
125 0 2 if (UNLIKELY(unpack_short_nocroak(aTHX_ input, len, pos, &field_count) != 0)) {
130 2 0 if (UNLIKELY(field_count > len || field_count == 0)) {
0 2 if (UNLIKELY(field_count > len || field_count == 0)) {
136 2 2 for (i = 0; i < field_count; i++) {
138 0 2 if (UNLIKELY(unpack_string_nocroak(aTHX_ input, len, pos, &str, &str_len) != 0)) {
142 2 0 PERL_HASH(field->name_hash, str, str_len);
144 0 2 if (UNLIKELY(unpack_type_nocroak(aTHX_ input, len, pos, &field->type) != 0)) {
149 3 0 } else if (output->type_id == CC_TYPE_TUPLE) {
155 0 3 if (UNLIKELY(unpack_short_nocroak(aTHX_ input, len, pos, &field_count) != 0)) {
160 3 0 if (UNLIKELY(field_count > len || field_count == 0)) {
0 3 if (UNLIKELY(field_count > len || field_count == 0)) {
166 6 3 for (i = 0; i < field_count; i++) {
170 0 6 if (UNLIKELY(unpack_type_nocroak(aTHX_ input, len, pos, field) != 0)) {
184 0 311 if (UNLIKELY(unpack_type_nocroak(aTHX_ input, len, pos, output) != 0)) {
192 341 9 if (type->type_id == CC_TYPE_LIST || type->type_id == CC_TYPE_SET) {
4 337 if (type->type_id == CC_TYPE_LIST || type->type_id == CC_TYPE_SET) {
193 13 0 if (type->inner_type != NULL) {
199 9 328 } else if (type->type_id == CC_TYPE_MAP) {
200 9 0 if (type->inner_type != NULL) {
207 4 324 } else if (type->type_id == CC_TYPE_CUSTOM) {
208 4 0 if (type->custom_name != NULL) {
213 2 322 } else if (type->type_id == CC_TYPE_UDT) {
214 2 0 if (type->udt != NULL) {
217 2 0 if (type->udt->fields != NULL) {
219 2 2 for (i = 0; i < type->udt->field_count; i++) {
229 3 319 } else if (type->type_id == CC_TYPE_TUPLE) {
230 3 0 if (type->tuple != NULL) {
231 3 0 if (type->tuple->fields != NULL) {
233 6 3 for (i = 0; i < type->tuple->field_count; i++) {