-
Notifications
You must be signed in to change notification settings - Fork 39
Open
Labels
Code HealthRefactors and improvements to the structure of the codeRefactors and improvements to the structure of the codeHigh PriorityRobustnessChanges that improve the robustness of running the simulatorChanges that improve the robustness of running the simulatorhelp wantedExtra attention is neededExtra attention is needed
Description
SimLN started as a hackathon project, so it doesn't have much by way of unit tests. This is very, very bad.
We should aim to dramatically improve the coverage of the codebase to ensure that everything is working as expected, and there are no future regressions.
A great first starting point would be to add test coverage for Simulator with mock out LightningNode implementations. See sim node mocking as an example of how to go about this.
Low hanging fruit:
validate_activityvalidate_node_network
Middle tier:
Test individual functions for their expected behavior, eg:
- Spin up
consume_events - Test various exit conditions -
send_paymentfailure,listenershutdown etc - Test successful
send_paymentfor bothSimulationOutput::SendPaymentSuccess/SimulationOutput::SendPaymentFailureetc
A few considerations here:
- Will need to spin up blocking functions like
consume_eventsin a separate task so the test can run - Consider buffering channels to make life a bit easier
The rest of the elephant:
- Test the high level
Simulation::runfunction with mocked nodes - Refactors that make life easier here are welcome!
Metadata
Metadata
Assignees
Labels
Code HealthRefactors and improvements to the structure of the codeRefactors and improvements to the structure of the codeHigh PriorityRobustnessChanges that improve the robustness of running the simulatorChanges that improve the robustness of running the simulatorhelp wantedExtra attention is neededExtra attention is needed
