Commit dcccc095 authored by Mark Tyneway's avatar Mark Tyneway

contracts-periphery: clean up foundry tests

parent ba893da1
...@@ -13,24 +13,27 @@ AssetReceiverTest:test_withdrawETHwithAmount() (gas: 26108) ...@@ -13,24 +13,27 @@ AssetReceiverTest:test_withdrawETHwithAmount() (gas: 26108)
AssetReceiverTest:test_attest_bulk() (gas: 611440) AssetReceiverTest:test_attest_bulk() (gas: 611440)
AssetReceiverTest:test_attest_individual() (gas: 538514) AssetReceiverTest:test_attest_individual() (gas: 538514)
AssetReceiverTest:test_attest_single() (gas: 558962) AssetReceiverTest:test_attest_single() (gas: 558962)
Drippie_Test:testFuzz_fails_unauthorized(address) (runs: 256, μ: 17073, ~: 17073)
Drippie_Test:test_create_fails_twice() (gas: 169499) Drippie_Test:test_create_fails_twice() (gas: 169499)
Drippie_Test:test_create_success() (gas: 183929) Drippie_Test:test_create_success() (gas: 184013)
Drippie_Test:test_drip_amount() (gas: 286145) Drippie_Test:test_drip_amount() (gas: 286156)
Drippie_Test:test_drip_not_exist_fails() (gas: 15158) Drippie_Test:test_drip_not_exist_fails() (gas: 15136)
Drippie_Test:test_fails_unauthorized() (gas: 15100)
Drippie_Test:test_name_not_exist_fails() (gas: 16157) Drippie_Test:test_name_not_exist_fails() (gas: 16157)
Drippie_Test:test_non_reentrant_zero_interval_fails() (gas: 19090)
Drippie_Test:test_not_active_fails() (gas: 171861) Drippie_Test:test_not_active_fails() (gas: 171861)
Drippie_Test:test_reentrant_fails() (gas: 19129)
Drippie_Test:test_reentrant_succeeds() (gas: 180769)
Drippie_Test:test_set_status_none_fails() (gas: 169439) Drippie_Test:test_set_status_none_fails() (gas: 169439)
Drippie_Test:test_set_status_same_fails() (gas: 169828) Drippie_Test:test_set_status_same_fails() (gas: 169939)
Drippie_Test:test_set_status_success() (gas: 199182) Drippie_Test:test_set_status_success() (gas: 199270)
Drippie_Test:test_should_archive_if_paused_success() (gas: 177944) Drippie_Test:test_should_archive_if_paused_success() (gas: 177922)
Drippie_Test:test_should_not_allow_active_if_archived_fails() (gas: 175362) Drippie_Test:test_should_not_allow_active_if_archived_fails() (gas: 175362)
Drippie_Test:test_should_not_allow_paused_if_archived_fails() (gas: 175361) Drippie_Test:test_should_not_allow_paused_if_archived_fails() (gas: 175383)
Drippie_Test:test_should_not_archive_if_active_fails() (gas: 176490) Drippie_Test:test_should_not_archive_if_active_fails() (gas: 176512)
Drippie_Test:test_status_unauthorized_fails() (gas: 167971) Drippie_Test:test_status_unauthorized_fails() (gas: 167971)
Drippie_Test:test_trigger_one_function() (gas: 335266) Drippie_Test:test_trigger_one_function() (gas: 339137)
Drippie_Test:test_trigger_two_functions() (gas: 489313) Drippie_Test:test_trigger_two_functions() (gas: 493184)
Drippie_Test:test_twice_in_one_interval_fails() (gas: 304971) Drippie_Test:test_twice_in_one_interval_fails() (gas: 305202)
OptimistTest:test_optimist_baseURI() (gas: 116809) OptimistTest:test_optimist_baseURI() (gas: 116809)
OptimistTest:test_optimist_burn() (gas: 77526) OptimistTest:test_optimist_burn() (gas: 77526)
OptimistTest:test_optimist_initialize() (gas: 23095) OptimistTest:test_optimist_initialize() (gas: 23095)
......
...@@ -154,6 +154,12 @@ contract Drippie_Test is Test { ...@@ -154,6 +154,12 @@ contract Drippie_Test is Test {
vm.expectEmit(true, true, true, true); vm.expectEmit(true, true, true, true);
emit DripCreated(dripName, dripName, cfg); emit DripCreated(dripName, dripName, cfg);
if (cfg.reentrant) {
assertEq(cfg.interval, 0);
} else {
assertTrue(cfg.interval > 0);
}
vm.prank(drippie.owner()); vm.prank(drippie.owner());
drippie.create(dripName, cfg); drippie.create(dripName, cfg);
...@@ -568,4 +574,55 @@ contract Drippie_Test is Test { ...@@ -568,4 +574,55 @@ contract Drippie_Test is Test {
drippie.drip(dripName); drippie.drip(dripName);
} }
/**
* @notice The interval must be 0 if reentrant is set on the config.
*/
function test_reentrant_succeeds() external {
address owner = drippie.owner();
Drippie.DripConfig memory cfg = _defaultConfig();
cfg.reentrant = true;
cfg.interval = 0;
vm.prank(owner);
vm.expectEmit(true, true, true, true, address(drippie));
emit DripCreated(dripName, dripName, cfg);
drippie.create(dripName, cfg);
Drippie.DripConfig memory _cfg = drippie.dripConfig(dripName);
assertEq(_cfg.reentrant, true);
assertEq(_cfg.interval, 0);
}
/**
* @notice A non zero interval when reentrant is true will cause a revert
* when creating a drip.
*/
function test_reentrant_fails() external {
address owner = drippie.owner();
Drippie.DripConfig memory cfg = _defaultConfig();
cfg.reentrant = true;
cfg.interval = 1;
vm.prank(owner);
vm.expectRevert("Drippie: if allowing reentrant drip, must set interval to zero");
drippie.create(dripName, cfg);
}
/**
* @notice If reentrant is false and the interval is 0 then it should
* revert when the drip is created.
*/
function test_non_reentrant_zero_interval_fails() external {
address owner = drippie.owner();
Drippie.DripConfig memory cfg = _defaultConfig();
cfg.reentrant = false;
cfg.interval = 0;
vm.prank(owner);
vm.expectRevert("Drippie: interval must be greater than zero if drip is not reentrant");
drippie.create(dripName, cfg);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment