#include #include int quic_enc_unittest(int argc, char **argv) { const uint8_t init = 4; uint64_t val = 0; struct buffer b; char area[12]; size_t len; int ret = 1; b = b_make(area, sizeof(area), sizeof(area) - 2, 0); /* encode an 8-bit integer as a 4 bytes long varint */ b_putblk(&b, (char[]){0x80, 0x00, 0x00, init}, 4); /* ensure encoded data is wrapping inside buffer */ BUG_ON(b_data(&b) != b_contig_data(&b, b_head_ofs(&b))); /* test that b_quic_dec_int() can decode a wrapping value */ b_quic_dec_int(&val, &b, &len); if (val != init) goto out; ret = 0; out: return ret; } REGISTER_UNITTEST("quic_enc", quic_enc_unittest);