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
1) remove excess tg.Sync() calls in the tests that call this since it is called in this function
2) make this more generic by referencing the contracts, potentially redo to be able to handle all mining needs for test
[ ] Improve renewContractsBySpending to confirm that all contracts will be renewed due to spending, not just first contract to meet condition. Also, confirm that threadedContractMaintenance is triggered before function ends so contracts are renewed by the time the function returns. Add warning if percentRemaining is 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 of RenterFunds.
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 uprenter_test.go
in thesiatest/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 1) remove excesstg.Sync()
calls in the tests that call this since it is called in this function 2) make this more generic by referencing the contracts, potentially redo to be able to handle all mining needs for test[ ] Improve
renewContractsBySpending
to confirm that all contracts will be renewed due to spending, not just first contract to meet condition. Also, confirm thatthreadedContractMaintenance
is triggered before function ends so contracts are renewed by the time the function returns. Add warning ifpercentRemaining
is 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
.