mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-01-17 19:03:42 +01:00
test_state_coverage: remove depth argument.
We stash it in the trail instead. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
8e468d077d
commit
afc67e1ff1
@ -119,6 +119,7 @@ struct trail {
|
||||
const struct state_data *before, *after;
|
||||
int htlc_id;
|
||||
unsigned int num_peer_outputs;
|
||||
unsigned int depth;
|
||||
const char *pkt_sent;
|
||||
};
|
||||
|
||||
@ -958,7 +959,6 @@ static void copy_peers(struct state_data *dst, struct state_data *peer,
|
||||
/* Recursion! */
|
||||
static void run_peer(const struct state_data *sdata,
|
||||
bool normalpath, bool errorpath,
|
||||
size_t depth,
|
||||
const struct trail *prev_trail,
|
||||
struct hist *hist);
|
||||
|
||||
@ -1022,6 +1022,7 @@ static void init_trail(struct trail *t,
|
||||
{
|
||||
t->name = before->name;
|
||||
t->prev = prev;
|
||||
t->depth = prev ? prev->depth + 1 : 0;
|
||||
t->input = input;
|
||||
t->before = before;
|
||||
t->after = after;
|
||||
@ -1616,7 +1617,6 @@ static void try_input(const struct state_data *sdata,
|
||||
enum state_input i,
|
||||
const union input *idata,
|
||||
bool normalpath, bool errorpath,
|
||||
size_t depth,
|
||||
const struct trail *prev_trail,
|
||||
struct hist *hist)
|
||||
{
|
||||
@ -1696,7 +1696,7 @@ static void try_input(const struct state_data *sdata,
|
||||
tal_free(effect);
|
||||
return;
|
||||
}
|
||||
if (depth > STATE_MAX * 10)
|
||||
if (t.depth > STATE_MAX * 10)
|
||||
report_trail(&t, "Loop");
|
||||
}
|
||||
|
||||
@ -1735,11 +1735,11 @@ static void try_input(const struct state_data *sdata,
|
||||
}
|
||||
|
||||
/* Try inputs from here down. */
|
||||
run_peer(©, normalpath, errorpath, depth+1, &t, hist);
|
||||
run_peer(©, normalpath, errorpath, &t, hist);
|
||||
|
||||
/* Don't bother running other peer we can't communicate. */
|
||||
if (copy.core.pkt_inputs || peer.core.pkt_inputs)
|
||||
run_peer(&peer, normalpath, errorpath, depth+1, &t, hist);
|
||||
run_peer(&peer, normalpath, errorpath, &t, hist);
|
||||
tal_free(effect);
|
||||
}
|
||||
|
||||
@ -1822,7 +1822,6 @@ static unsigned int next_htlc_id(void)
|
||||
|
||||
static void run_peer(const struct state_data *sdata,
|
||||
bool normalpath, bool errorpath,
|
||||
size_t depth,
|
||||
const struct trail *prev_trail,
|
||||
struct hist *hist)
|
||||
{
|
||||
@ -1846,7 +1845,7 @@ static void run_peer(const struct state_data *sdata,
|
||||
if (!can_refire(i))
|
||||
remove_event(©.core.event_notifies, i);
|
||||
activate_event(©, i);
|
||||
try_input(©, i, idata, normalpath, errorpath, depth,
|
||||
try_input(©, i, idata, normalpath, errorpath,
|
||||
prev_trail, hist);
|
||||
copy.core.event_notifies = old_notifies;
|
||||
}
|
||||
@ -1859,8 +1858,7 @@ static void run_peer(const struct state_data *sdata,
|
||||
&& !sdata->core.closing_cmd) {
|
||||
copy.core.closing_cmd = true;
|
||||
try_input(©, CMD_CLOSE, idata,
|
||||
normalpath, errorpath, depth,
|
||||
prev_trail, hist);
|
||||
normalpath, errorpath, prev_trail, hist);
|
||||
copy.core.closing_cmd = false;
|
||||
}
|
||||
|
||||
@ -1882,7 +1880,7 @@ static void run_peer(const struct state_data *sdata,
|
||||
idata->htlc_prog->htlc.id = next_htlc_id();
|
||||
|
||||
try_input(©, copy.core.current_command, idata,
|
||||
normalpath, errorpath, depth,
|
||||
normalpath, errorpath,
|
||||
prev_trail, hist);
|
||||
idata->htlc_prog = tal_free(idata->htlc_prog);
|
||||
}
|
||||
@ -1899,12 +1897,12 @@ static void run_peer(const struct state_data *sdata,
|
||||
= CMD_SEND_HTLC_FULFILL;
|
||||
try_input(©, copy.core.current_command,
|
||||
idata, normalpath, errorpath,
|
||||
depth, prev_trail, hist);
|
||||
prev_trail, hist);
|
||||
}
|
||||
copy.core.current_command = CMD_SEND_HTLC_ROUTEFAIL;
|
||||
try_input(©, copy.core.current_command,
|
||||
idata, normalpath, errorpath,
|
||||
depth, prev_trail, hist);
|
||||
prev_trail, hist);
|
||||
}
|
||||
|
||||
/* We can timeout an HTLC we offered. */
|
||||
@ -1916,7 +1914,7 @@ static void run_peer(const struct state_data *sdata,
|
||||
copy.core.current_command = CMD_SEND_HTLC_TIMEDOUT;
|
||||
try_input(©, copy.core.current_command,
|
||||
idata, normalpath, errorpath,
|
||||
depth, prev_trail, hist);
|
||||
prev_trail, hist);
|
||||
}
|
||||
|
||||
/* Restore current_command */
|
||||
@ -1930,21 +1928,21 @@ static void run_peer(const struct state_data *sdata,
|
||||
if (!rval_known(sdata, idata->htlc->id)) {
|
||||
try_input(©, INPUT_RVALUE,
|
||||
idata, normalpath, errorpath,
|
||||
depth, prev_trail, hist);
|
||||
prev_trail, hist);
|
||||
}
|
||||
try_input(©, BITCOIN_HTLC_TOUS_TIMEOUT,
|
||||
idata, normalpath, errorpath,
|
||||
depth, prev_trail, hist);
|
||||
prev_trail, hist);
|
||||
}
|
||||
|
||||
for (i = 0; i < sdata->num_live_htlcs_to_them; i++) {
|
||||
idata->htlc = (struct htlc *)©.live_htlcs_to_them[i];
|
||||
try_input(©, BITCOIN_HTLC_TOTHEM_SPENT,
|
||||
idata, normalpath, errorpath,
|
||||
depth, prev_trail, hist);
|
||||
prev_trail, hist);
|
||||
try_input(©, BITCOIN_HTLC_TOTHEM_TIMEOUT,
|
||||
idata, normalpath, errorpath,
|
||||
depth, prev_trail, hist);
|
||||
prev_trail, hist);
|
||||
}
|
||||
|
||||
/* If they're watching HTLC spends, we can send events. */
|
||||
@ -1952,13 +1950,13 @@ static void run_peer(const struct state_data *sdata,
|
||||
idata->htlc = (struct htlc *)©.htlc_spends_to_us[i];
|
||||
try_input(©, BITCOIN_HTLC_FULFILL_SPEND_DONE,
|
||||
idata, normalpath, errorpath,
|
||||
depth, prev_trail, hist);
|
||||
prev_trail, hist);
|
||||
}
|
||||
for (i = 0; i < sdata->num_htlc_spends_to_them; i++) {
|
||||
idata->htlc = (struct htlc *)©.htlc_spends_to_them[i];
|
||||
try_input(©, BITCOIN_HTLC_RETURN_SPEND_DONE,
|
||||
idata, normalpath, errorpath,
|
||||
depth, prev_trail, hist);
|
||||
prev_trail, hist);
|
||||
}
|
||||
|
||||
/* Allowed to send inputs? */
|
||||
@ -1971,7 +1969,7 @@ static void run_peer(const struct state_data *sdata,
|
||||
i = copy.core.deferred_pkt;
|
||||
copy.core.deferred_pkt = INPUT_NONE;
|
||||
try_input(©, i, idata,
|
||||
normalpath, errorpath, depth,
|
||||
normalpath, errorpath,
|
||||
prev_trail, hist);
|
||||
}
|
||||
/* Can't send anything until that's done. */
|
||||
@ -1996,7 +1994,7 @@ static void run_peer(const struct state_data *sdata,
|
||||
/* Reset so that hashing doesn't get confused. */
|
||||
peer.core.outputs[peer.core.num_outputs] = 0;
|
||||
try_input(©, i, idata, normalpath, errorpath,
|
||||
depth, prev_trail, hist);
|
||||
prev_trail, hist);
|
||||
}
|
||||
}
|
||||
tal_free(idata);
|
||||
@ -2139,7 +2137,7 @@ int main(int argc, char *argv[])
|
||||
abort();
|
||||
|
||||
/* Now, try each input in each state. */
|
||||
run_peer(&a, true, false, 0, NULL, &hist);
|
||||
run_peer(&a, true, false, NULL, &hist);
|
||||
|
||||
#if 0 /* FIXME */
|
||||
/* Now try with declining an HTLC. */
|
||||
|
Loading…
Reference in New Issue
Block a user