Siatest/Renter clean up
The siatest/renter package looks at a lot of the same information in many of the test. There are already some helper functions that break out some of the duplicate code but I believe there is more opportunity, especially around mining blocks. I think the following could be done to clean up renter_test.go in the siatest/renter package.
-
[ ] Go through tests and refactor code where possible. One common task that many tests do is mine blocks for a certain period of time.
-
[ ] Improve
renewContractsByRenewWindow. The following can be done to improve this function and test package
- remove excess
tg.Sync()calls in the tests that call this since it is called in this function - make this more generic by referencing the contracts, potentially redo to be able to handle all mining needs for test
- [ ] Improve
renewContractsBySpendingto confirm that all contracts will be renewed due to spending, not just first contract to meet condition. Also, confirm thatthreadedContractMaintenanceis triggered before function ends so contracts are renewed by the time the function returns. Add warning ifpercentRemainingis so large that uploading data to deplete funds would take too long. Right now it seems to work fine because it is every only called after contracts have been renewed by the renew window before hand and have very low amounts ofRenterFunds.
Additional potential task to reduce duplicate code and organize the tests would be:
- [ ] Create a
TestRenterGroupWithNoRentertest that groups all the tests that create groups without a renter and then adds the renter after.
- [ ] Look at how contracts are created for the test nodes and make them smaller so it is faster to renew them by spending