diff --git a/.gitignore b/.gitignore index e05c09ff2..fb51c404f 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,7 @@ lightningd/test/run-commit_tx lightningd/test/run-find_my_path lightningd/test/run-funding_tx lightningd/test/run-key_derive +common/test/run-ip_port_parsing wire/test/run-peer-wire bitcoin/test/run-tx-encode channeld/test/run-full_channel diff --git a/common/test/run-ip_port_parsing.c b/common/test/run-ip_port_parsing.c new file mode 100644 index 000000000..8d42d1206 --- /dev/null +++ b/common/test/run-ip_port_parsing.c @@ -0,0 +1,52 @@ +#include "../common/wireaddr.c" + +#include +#include + +/* AUTOGENERATED MOCKS START */ +/* Generated stub for fromwire */ +const u8 *fromwire(const u8 **cursor UNNEEDED, size_t *max UNNEEDED, void *copy UNNEEDED, size_t n UNNEEDED) +{ fprintf(stderr, "fromwire called!\n"); abort(); } +/* Generated stub for fromwire_u16 */ +u16 fromwire_u16(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) +{ fprintf(stderr, "fromwire_u16 called!\n"); abort(); } +/* Generated stub for fromwire_u8 */ +u8 fromwire_u8(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) +{ fprintf(stderr, "fromwire_u8 called!\n"); abort(); } +/* Generated stub for towire */ +void towire(u8 **pptr UNNEEDED, const void *data UNNEEDED, size_t len UNNEEDED) +{ fprintf(stderr, "towire called!\n"); abort(); } +/* Generated stub for towire_u16 */ +void towire_u16(u8 **pptr UNNEEDED, u16 v UNNEEDED) +{ fprintf(stderr, "towire_u16 called!\n"); abort(); } +/* Generated stub for towire_u8 */ +void towire_u8(u8 **pptr UNNEEDED, u8 v UNNEEDED) +{ fprintf(stderr, "towire_u8 called!\n"); abort(); } +/* AUTOGENERATED MOCKS END */ + +int main(void) +{ + tal_t *ctx = tal_tmpctx(NULL); + char *ip; + u16 port; + + /* ret = getaddrinfo("[::1]:80", NULL, NULL, &res); */ + assert(parse_ip_port(ctx, "[::1]:80", &ip, &port)); + assert(streq(ip, "::1")); + assert(port == 80); + + assert(!parse_ip_port(ctx, "::1", &ip, &port)); + assert(streq(ip, "::1")); + assert(port == 0); + + assert(parse_ip_port(ctx, "192.168.1.1:8000", &ip, &port)); + assert(streq(ip, "192.168.1.1")); + assert(port == 8000); + + assert(!parse_ip_port(ctx, "192.168.2.255", &ip, &port)); + assert(streq(ip, "192.168.2.255")); + assert(port == 0); + + tal_free(ctx); + return 0; +}