@@ -97,9 +97,9 @@ Ran 1 test suite [ELAPSED]: 1 tests passed, 0 failed, 0 skipped (1 total tests)
9797
9898"# ] ] ) ;
9999
100- // Test evm version set in `setUp` and test constructor is accounted in test.
100+ // Test evm version set in `setUp` is accounted in test.
101101 prj. add_test(
102- "TestSetEvmVersion .t.sol" ,
102+ "TestSetupEvmVersion .t.sol" ,
103103 & r#"
104104import {Test} from "forge-std/Test.sol";
105105
@@ -114,7 +114,7 @@ interface ICreate2Deployer {
114114
115115EvmVm constant evm = EvmVm(address(bytes20(uint160(uint256(keccak256("hevm cheat code"))))));
116116
117- contract TestSetEvmVersionInSetup is Test {
117+ contract TestSetupEvmVersion is Test {
118118 function setUp() public {
119119 evm.setEvmVersion("istanbul");
120120 }
@@ -125,64 +125,66 @@ contract TestSetEvmVersionInSetup is Test {
125125 ICreate2Deployer(0x35Da41c476fA5c6De066f20556069096A1F39364).computeAddress(bytes32(0), bytes32(0));
126126 }
127127}
128-
129- contract TestSetEvmVersionInConstructor is Test {
130- constructor() {
131- evm.setEvmVersion("istanbul");
132- }
133-
134- function test_evm_version_in_constructor() public {
135- vm.createSelectFork("<rpc>");
136- // revert with NotActivated for istanbul
137- ICreate2Deployer(0x35Da41c476fA5c6De066f20556069096A1F39364).computeAddress(bytes32(0), bytes32(0));
138- }
139- }
140128 "# . replace( "<rpc>" , & endpoint) ,
141129 ) ;
142- cmd. forge_fuse( ) . args( [ "test" , "--mc" , "TestSetEvmVersion" , "-vvvv" ] ) . assert_failure( ) . stdout_eq( str ![ [ r#"
143- [COMPILING_FILES] with [SOLC_VERSION]
144- [SOLC_VERSION] [ELAPSED]
145- Compiler run successful!
146-
147- Ran 1 test for test/TestSetEvmVersion.t.sol:TestSetEvmVersionInConstructor
148- [FAIL: EvmError: NotActivated] test_evm_version_in_constructor() ([GAS])
149- Traces:
150- [..] TestSetEvmVersionInConstructor::test_evm_version_in_constructor()
151- └─ ← [NotActivated] EvmError: NotActivated
152-
153- Backtrace:
154- at TestSetEvmVersionInConstructor.test_evm_version_in_constructor (test/TestSetEvmVersion.t.sol:29:2)
155-
156- Suite result: FAILED. 0 passed; 1 failed; 0 skipped; [ELAPSED]
157-
158- Ran 1 test for test/TestSetEvmVersion.t.sol:TestSetEvmVersionInSetup
130+ cmd. forge_fuse( )
131+ . args( [ "test" , "--mc" , "TestSetupEvmVersion" , "-vvvv" ] )
132+ . assert_failure( )
133+ . stdout_eq( str ![ [ r#"
134+ ...
159135[FAIL: EvmError: NotActivated] test_evm_version_in_setup() ([GAS])
160136Traces:
161- [..] TestSetEvmVersionInSetup ::setUp()
137+ [..] TestSetupEvmVersion ::setUp()
162138 ├─ [0] VM::setEvmVersion("istanbul")
163139 │ └─ ← [Return]
164140 └─ ← [Stop]
165141
166- [..] TestSetEvmVersionInSetup ::test_evm_version_in_setup()
142+ [..] TestSetupEvmVersion ::test_evm_version_in_setup()
167143 └─ ← [NotActivated] EvmError: NotActivated
144+ ...
168145
169- Backtrace:
170- at TestSetEvmVersionInSetup.test_evm_version_in_setup (test/TestSetEvmVersion.t.sol:17:2)
146+ "# ] ] ) ;
171147
172- Suite result: FAILED. 0 passed; 1 failed; 0 skipped; [ELAPSED]
148+ // Test evm version set in constructor is accounted in test.
149+ prj. add_test(
150+ "TestConstructorEvmVersion.t.sol" ,
151+ & r#"
152+ import {Test} from "forge-std/Test.sol";
173153
174- Ran 2 test suites [ELAPSED]: 0 tests passed, 2 failed, 0 skipped (2 total tests)
154+ interface EvmVm {
155+ function getEvmVersion() external pure returns (string memory evm);
156+ function setEvmVersion(string calldata evm) external;
157+ }
175158
176- Failing tests:
177- Encountered 1 failing test in test/TestSetEvmVersion.t.sol:TestSetEvmVersionInConstructor
178- [FAIL: EvmError: NotActivated] test_evm_version_in_constructor() ([GAS])
159+ interface ICreate2Deployer {
160+ function computeAddress(bytes32 salt, bytes32 codeHash) external view returns (address);
161+ }
179162
180- Encountered 1 failing test in test/TestSetEvmVersion.t.sol:TestSetEvmVersionInSetup
181- [FAIL: EvmError: NotActivated] test_evm_version_in_setup() ([GAS])
163+ EvmVm constant evm = EvmVm(address(bytes20(uint160(uint256(keccak256("hevm cheat code"))))));
182164
183- Encountered a total of 2 failing tests, 0 tests succeeded
165+ contract TestConstructorEvmVersion is Test {
166+ constructor() {
167+ evm.setEvmVersion("istanbul");
168+ }
184169
185- Tip: Run `forge test --rerun` to retry only the 2 failed tests
170+ function test_evm_version_in_constructor() public {
171+ vm.createSelectFork("<rpc>");
172+ // revert with NotActivated for istanbul
173+ ICreate2Deployer(0x35Da41c476fA5c6De066f20556069096A1F39364).computeAddress(bytes32(0), bytes32(0));
174+ }
175+ }
176+ "# . replace( "<rpc>" , & endpoint) ,
177+ ) ;
178+ cmd. forge_fuse( )
179+ . args( [ "test" , "--mc" , "TestConstructorEvmVersion" , "-vvvv" ] )
180+ . assert_failure( )
181+ . stdout_eq( str ![ [ r#"
182+ ...
183+ [FAIL: EvmError: NotActivated] test_evm_version_in_constructor() ([GAS])
184+ Traces:
185+ [..] TestConstructorEvmVersion::test_evm_version_in_constructor()
186+ └─ ← [NotActivated] EvmError: NotActivated
187+ ...
186188
187189"# ] ] ) ;
188190} ) ;
0 commit comments