mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-03-01 17:47:30 +01:00
wire/test/run-tlvstream.c: use generated defs for test vectors.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
4b5cd5ff84
commit
fafd5ed4b0
1 changed files with 25 additions and 238 deletions
|
@ -4,12 +4,15 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <wally_core.h>
|
#include <wally_core.h>
|
||||||
|
|
||||||
|
#include <common/amount.c>
|
||||||
#include <common/bigsize.c>
|
#include <common/bigsize.c>
|
||||||
|
#include <common/node_id.c>
|
||||||
|
|
||||||
static const char *reason;
|
static const char *reason;
|
||||||
#undef SUPERVERBOSE
|
#undef SUPERVERBOSE
|
||||||
#define SUPERVERBOSE(r) do { reason = (r); } while(0)
|
#define SUPERVERBOSE(r) do { reason = (r); } while(0)
|
||||||
|
|
||||||
|
#include <wire/gen_peer_wire.c>
|
||||||
#include <wire/tlvstream.c>
|
#include <wire/tlvstream.c>
|
||||||
#include <wire/fromwire.c>
|
#include <wire/fromwire.c>
|
||||||
#include <wire/towire.c>
|
#include <wire/towire.c>
|
||||||
|
@ -17,227 +20,6 @@ static const char *reason;
|
||||||
/* AUTOGENERATED MOCKS START */
|
/* AUTOGENERATED MOCKS START */
|
||||||
/* AUTOGENERATED MOCKS END */
|
/* AUTOGENERATED MOCKS END */
|
||||||
|
|
||||||
/* FIXME: Autogenerate these! */
|
|
||||||
/* BOLT-EXPERIMENTAL #1:
|
|
||||||
* 1. tlvs: `n1`
|
|
||||||
* 2. types:
|
|
||||||
* 1. type: 1 (`tlv1`)
|
|
||||||
* 2. data:
|
|
||||||
* * [`tu64`:`amount_msat`]
|
|
||||||
* 1. type: 2 (`tlv2`)
|
|
||||||
* 2. data:
|
|
||||||
* * [`short_channel_id`:`scid`]
|
|
||||||
* 1. type: 3 (`tlv3`)
|
|
||||||
* 2. data:
|
|
||||||
* * [`point`:`node_id`]
|
|
||||||
* * [`u64`:`amount_msat_1`]
|
|
||||||
* * [`u64`:`amount_msat_2`]
|
|
||||||
* 1. type: 254 (`tlv4`)
|
|
||||||
* 2. data:
|
|
||||||
* * [`u16`:`cltv_delta`]
|
|
||||||
*/
|
|
||||||
struct tlv_n1_tlv1 {
|
|
||||||
u64 amount_msat;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct tlv_n1_tlv2 {
|
|
||||||
struct short_channel_id scid;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct tlv_n1_tlv3 {
|
|
||||||
struct pubkey node_id;
|
|
||||||
u64 amount_msat_1;
|
|
||||||
u64 amount_msat_2;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct tlv_n1_tlv4 {
|
|
||||||
u16 cltv_delta;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct tlv_n1 {
|
|
||||||
struct tlv_n1_tlv1 *tlv1;
|
|
||||||
struct tlv_n1_tlv2 *tlv2;
|
|
||||||
struct tlv_n1_tlv3 *tlv3;
|
|
||||||
struct tlv_n1_tlv4 *tlv4;
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct tlv_n1 *tlv_n1_new(const tal_t *ctx)
|
|
||||||
{
|
|
||||||
/* Initialize everything to NULL. (Quiet, C pedants!) */
|
|
||||||
return talz(ctx, struct tlv_n1);
|
|
||||||
}
|
|
||||||
|
|
||||||
static u8 *towire_tlv_n1_tlv1(const tal_t *ctx, const void *vrecord)
|
|
||||||
{
|
|
||||||
const struct tlv_n1 *r = vrecord;
|
|
||||||
u8 *ptr;
|
|
||||||
|
|
||||||
if (!r->tlv1)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
ptr = tal_arr(ctx, u8, 0);
|
|
||||||
towire_tu64(&ptr, r->tlv1->amount_msat);
|
|
||||||
return ptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
static u8 *towire_tlv_n1_tlv2(const tal_t *ctx, const void *vrecord)
|
|
||||||
{
|
|
||||||
const struct tlv_n1 *r = vrecord;
|
|
||||||
u8 *ptr;
|
|
||||||
|
|
||||||
if (!r->tlv2)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
ptr = tal_arr(ctx, u8, 0);
|
|
||||||
towire_short_channel_id(&ptr, &r->tlv2->scid);
|
|
||||||
return ptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
static u8 *towire_tlv_n1_tlv3(const tal_t *ctx, const void *vrecord)
|
|
||||||
{
|
|
||||||
const struct tlv_n1 *r = vrecord;
|
|
||||||
u8 *ptr;
|
|
||||||
|
|
||||||
if (!r->tlv3)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
ptr = tal_arr(ctx, u8, 0);
|
|
||||||
towire_pubkey(&ptr, &r->tlv3->node_id);
|
|
||||||
towire_u64(&ptr, r->tlv3->amount_msat_1);
|
|
||||||
towire_u64(&ptr, r->tlv3->amount_msat_2);
|
|
||||||
return ptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
static u8 *towire_tlv_n1_tlv4(const tal_t *ctx, const void *vrecord)
|
|
||||||
{
|
|
||||||
const struct tlv_n1 *r = vrecord;
|
|
||||||
u8 *ptr;
|
|
||||||
|
|
||||||
if (!r->tlv4)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
ptr = tal_arr(ctx, u8, 0);
|
|
||||||
towire_u16(&ptr, r->tlv4->cltv_delta);
|
|
||||||
return ptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void fromwire_tlv_n1_tlv1(const u8 **cursor, size_t *max, void *vrecord)
|
|
||||||
{
|
|
||||||
struct tlv_n1 *r = vrecord;
|
|
||||||
|
|
||||||
r->tlv1 = tal(r, struct tlv_n1_tlv1);
|
|
||||||
r->tlv1->amount_msat = fromwire_tu64(cursor, max);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void fromwire_tlv_n1_tlv2(const u8 **cursor, size_t *max, void *vrecord)
|
|
||||||
{
|
|
||||||
struct tlv_n1 *r = vrecord;
|
|
||||||
|
|
||||||
r->tlv2 = tal(r, struct tlv_n1_tlv2);
|
|
||||||
fromwire_short_channel_id(cursor, max, &r->tlv2->scid);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void fromwire_tlv_n1_tlv3(const u8 **cursor, size_t *max, void *vrecord)
|
|
||||||
{
|
|
||||||
struct tlv_n1 *r = vrecord;
|
|
||||||
|
|
||||||
r->tlv3 = tal(r, struct tlv_n1_tlv3);
|
|
||||||
|
|
||||||
fromwire_pubkey(cursor, max, &r->tlv3->node_id);
|
|
||||||
r->tlv3->amount_msat_1 = fromwire_u64(cursor, max);
|
|
||||||
r->tlv3->amount_msat_2 = fromwire_u64(cursor, max);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void fromwire_tlv_n1_tlv4(const u8 **cursor, size_t *max, void *vrecord)
|
|
||||||
{
|
|
||||||
struct tlv_n1 *r = vrecord;
|
|
||||||
|
|
||||||
r->tlv4 = tal(r, struct tlv_n1_tlv4);
|
|
||||||
r->tlv4->cltv_delta = fromwire_u16(cursor, max);
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct tlv_record_type tlvs_n1[] = {
|
|
||||||
{ 1, towire_tlv_n1_tlv1, fromwire_tlv_n1_tlv1 },
|
|
||||||
{ 2, towire_tlv_n1_tlv2, fromwire_tlv_n1_tlv2 },
|
|
||||||
{ 3, towire_tlv_n1_tlv3, fromwire_tlv_n1_tlv3 },
|
|
||||||
{ 254, towire_tlv_n1_tlv4, fromwire_tlv_n1_tlv4 },
|
|
||||||
};
|
|
||||||
|
|
||||||
/* BOLT-EXPERIMENTAL #1:
|
|
||||||
* 1. tlvs: `n2`
|
|
||||||
* 2. types:
|
|
||||||
* 1. type: 0 (`tlv1`)
|
|
||||||
* 2. data:
|
|
||||||
* * [`tu64`:`amount_msat`]
|
|
||||||
* 1. type: 11 (`tlv2`)
|
|
||||||
* 2. data:
|
|
||||||
* * [`tu32`:`cltv_expiry`]
|
|
||||||
*/
|
|
||||||
struct tlv_n2_tlv1 {
|
|
||||||
u64 amount_msat;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct tlv_n2_tlv2 {
|
|
||||||
u16 cltv_expiry;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct tlv_n2 {
|
|
||||||
struct tlv_n2_tlv1 *tlv1;
|
|
||||||
struct tlv_n2_tlv2 *tlv2;
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct tlv_n2 *tlv_n2_new(const tal_t *ctx)
|
|
||||||
{
|
|
||||||
/* Initialize everything to NULL. (Quiet, C pedants!) */
|
|
||||||
return talz(ctx, struct tlv_n2);
|
|
||||||
}
|
|
||||||
|
|
||||||
static u8 *towire_tlv_n2_tlv1(const tal_t *ctx, const void *vrecord)
|
|
||||||
{
|
|
||||||
const struct tlv_n2 *r = vrecord;
|
|
||||||
u8 *ptr;
|
|
||||||
|
|
||||||
if (!r->tlv1)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
ptr = tal_arr(ctx, u8, 0);
|
|
||||||
towire_tu64(&ptr, r->tlv1->amount_msat);
|
|
||||||
return ptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
static u8 *towire_tlv_n2_tlv2(const tal_t *ctx, const void *vrecord)
|
|
||||||
{
|
|
||||||
const struct tlv_n2 *r = vrecord;
|
|
||||||
u8 *ptr;
|
|
||||||
|
|
||||||
if (!r->tlv2)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
ptr = tal_arr(ctx, u8, 0);
|
|
||||||
towire_u16(&ptr, r->tlv2->cltv_expiry);
|
|
||||||
return ptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void fromwire_tlv_n2_tlv1(const u8 **cursor, size_t *max, void *vrecord)
|
|
||||||
{
|
|
||||||
struct tlv_n2 *r = vrecord;
|
|
||||||
|
|
||||||
r->tlv1 = tal(r, struct tlv_n2_tlv1);
|
|
||||||
r->tlv1->amount_msat = fromwire_tu64(cursor, max);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void fromwire_tlv_n2_tlv2(const u8 **cursor, size_t *max, void *vrecord)
|
|
||||||
{
|
|
||||||
struct tlv_n2 *r = vrecord;
|
|
||||||
|
|
||||||
r->tlv2 = tal(r, struct tlv_n2_tlv2);
|
|
||||||
r->tlv2->cltv_expiry = fromwire_u16(cursor, max);
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct tlv_record_type tlvs_n2[] = {
|
|
||||||
{ 0, towire_tlv_n2_tlv1, fromwire_tlv_n2_tlv1 },
|
|
||||||
{ 11, towire_tlv_n2_tlv2, fromwire_tlv_n2_tlv2 },
|
|
||||||
};
|
|
||||||
|
|
||||||
/* BOLT #1
|
/* BOLT #1
|
||||||
### TLV Decoding Failures
|
### TLV Decoding Failures
|
||||||
|
@ -523,8 +305,8 @@ static struct tlv_n1_tlv1 tlv1_1099511627776 = { .amount_msat = 1099511627776ULL
|
||||||
static struct tlv_n1_tlv1 tlv1_281474976710656 = { .amount_msat = 281474976710656ULL };
|
static struct tlv_n1_tlv1 tlv1_281474976710656 = { .amount_msat = 281474976710656ULL };
|
||||||
static struct tlv_n1_tlv1 tlv1_72057594037927936 = { .amount_msat = 72057594037927936ULL };
|
static struct tlv_n1_tlv1 tlv1_72057594037927936 = { .amount_msat = 72057594037927936ULL };
|
||||||
static struct tlv_n1_tlv2 tlv2_0x0x550 = { .scid.u64 = 0x000000000226 };
|
static struct tlv_n1_tlv2 tlv2_0x0x550 = { .scid.u64 = 0x000000000226 };
|
||||||
/* node_id filled in at runtime. */
|
/* filled in at runtime. */
|
||||||
static struct tlv_n1_tlv3 tlv3_node_id = { { { { 0 } } }, .amount_msat_1 = 1, .amount_msat_2 = 2 };
|
static struct tlv_n1_tlv3 tlv3_node_id;
|
||||||
static struct tlv_n1_tlv4 tlv4_550 = { .cltv_delta = 550 };
|
static struct tlv_n1_tlv4 tlv4_550 = { .cltv_delta = 550 };
|
||||||
|
|
||||||
static struct valid_stream valid_streams[] = {
|
static struct valid_stream valid_streams[] = {
|
||||||
|
@ -575,9 +357,11 @@ static bool tlv_n1_eq(const struct tlv_n1 *a, const struct tlv_n1 *b)
|
||||||
return false;
|
return false;
|
||||||
if (!pubkey_eq(&a->tlv3->node_id, &b->tlv3->node_id))
|
if (!pubkey_eq(&a->tlv3->node_id, &b->tlv3->node_id))
|
||||||
return false;
|
return false;
|
||||||
if (a->tlv3->amount_msat_1 != b->tlv3->amount_msat_1)
|
if (!amount_msat_eq(a->tlv3->amount_msat_1,
|
||||||
|
b->tlv3->amount_msat_1))
|
||||||
return false;
|
return false;
|
||||||
if (a->tlv3->amount_msat_2 != b->tlv3->amount_msat_2)
|
if (!amount_msat_eq(a->tlv3->amount_msat_2,
|
||||||
|
b->tlv3->amount_msat_2))
|
||||||
return false;
|
return false;
|
||||||
} else if (b->tlv3)
|
} else if (b->tlv3)
|
||||||
return false;
|
return false;
|
||||||
|
@ -660,6 +444,9 @@ int main(void)
|
||||||
|
|
||||||
if (!pubkey_from_hexstr("023da092f6980e58d2c037173180e9a465476026ee50f96695963e8efe436f54eb", 66, &tlv3_node_id.node_id))
|
if (!pubkey_from_hexstr("023da092f6980e58d2c037173180e9a465476026ee50f96695963e8efe436f54eb", 66, &tlv3_node_id.node_id))
|
||||||
abort();
|
abort();
|
||||||
|
/* gcc 4.8 doesn't like this initialized statically. */
|
||||||
|
tlv3_node_id.amount_msat_1 = AMOUNT_MSAT(1);
|
||||||
|
tlv3_node_id.amount_msat_2 = AMOUNT_MSAT(2);
|
||||||
|
|
||||||
for (size_t i = 0; i < ARRAY_SIZE(invalid_streams_either); i++) {
|
for (size_t i = 0; i < ARRAY_SIZE(invalid_streams_either); i++) {
|
||||||
struct tlv_n1 *tlv_n1 = tlv_n1_new(tmpctx);
|
struct tlv_n1 *tlv_n1 = tlv_n1_new(tmpctx);
|
||||||
|
@ -670,13 +457,13 @@ int main(void)
|
||||||
orig_p = stream(tmpctx, invalid_streams_either[i].hex);
|
orig_p = stream(tmpctx, invalid_streams_either[i].hex);
|
||||||
max = tal_count(orig_p);
|
max = tal_count(orig_p);
|
||||||
p = orig_p;
|
p = orig_p;
|
||||||
assert(!fromwire_tlvs(&p, &max, tlvs_n1, ARRAY_SIZE(tlvs_n1),
|
assert(!fromwire_tlvs(&p, &max, tlvs_n1, TLVS_N1_ARRAY_SIZE,
|
||||||
tlv_n1));
|
tlv_n1));
|
||||||
assert(!p);
|
assert(!p);
|
||||||
assert(strstr(invalid_streams_either[i].reason, reason));
|
assert(strstr(invalid_streams_either[i].reason, reason));
|
||||||
max = tal_count(orig_p);
|
max = tal_count(orig_p);
|
||||||
p = orig_p;
|
p = orig_p;
|
||||||
assert(!fromwire_tlvs(&p, &max, tlvs_n2, ARRAY_SIZE(tlvs_n2),
|
assert(!fromwire_tlvs(&p, &max, tlvs_n2, TLVS_N2_ARRAY_SIZE,
|
||||||
tlv_n2));
|
tlv_n2));
|
||||||
assert(!p);
|
assert(!p);
|
||||||
assert(strstr(invalid_streams_either[i].reason, reason));
|
assert(strstr(invalid_streams_either[i].reason, reason));
|
||||||
|
@ -689,7 +476,7 @@ int main(void)
|
||||||
|
|
||||||
p = stream(tmpctx, invalid_streams_n1[i].hex);
|
p = stream(tmpctx, invalid_streams_n1[i].hex);
|
||||||
max = tal_count(p);
|
max = tal_count(p);
|
||||||
assert(!fromwire_tlvs(&p, &max, tlvs_n1, ARRAY_SIZE(tlvs_n1),
|
assert(!fromwire_tlvs(&p, &max, tlvs_n1, TLVS_N1_ARRAY_SIZE,
|
||||||
tlv_n1));
|
tlv_n1));
|
||||||
assert(!p);
|
assert(!p);
|
||||||
assert(strstr(invalid_streams_n1[i].reason, reason));
|
assert(strstr(invalid_streams_n1[i].reason, reason));
|
||||||
|
@ -702,7 +489,7 @@ int main(void)
|
||||||
|
|
||||||
p = stream(tmpctx, invalid_streams_n1_combo[i].hex);
|
p = stream(tmpctx, invalid_streams_n1_combo[i].hex);
|
||||||
max = tal_count(p);
|
max = tal_count(p);
|
||||||
assert(!fromwire_tlvs(&p, &max, tlvs_n1, ARRAY_SIZE(tlvs_n1),
|
assert(!fromwire_tlvs(&p, &max, tlvs_n1, TLVS_N1_ARRAY_SIZE,
|
||||||
tlv_n1));
|
tlv_n1));
|
||||||
assert(!p);
|
assert(!p);
|
||||||
assert(strstr(invalid_streams_n1_combo[i].reason, reason));
|
assert(strstr(invalid_streams_n1_combo[i].reason, reason));
|
||||||
|
@ -715,7 +502,7 @@ int main(void)
|
||||||
|
|
||||||
p = stream(tmpctx, invalid_streams_n2_combo[i].hex);
|
p = stream(tmpctx, invalid_streams_n2_combo[i].hex);
|
||||||
max = tal_count(p);
|
max = tal_count(p);
|
||||||
assert(!fromwire_tlvs(&p, &max, tlvs_n2, ARRAY_SIZE(tlvs_n2),
|
assert(!fromwire_tlvs(&p, &max, tlvs_n2, TLVS_N2_ARRAY_SIZE,
|
||||||
tlv_n2));
|
tlv_n2));
|
||||||
assert(!p);
|
assert(!p);
|
||||||
assert(strstr(invalid_streams_n2_combo[i].reason, reason));
|
assert(strstr(invalid_streams_n2_combo[i].reason, reason));
|
||||||
|
@ -731,7 +518,7 @@ int main(void)
|
||||||
|
|
||||||
max = tal_count(orig_p);
|
max = tal_count(orig_p);
|
||||||
p = orig_p;
|
p = orig_p;
|
||||||
assert(fromwire_tlvs(&p, &max, tlvs_n1, ARRAY_SIZE(tlvs_n1),
|
assert(fromwire_tlvs(&p, &max, tlvs_n1, TLVS_N1_ARRAY_SIZE,
|
||||||
tlv_n1));
|
tlv_n1));
|
||||||
assert(p);
|
assert(p);
|
||||||
assert(max == 0);
|
assert(max == 0);
|
||||||
|
@ -743,7 +530,7 @@ int main(void)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
p2 = tal_arr(tmpctx, u8, 0);
|
p2 = tal_arr(tmpctx, u8, 0);
|
||||||
towire_tlvs(&p2, tlvs_n1, ARRAY_SIZE(tlvs_n1), tlv_n1);
|
towire_tlvs(&p2, tlvs_n1, TLVS_N1_ARRAY_SIZE, tlv_n1);
|
||||||
assert(memeq(p2, tal_count(p2), orig_p, tal_count(orig_p)));
|
assert(memeq(p2, tal_count(p2), orig_p, tal_count(orig_p)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -765,13 +552,13 @@ int main(void)
|
||||||
max = tal_count(orig_p);
|
max = tal_count(orig_p);
|
||||||
p = orig_p;
|
p = orig_p;
|
||||||
assert(!fromwire_tlvs(&p, &max,
|
assert(!fromwire_tlvs(&p, &max,
|
||||||
tlvs_n1, ARRAY_SIZE(tlvs_n1),
|
tlvs_n1, TLVS_N1_ARRAY_SIZE,
|
||||||
tlv_n1));
|
tlv_n1));
|
||||||
assert(!p);
|
assert(!p);
|
||||||
max = tal_count(orig_p);
|
max = tal_count(orig_p);
|
||||||
p = orig_p;
|
p = orig_p;
|
||||||
assert(!fromwire_tlvs(&p, &max,
|
assert(!fromwire_tlvs(&p, &max,
|
||||||
tlvs_n2, ARRAY_SIZE(tlvs_n2),
|
tlvs_n2, TLVS_N2_ARRAY_SIZE,
|
||||||
tlv_n2));
|
tlv_n2));
|
||||||
assert(!p);
|
assert(!p);
|
||||||
}
|
}
|
||||||
|
@ -787,7 +574,7 @@ int main(void)
|
||||||
invalid_streams_n1[i].hex);
|
invalid_streams_n1[i].hex);
|
||||||
max = tal_count(p);
|
max = tal_count(p);
|
||||||
assert(!fromwire_tlvs(&p, &max,
|
assert(!fromwire_tlvs(&p, &max,
|
||||||
tlvs_n1, ARRAY_SIZE(tlvs_n1),
|
tlvs_n1, TLVS_N1_ARRAY_SIZE,
|
||||||
tlv_n1));
|
tlv_n1));
|
||||||
assert(!p);
|
assert(!p);
|
||||||
}
|
}
|
||||||
|
@ -803,7 +590,7 @@ int main(void)
|
||||||
invalid_streams_n1_combo[i].hex);
|
invalid_streams_n1_combo[i].hex);
|
||||||
max = tal_count(p);
|
max = tal_count(p);
|
||||||
assert(!fromwire_tlvs(&p, &max,
|
assert(!fromwire_tlvs(&p, &max,
|
||||||
tlvs_n1, ARRAY_SIZE(tlvs_n1),
|
tlvs_n1, TLVS_N1_ARRAY_SIZE,
|
||||||
tlv_n1));
|
tlv_n1));
|
||||||
assert(!p);
|
assert(!p);
|
||||||
}
|
}
|
||||||
|
@ -835,7 +622,7 @@ int main(void)
|
||||||
< pull_type(valid_streams[j].hex);
|
< pull_type(valid_streams[j].hex);
|
||||||
|
|
||||||
assert(fromwire_tlvs(&p, &max,
|
assert(fromwire_tlvs(&p, &max,
|
||||||
tlvs_n1, ARRAY_SIZE(tlvs_n1),
|
tlvs_n1, TLVS_N1_ARRAY_SIZE,
|
||||||
tlv_n1) == expect_success);
|
tlv_n1) == expect_success);
|
||||||
|
|
||||||
if (!expect_success)
|
if (!expect_success)
|
||||||
|
@ -848,7 +635,7 @@ int main(void)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
u8 *p2 = tal_arr(tmpctx, u8, 0);
|
u8 *p2 = tal_arr(tmpctx, u8, 0);
|
||||||
towire_tlvs(&p2, tlvs_n1, ARRAY_SIZE(tlvs_n1), tlv_n1);
|
towire_tlvs(&p2, tlvs_n1, TLVS_N1_ARRAY_SIZE, tlv_n1);
|
||||||
assert(memeq(orig_p, tal_count(orig_p),
|
assert(memeq(orig_p, tal_count(orig_p),
|
||||||
p2, tal_count(p2)));
|
p2, tal_count(p2)));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue