Rusty Russell
ae71a87c40
ccan: update to latest htable fixes, and update gossmap to meet new assertions.
...
Updating ccan to stricter htable revealed we were trying to put
(void *)1 in the htable, which is forbidden:
```
topology: ccan/ccan/htable/htable.c:382: htable_add_: Assertion `entry_is_valid((uintptr_t)p)' failed.
topology: FATAL SIGNAL 6 (version 1358d7f)
0x55f30c689c34 send_backtrace
common/daemon.c:33
0x55f30c689ce0 crashdump
common/daemon.c:46
0x7f5d150fe51f ???
./signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0
0x7f5d15152828 __pthread_kill_implementation
./nptl/pthread_kill.c:44
0x7f5d15152828 __pthread_kill_internal
./nptl/pthread_kill.c:80
0x7f5d15152828 __GI___pthread_kill
./nptl/pthread_kill.c:91
0x7f5d150fe475 __GI_raise
../sysdeps/posix/raise.c:26
0x7f5d150e47b6 __GI_abort
./stdlib/abort.c:79
0x7f5d150e46da __assert_fail_base
./assert/assert.c:92
0x7f5d150f5e25 __GI___assert_fail
./assert/assert.c:101
0x55f30c6adbe4 htable_add_
ccan/ccan/htable/htable.c:382
0x55f30c65f303 chanidx_htable_add
common/gossmap.c:35
0x55f30c6605ed new_channel
common/gossmap.c:337
0x55f30c6609cf add_channel
common/gossmap.c:425
0x55f30c661101 map_catchup
common/gossmap.c:607
0x55f30c66221e gossmap_refresh
common/gossmap.c:927
0x55f30c66e3e9 get_gossmap
plugins/topology.c:27
0x55f30c66f939 listpeers_done
plugins/topology.c:369
0x55f30c671f46 handle_rpc_reply
plugins/libplugin.c:558
0x55f30c672a19 rpc_read_response_one
plugins/libplugin.c:726
0x55f30c672b4f rpc_conn_read_response
plugins/libplugin.c:746
0x55f30c6ae35e next_plan
ccan/ccan/io/io.c:59
0x55f30c6aef93 do_plan
ccan/ccan/io/io.c:407
0x55f30c6aefd5 io_ready
ccan/ccan/io/io.c:417
0x55f30c6b1371 io_loop
ccan/ccan/io/poll.c:453
0x55f30c67587c plugin_main
plugins/libplugin.c:1559
0x55f30c6708eb main
plugins/topology.c:701
0x7f5d150e5fcf __libc_start_call_main
../sysdeps/nptl/libc_start_call_main.h:58
0x7f5d150e607c __libc_start_main_impl
../csu/libc-start.c:409
0x55f30c65d894 ???
???:0
0xffffffffffffffff ???
???:0
```
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2022-07-10 20:48:53 -05:00
niftynei
7add7ca199
json: reverse parse a coin_mvt tag back into an enum
2022-03-05 15:12:12 +10:30
Michael Schmoock
38e2abf68a
peer_exchange: set, read and log remote_addr
...
Changelog-Added: Protocol: set remote_addr on init tlvs
2022-02-22 05:45:47 +10:30
Rusty Russell
132ac0b1b4
blinding: check against two of the test vectors in the PR.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-12-01 05:44:28 +10:30
Rusty Russell
4c63fedce9
test: make an onionmessage test vector.
...
This builds on the enctlv vectors, but actually goes all the way
to creating a modern onionmessage.
Thanks to Thomas H for corrections!
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-12-01 05:44:28 +10:30
Rusty Russell
b98e8a099d
common/blindedpath: enctlv creation primitives.
...
And test vector generation!
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-09-22 09:10:34 +09:30
Rusty Russell
24536c5561
common/autodata: use instead of ccan/autodata
...
This means it needs to be linked ~everywhere.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-09-21 18:04:43 +02:00
niftynei
8819278a88
lease rates: helpers for parsing, serializing + equating lease_rates
...
We're gonna need them
2021-07-20 13:28:38 -04:00
niftynei
5b3c02f401
liquidity-ads: import from spec
...
Import the wires from spec. Here we go!
2021-07-20 13:28:38 -04:00
Rusty Russell
3b40bfa801
bolt12_merkle: change offer merkle to latest spec.
...
And fix up the mess we'd made:
1. We didn't order merkles by lesser-first.
2. We didn't correctly construct tree with last nodes on shortest path.
Now we have tests!
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-EXPERIMENTAL: protocol: offer signature format changed.
2021-07-14 14:33:18 -05:00
Rusty Russell
167681c709
gossmap: fix gossmap_chan_get_announce() and gossmap_node_get_announce().
...
These were never used, nor tested.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-05-22 17:53:04 +09:30
Rusty Russell
088cfced18
common/test/run-route and run-route-specific: modern gossmap tests
...
Equivalent to gossipd/test/run-find_route.c and gossipd/test/run-find_route-specific.c
except they use gossmap.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-05-22 17:53:04 +09:30
Rusty Russell
25b5e1e099
update-mocks: make sure we cover all test programs.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-05-22 17:53:04 +09:30
niftynei
5cd06227d7
build: exclude dualopend from non-experimental builds
2020-09-09 19:54:20 +09:30
Rusty Russell
c34c055d82
Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES
...
This avoids overwriting the ones in git, and generally makes things neater.
We have convenience headers wire/peer_wire.h and wire/onion_wire.h to
avoid most #ifdefs: simply include those.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2020-09-08 09:42:00 +09:30
Rusty Russell
1746406e41
Makefile: normalize all the Makefiles
...
We create ALL_PROGRAMS, ALL_TEST_PROGRAMS, ALL_C_SOURCES and
ALL_C_HEADERS. Then the toplevel Makefile knows which are
autogenerated (by wildcard), so it can have all the rules to clean
them or check the source as necessary.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2020-08-31 21:33:26 -05:00
Rusty Russell
8150d28575
Makefile: use generic rules to make spec-derived sources.
...
Now we use the same Makefile rules for all CSV->C generation.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2020-08-31 21:33:26 -05:00
niftynei
fbe50e087a
setup: create a common setup which will handle the wally-context
...
Since we now over-write the wally malloc/free functions, we need to do
so for tests as well. Here we pull up all of the common setup/teardown
logic into a separate place, and update the tests that use libwally to
use the new common_setup core
Changelog-None
2020-05-19 13:35:42 +09:30
darosior
3510c29e5d
common: move json_stream helpers to common/json
...
Now that we have json_stream in common/, we can move all the related
helpers from lightningd/json to common/json. This way everyone can
benefit of them (including libplugin, the plugins themselves,
potentially lightning-cli), not lightningd alone!
Note that the Makefile of the common/test/ had to be modified, because
the new helpers make use of common/wireaddr... Which turns out to
\#include <lightingd/lightningd.h> ! So we couldnt just include the .c
and add mocks if we redefined some structs (hello run-param).
2020-02-04 13:24:32 +10:30
gorazdko
e8ce9d0327
unit test: fix run-sphinx dependencies and update mocks
2019-11-26 21:25:25 +01:00
Rusty Russell
b7bbccd6fa
common/sphinx: handle decoding of TLV payload.
...
We add routines to decode the expected fields from both legacy and tlv
hop formats.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-11-14 10:15:33 +01:00
lisa neigut
7046d0220c
makefiles: move all unit tests under make check-units
...
Isolate unit tests under their own make directive.
2019-06-30 16:41:30 +09:30
Rusty Russell
ae6faf7f9c
common/test: add spec tests for bolt11.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-11-24 13:22:18 +01:00
Rusty Russell
ab634dfcdd
common/test_sphinx: change to standard run- format.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-11-01 09:46:05 +01:00
Rusty Russell
4f6ae3209b
common/test/test_sphinx: build fixes.
...
It isn't currently included in make check, so fix it to build and do that.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-09-11 14:29:20 +02:00
Rusty Russell
739b163f8b
Makefiles: simplify dependencies.
...
Gather all binaries and objects and make the depend on external
requirements and common headers.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-08-29 17:54:14 +02:00