|
|
|
# Note that these actually #include everything they need, except ccan/ and bitcoin/.
|
|
|
|
# That allows for unit testing of statics, and special effects.
|
|
|
|
LIGHTNINGD_TEST_SRC := $(wildcard lightningd/test/run-*.c)
|
|
|
|
LIGHTNINGD_TEST_OBJS := $(LIGHTNINGD_TEST_SRC:.c=.o)
|
|
|
|
LIGHTNINGD_TEST_PROGRAMS := $(LIGHTNINGD_TEST_OBJS:.o=)
|
|
|
|
|
|
|
|
ALL_TEST_PROGRAMS += $(LIGHTNINGD_TEST_PROGRAMS)
|
|
|
|
ALL_OBJS += $(LIGHTNINGD_TEST_OBJS)
|
|
|
|
|
|
|
|
LIGHTNINGD_TEST_COMMON_OBJS := \
|
json-invoice: add routeboost, warnings.
We split json_invoice(), as it now needs to round-trip to the gossipd,
and uniqueness checks need to happen *after* gossipd replies to avoid
a race.
For every candidate channel gossipd gives us, we check that it's in
state NORMAL (not shutting down, not still waiting for lockin), that
it's connected, and that it has capacity. We then choose one with
probability weighted by excess capacity, so larger channels are more
likely.
As a side effect of this, we can tell if an invoice is unpayble (no
channels have sufficient incoming capacity) or difficuly (no *online*
channels have sufficient capacity), so we add those warnings.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
6 years ago
|
|
|
common/bech32.o \
|
|
|
|
common/daemon_conn.o \
|
|
|
|
common/htlc_state.o \
|
|
|
|
common/io_lock.o \
|
|
|
|
common/json.o \
|
|
|
|
common/json_escaped.o \
|
|
|
|
common/key_derive.o \
|
|
|
|
common/pseudorand.o \
|
|
|
|
common/memleak.o \
|
|
|
|
common/msg_queue.o \
|
|
|
|
common/utils.o \
|
|
|
|
common/utxo.o \
|
|
|
|
common/type_to_string.o \
|
|
|
|
common/permute_tx.o
|
|
|
|
|
|
|
|
update-mocks: $(LIGHTNINGD_TEST_SRC:%=update-mocks/%)
|
|
|
|
|
|
|
|
$(LIGHTNINGD_TEST_PROGRAMS): $(CCAN_OBJS) $(BITCOIN_OBJS) $(WIRE_OBJS) $(LIBBASE58_OBJS) $(LIGHTNINGD_TEST_COMMON_OBJS)
|
|
|
|
|
|
|
|
$(LIGHTNINGD_TEST_OBJS): $(LIGHTNINGD_HEADERS) $(LIGHTNINGD_SRC)
|
|
|
|
|
|
|
|
check: $(LIGHTNINGD_TEST_PROGRAMS:%=unittest/%)
|