Skip to content

Commit

Permalink
Fixture fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
DanielSchiavini committed Jan 31, 2024
1 parent 10fa206 commit 7c815bc
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 31 deletions.
2 changes: 1 addition & 1 deletion contracts/mocks/ERC4626.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version 0.3.10
# pragma version 0.1
# From: https://github.com/fubuloubu/ERC4626/blob/main/contracts/VyperVault.vy
from vyper.interfaces import ERC20
from vyper.interfaces import ERC20Detailed
Expand Down
2 changes: 1 addition & 1 deletion contracts/mocks/Zap.vy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# @version 0.3.10
# pragma version 0.1
"""
@title "Zap" Depositer for permissionless USD metapools
@author Curve.Fi
Expand Down
12 changes: 2 additions & 10 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,12 @@

@pytest.fixture(autouse=True)
def boa_setup():
import tracemalloc

tracemalloc.start()
snapshot = tracemalloc.take_snapshot()
# boa.env.enable_fast_mode()
boa.env.enable_fast_mode()
yield
# force reset of the environment to prevent memory leaking between tests
boa.env._contracts.clear()
boa.env._code_registry.clear()
boa.reset_env()
snapshot2 = tracemalloc.take_snapshot()
top_stats = snapshot2.compare_to(snapshot, "lineno")
print("[ Top 10 differences ]")
for stat in top_stats[:10]:
print(stat)


def pytest_generate_tests(metafunc):
Expand Down
16 changes: 8 additions & 8 deletions tests/pools/general/test_specific_liquidity_operations.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,30 +5,30 @@
from tests.utils.tokens import mint_for_testing


@pytest.fixture(scope="module")
@pytest.fixture()
def token_a(deployer, erc20oracle_deployer):
with boa.env.prank(deployer):
return erc20oracle_deployer.deploy("OTA", "OTA", 18, 1006470359024000000)


@pytest.fixture(scope="module")
@pytest.fixture()
def token_b(deployer, erc20oracle_deployer):
with boa.env.prank(deployer):
return erc20oracle_deployer.deploy("OTB", "OTB", 18, 1000000000000000000)


@pytest.fixture(scope="module")
@pytest.fixture()
def token_c(deployer, erc20_deployer):
with boa.env.prank(deployer):
return erc20_deployer.deploy("OTC", "OTC", 18)


@pytest.fixture(scope="module")
@pytest.fixture()
def pool_tokens(token_a, token_b, token_c):
return [token_a, token_b, token_c]


@pytest.fixture(scope="module")
@pytest.fixture()
def asset_types(pool_tokens):
_asset_types = []
for token in pool_tokens:
Expand All @@ -41,7 +41,7 @@ def asset_types(pool_tokens):
return _asset_types


@pytest.fixture(scope="module")
@pytest.fixture()
def empty_swap(deployer, factory, pool_tokens, zero_address, amm_deployer, asset_types, set_pool_implementations):
pool_size = len(pool_tokens)
oracle_method_id = function_signature_to_4byte_selector("exchangeRate()")
Expand Down Expand Up @@ -74,7 +74,7 @@ def empty_swap(deployer, factory, pool_tokens, zero_address, amm_deployer, asset
return amm_deployer.at(pool)


@pytest.fixture(scope="module")
@pytest.fixture()
def deposit_amounts(pool_tokens, bob):
_deposit_amounts = []
for i, token in enumerate(pool_tokens):
Expand All @@ -86,7 +86,7 @@ def deposit_amounts(pool_tokens, bob):
return _deposit_amounts


@pytest.fixture(scope="module")
@pytest.fixture()
def swap(empty_swap, bob, deposit_amounts, pool_tokens):
for token in pool_tokens:
token.approve(empty_swap, 2**256 - 1, sender=bob)
Expand Down
10 changes: 5 additions & 5 deletions tests/pools/meta/test_get_virtual_price_meta.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@

import pytest

pytestmark = pytest.mark.usefixtures("initial_setup")
pytestmark = pytest.mark.usefixtures("meta_setup")


@pytest.mark.parametrize("sending,receiving", itertools.permutations(range(4), 2))
def test_exchange_underlying(bob, swap, sending, receiving, meta_decimals, base_pool_decimals, underlying_tokens):
def test_exchange_underlying(bob, meta_swap, sending, receiving, meta_decimals, base_pool_decimals, underlying_tokens):
underlying_decimals = [meta_decimals] + base_pool_decimals
virtual_price = swap.get_virtual_price()
virtual_price = meta_swap.get_virtual_price()

amount = 10 ** underlying_decimals[sending]
if sending > 0:
underlying_tokens[sending + 1]._mint_for_testing(bob, amount)

swap.exchange_underlying(sending, receiving, amount, 0, sender=bob)
meta_swap.exchange_underlying(sending, receiving, amount, 0, sender=bob)

assert swap.get_virtual_price() > virtual_price
assert meta_swap.get_virtual_price() > virtual_price
12 changes: 6 additions & 6 deletions tests/pools/meta/test_meta_new_ng_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,20 +50,20 @@ def ng_base_pool(deployer, factory, ng_base_pool_tokens, zero_address, amm_deplo
return amm_deployer.at(pool)


@pytest.fixture(scope="module")
@pytest.fixture()
def ng_metapool_tokens(meta_token, ng_base_pool):
return [meta_token, ng_base_pool]


@pytest.fixture(scope="module")
@pytest.fixture()
def add_ng_base_pool(owner, factory, ng_base_pool, ng_base_pool_tokens):
with boa.env.prank(owner):
factory.add_base_pool(
ng_base_pool.address, ng_base_pool.address, [0] * len(ng_base_pool_tokens), len(ng_base_pool_tokens)
)


@pytest.fixture(scope="module")
@pytest.fixture()
def empty_swap(
deployer,
factory,
Expand Down Expand Up @@ -99,15 +99,15 @@ def empty_swap(
return meta_deployer.at(pool)


@pytest.fixture(scope="module")
@pytest.fixture()
def mint_and_approve_for_bob(meta_token, ng_base_pool_tokens, bob, empty_swap, ng_base_pool):
for token in [meta_token] + ng_base_pool_tokens:
mint_for_testing(bob, 10**25, token)
token.approve(empty_swap, 2**256 - 1, sender=bob)
token.approve(ng_base_pool, 2**256 - 1, sender=bob)


@pytest.fixture(scope="module")
@pytest.fixture()
def deposit_amounts(
meta_token, ng_base_pool, ng_base_pool_tokens, ng_base_pool_decimals, empty_swap, bob, mint_and_approve_for_bob
):
Expand All @@ -127,7 +127,7 @@ def add_base_pool_liquidity(user, base_pool, base_pool_tokens, base_pool_decimal
return _deposit_amounts


@pytest.fixture(scope="module")
@pytest.fixture()
def swap(empty_swap, bob, deposit_amounts):
empty_swap.add_liquidity(deposit_amounts, 0, bob, sender=bob)
return empty_swap
Expand Down

0 comments on commit 7c815bc

Please sign in to comment.