Closed gbalabasquer closed 3 years ago
LGTM, @gbalabasquer how did we discover this?
Actually by pure casualty when doing the goerli spell. I had an issue in the deployed dsr
but the test was failing due the rates file not being updated and not actually because the real value was wrong. So basically if the rates file wouldn't have had the error then I wouldn't have caught the missing test nor the real value error.
LGTM, @gbalabasquer how did we discover this?
Actually by pure casualty when doing the goerli spell. I had an issue in the deployed
dsr
but the test was failing due the rates file not being updated and not actually because the real value was wrong. So basically if the rates file wouldn't have had the error then I wouldn't have caught the missing test nor the real value error.
:grimacing:
This is a great example of how it's important to test tests...usually I do this informally by after writing a test, seeing if I can make it fail by making the thing it's supposed to check wrong. But for something as important as executives, we might consider a more automated solution. E.g. some continuously-running fuzzing job that tries different single-change spells and confirming that any change makes the tests fail. It might also be something to start doing in code reviews on really high-stakes code. I.e. don't just read and run the tests...confirm that you can make them fail.
…ror message
Description
Contribution Checklist
(PE-<TICKET_NUMBER>)
Checklist
officeHours
modifier4 days
monthly and30 days
for the rest)ETH_GAS="XXX" ETH_GAS_PRICE="YYY" make deploy
mainnet
contract on etherscanDssSpell.sol
andDssSpell.t.sol
the same, but make a copy inarchive
squash and merge
this PR