Skip to content

Commit 4a650f2

Browse files
author
Lucas Manuel
authored
fix: rm length checks, reorder functions and change visibility (#272)
1 parent b78fdb5 commit 4a650f2

File tree

1 file changed

+36
-38
lines changed

1 file changed

+36
-38
lines changed

src/InvariantTest.sol

Lines changed: 36 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -17,78 +17,76 @@ contract InvariantTest {
1717
string[] private _excludedArtifacts;
1818
string[] private _targetedArtifacts;
1919

20-
FuzzSelector[] internal _targetedArtifactSelectors;
21-
FuzzSelector[] internal _targetedSelectors;
20+
FuzzSelector[] private _targetedArtifactSelectors;
21+
FuzzSelector[] private _targetedSelectors;
22+
23+
// Functions for users:
24+
// These are intended to be called in tests.
25+
26+
function excludeContract(address newExcludedContract_) internal {
27+
_excludedContracts.push(newExcludedContract_);
28+
}
29+
30+
function excludeSender(address newExcludedSender_) internal {
31+
_excludedSenders.push(newExcludedSender_);
32+
}
33+
34+
function targetArtifact(string memory newTargetedArtifact_) internal {
35+
_targetedArtifacts.push(newTargetedArtifact_);
36+
}
37+
38+
function targetArtifactSelector(FuzzSelector memory newTargetedArtifactSelector_) internal {
39+
_targetedArtifactSelectors.push(newTargetedArtifactSelector_);
40+
}
41+
42+
function targetContract(address newTargetedContract_) internal {
43+
_targetedContracts.push(newTargetedContract_);
44+
}
45+
46+
function targetSelector(FuzzSelector memory newTargetedSelector_) internal {
47+
_targetedSelectors.push(newTargetedSelector_);
48+
}
49+
50+
function targetSender(address newTargetedSender_) internal {
51+
_targetedSenders.push(newTargetedSender_);
52+
}
53+
54+
// Functions for forge:
55+
// These are called by forge to run invariant tests and don't need to be called in tests.
2256

2357
function excludeArtifact(string memory newExcludedArtifact_) internal {
2458
_excludedArtifacts.push(newExcludedArtifact_);
2559
}
2660

2761
function excludeArtifacts() public view returns (string[] memory excludedArtifacts_) {
28-
require(_excludedArtifacts.length != uint256(0), "NO_EXCLUDED_ARTIFACTS");
2962
excludedArtifacts_ = _excludedArtifacts;
3063
}
3164

32-
function excludeContract(address newExcludedContract_) internal {
33-
_excludedContracts.push(newExcludedContract_);
34-
}
35-
3665
function excludeContracts() public view returns (address[] memory excludedContracts_) {
37-
require(_excludedContracts.length != uint256(0), "NO_EXCLUDED_CONTRACTS");
3866
excludedContracts_ = _excludedContracts;
3967
}
4068

41-
function excludeSender(address newExcludedSender_) internal {
42-
_excludedSenders.push(newExcludedSender_);
43-
}
44-
4569
function excludeSenders() public view returns (address[] memory excludedSenders_) {
46-
require(_excludedSenders.length != uint256(0), "NO_EXCLUDED_SENDERS");
4770
excludedSenders_ = _excludedSenders;
4871
}
4972

50-
function targetArtifact(string memory newTargetedArtifact_) internal {
51-
_targetedArtifacts.push(newTargetedArtifact_);
52-
}
53-
5473
function targetArtifacts() public view returns (string[] memory targetedArtifacts_) {
55-
require(_targetedArtifacts.length != uint256(0), "NO_TARGETED_ARTIFACTS");
5674
targetedArtifacts_ = _targetedArtifacts;
5775
}
5876

59-
function targetArtifactSelector(FuzzSelector memory newTargetedArtifactSelector_) internal {
60-
_targetedArtifactSelectors.push(newTargetedArtifactSelector_);
61-
}
62-
6377
function targetArtifactSelectors() public view returns (FuzzSelector[] memory targetedArtifactSelectors_) {
64-
require(targetedArtifactSelectors_.length != uint256(0), "NO_TARGETED_ARTIFACT_SELECTORS");
6578
targetedArtifactSelectors_ = _targetedArtifactSelectors;
6679
}
6780

68-
function targetContract(address newTargetedContract_) internal {
69-
_targetedContracts.push(newTargetedContract_);
70-
}
71-
7281
function targetContracts() public view returns (address[] memory targetedContracts_) {
73-
require(_targetedContracts.length != uint256(0), "NO_TARGETED_CONTRACTS");
7482
targetedContracts_ = _targetedContracts;
7583
}
7684

77-
function targetSelector(FuzzSelector memory newTargetedSelector_) internal {
78-
_targetedSelectors.push(newTargetedSelector_);
79-
}
80-
8185
function targetSelectors() public view returns (FuzzSelector[] memory targetedSelectors_) {
82-
require(targetedSelectors_.length != uint256(0), "NO_TARGETED_SELECTORS");
8386
targetedSelectors_ = _targetedSelectors;
8487
}
8588

86-
function targetSender(address newTargetedSender_) internal {
87-
_targetedSenders.push(newTargetedSender_);
88-
}
89-
9089
function targetSenders() public view returns (address[] memory targetedSenders_) {
91-
require(_targetedSenders.length != uint256(0), "NO_TARGETED_SENDERS");
9290
targetedSenders_ = _targetedSenders;
9391
}
9492
}

0 commit comments

Comments
 (0)