Skip to content

Commit 51641a2

Browse files
committed
no empty expectRevert
1 parent 778f1f4 commit 51641a2

File tree

5 files changed

+20
-10
lines changed

5 files changed

+20
-10
lines changed

test-foundry/libraries/vault/mutation/MasterVaultInit.t.sol

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ pragma solidity ^0.8.0;
44
import {MasterVaultCoreTest} from "../MasterVaultCore.t.sol";
55
import {MasterVault} from "../../../../contracts/tokenbridge/libraries/vault/MasterVault.sol";
66
import {TestERC20} from "../../../../contracts/tokenbridge/test/TestERC20.sol";
7+
import {stdError} from "forge-std/StdError.sol";
78
import {IAccessControlUpgradeable} from "@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol";
89
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
910

@@ -38,13 +39,13 @@ contract MasterVaultInitTest is MasterVaultCoreTest {
3839

3940
function test_initialize_revertsOnRevertingDecimals() public {
4041
address badToken = address(new RevertingDecimalsToken());
41-
vm.expectRevert();
42+
vm.expectRevert("no decimals");
4243
factory.deployVault(badToken);
4344
}
4445

4546
function test_initialize_revertsOnOverflowDecimals() public {
4647
address badToken = address(new OverflowDecimalsToken());
47-
vm.expectRevert();
48+
vm.expectRevert(stdError.arithmeticError);
4849
factory.deployVault(badToken);
4950
}
5051

test-foundry/libraries/vault/mutation/MasterVaultRebalance.t.sol

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,9 @@ contract MasterVaultRebalanceTest is MasterVaultCoreTest {
7272
vault.setTargetAllocationWad(49e16); // tiny change to trigger small withdraw
7373
vm.warp(block.timestamp + 2);
7474
vm.prank(keeper);
75-
vm.expectRevert();
75+
vm.expectRevert(abi.encodeWithSelector(
76+
MasterVault.RebalanceAmountTooSmall.selector, false, 1e17 - 1, 1e17 - 1, 100e18
77+
));
7678
vault.rebalance(0);
7779
}
7880

@@ -82,7 +84,9 @@ contract MasterVaultRebalanceTest is MasterVaultCoreTest {
8284
vm.warp(block.timestamp + 2);
8385
// Pass a very high minExchRateWad so the exchange rate check fails
8486
vm.prank(keeper);
85-
vm.expectRevert(); // todo: fix empty expectRevert
87+
vm.expectRevert(abi.encodeWithSelector(
88+
MasterVault.RebalanceExchRateTooLow.selector, int256(100e18), int256(6e18 - 1), 6e18 - 1
89+
));
8690
vault.rebalance(int256(100e18));
8791
}
8892

@@ -92,7 +96,9 @@ contract MasterVaultRebalanceTest is MasterVaultCoreTest {
9296
vault.setTargetAllocationWad(5e17);
9397
vm.warp(block.timestamp + 2);
9498
vm.prank(keeper);
95-
vm.expectRevert();
99+
vm.expectRevert(abi.encodeWithSelector(
100+
MasterVault.RebalanceAmountTooSmall.selector, true, 5e18 - 1, 5e18 - 1, 100e18
101+
));
96102
vault.rebalance(-1e18);
97103
}
98104

@@ -114,7 +120,9 @@ contract MasterVaultRebalanceTest is MasterVaultCoreTest {
114120
vm.warp(block.timestamp + 2);
115121
// Pass -1 (tolerance of 1 wei per share) - actual rate is 1e18, so 1e18 > 1 reverts
116122
vm.prank(keeper);
117-
vm.expectRevert();
123+
vm.expectRevert(abi.encodeWithSelector(
124+
MasterVault.RebalanceExchRateTooLow.selector, int256(-1), -int256(5e18 - 1), 5e18 - 1
125+
));
118126
vault.rebalance(-1);
119127
}
120128

test-foundry/libraries/vault/mutation/MasterVaultRebalanceCooldown.t.sol

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ contract MasterVaultRebalanceCooldownTest is MasterVaultCoreTest {
2020
// With mutant (+): timeSinceLastRebalance = 105+100=205 >= 10, no cooldown revert
2121
// With correct code (-): timeSinceLastRebalance = 105-100=5 < 10, cooldown revert
2222
vm.prank(keeper);
23-
vm.expectRevert();
23+
vm.expectRevert(abi.encodeWithSelector(MasterVault.RebalanceCooldownNotMet.selector, uint256(5), uint256(10)));
2424
vault.rebalance(-1e18);
2525
}
2626

@@ -36,7 +36,7 @@ contract MasterVaultRebalanceCooldownTest is MasterVaultCoreTest {
3636
// Warp only 50s (less than 100 cooldown)
3737
vm.warp(block.timestamp + 50);
3838
vm.prank(keeper);
39-
vm.expectRevert();
39+
vm.expectRevert(abi.encodeWithSelector(MasterVault.RebalanceCooldownNotMet.selector, uint256(50), uint256(100)));
4040
vault.rebalance(-1e18);
4141
}
4242
}

test-foundry/libraries/vault/mutation/MasterVaultSetSubVault.t.sol

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,9 @@ contract MasterVaultSetSubVaultTest is MasterVaultCoreTest {
4444
assertTrue(vault.subVault().balanceOf(address(vault)) > 0, "should have subvault shares");
4545
MockSubVault newSv = new MockSubVault(IERC20(address(token)), "New", "NEW");
4646
vault.setSubVaultWhitelist(address(newSv), true);
47+
uint256 shares = vault.subVault().balanceOf(address(vault));
4748
vm.prank(generalManager);
48-
vm.expectRevert();
49+
vm.expectRevert(abi.encodeWithSelector(MasterVault.NonZeroSubVaultShares.selector, shares));
4950
vault.setSubVault(IERC4626(address(newSv)));
5051
}
5152
}

test-foundry/libraries/vault/mutation/MasterVaultSetters.t.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ contract MasterVaultSettersTest is MasterVaultCoreTest {
3131
function test_setRebalanceCooldown_belowMinimum_reverts() public {
3232
uint256 minimum = vault.MIN_REBALANCE_COOLDOWN();
3333
vm.prank(generalManager);
34-
vm.expectRevert();
34+
vm.expectRevert(abi.encodeWithSelector(MasterVault.RebalanceCooldownTooLow.selector, uint32(0), uint32(1)));
3535
vault.setRebalanceCooldown(uint32(minimum - 1));
3636
}
3737

0 commit comments

Comments
 (0)