Rusty Russell
31459d6cd2
protocol: rename update_complete_htlc to update_fulfill_htlc.
...
Complete was an overloaded word.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-09-25 11:51:18 +09:30
Rusty Russell
ca68c5c47f
state: remove non-HTLC updates.
...
They're still in the base protocol (good for testing), just not here.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-09-25 11:51:18 +09:30
Rusty Russell
0f4ad940ae
test/test_state_coverage: remove_event / add_event / have_event helpers.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-09-25 11:51:18 +09:30
Rusty Russell
fbe6e9e0cf
state: allow multiple SPENDTHEM.
...
Malleability, there could be many of these.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-09-25 11:51:18 +09:30
Rusty Russell
92bb5f03de
test_state_coverage: fix dependent events.
...
These tests are wrong, and are handled properly anyway when they
fire (the other one is disabled).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-09-25 11:51:18 +09:30
Rusty Russell
42bf766d64
state: hand tx explicitly to bitcoin_watch / bitcoin_watch_delayed
...
Neater than assuming it's effect->broadcast.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-09-25 11:51:18 +09:30
Rusty Russell
c19839816e
test/test_state_coverage: --dump-states
...
Simple code to dump the state transitions into text form.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-09-25 11:51:18 +09:30
Rusty Russell
d88f96de17
test/test_state_coverage: speed up dot diagram generation.
...
We don't need a full test for this.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-09-25 11:51:18 +09:30
Rusty Russell
066bf1f4e5
test/test_state_coverage: Check for deadlock.
...
We should always have a packet in flight unless we're in the two
waiting-for-anchor-to-mature states, or at the top of the main loop.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-09-25 11:51:18 +09:30
Rusty Russell
642c3e36e3
test/test_state_coverage: Check that it terminates.
...
The state machine is infinite, but if we eliminate the normal inner
state loop, and a couple of other unusual cases where inputs can
repeat, we should be able to traverse it all.
This is slower than simply stopping when we hit a repeated state
though.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-09-25 11:51:18 +09:30
Rusty Russell
786bef9002
test/test_state_coverage: output dot format.
...
Good for documentation, plus impressive with all the error states...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-09-25 11:51:18 +09:30
Rusty Russell
11f33ad12f
test/test_state_coverage: test the case where we decline an HTLC.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-09-25 11:51:18 +09:30
Rusty Russell
8308e31d6c
test/test_state_coverage: ensure we produce all output packets.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-09-25 11:51:18 +09:30
Rusty Russell
f51e9c81bf
test/test_state_coverage: make sure we test all inputs.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-09-25 11:51:18 +09:30
Rusty Russell
1556315f2e
test_state_coverage: simple exhaustive coverage test for state machine.
...
Makes sure that we visit every state.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-09-25 11:51:18 +09:30