Skip to content

Commit

Permalink
Merge pull request #446 from mkoura/tweak_tests
Browse files Browse the repository at this point in the history
Tweak tests
  • Loading branch information
mkoura committed Apr 19, 2021
2 parents 34e2bb0 + dfe841f commit 8aa640f
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 45 deletions.
5 changes: 2 additions & 3 deletions cardano_node_tests/cluster_scripts/mary/start-cluster-hfc
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@ BYRON_SECURITY_PARAM=100
POOL_PLEDGE=1000000000000
INIT_SUPPLY=45000000000000000

if [ -f "$STATE_CLUSTER/supervisord.pid" ]
then
if [ -f "$STATE_CLUSTER/supervisord.pid" ]; then
echo "Cluster already running. Please run \`stop-cluster\` first!" >&2
exit 1
fi
Expand Down Expand Up @@ -496,6 +495,6 @@ echo "Waiting $FINAL_WAIT sec for Mary era to start"
sleep "$FINAL_WAIT"

ERA="$(cardano-cli query tip --testnet-magic "$NETWORK_MAGIC" | jq -r '.era')"
[ "$ERA" = "Mary" ] || { echo "Unexpected era '$ERA' on line $LINENO" >&2; exit 1; } # assert
[ "$ERA" = "Mary" ] || [ "$ERA" = "null" ] || { echo "Unexpected era '$ERA' on line $LINENO" >&2; exit 1; } # assert

echo "Cluster started. Run \`stop-cluster\` to stop"
5 changes: 5 additions & 0 deletions cardano_node_tests/tests/test_native_tokens.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
from packaging import version

from cardano_node_tests.utils import cluster_management
from cardano_node_tests.utils import cluster_nodes
from cardano_node_tests.utils import clusterlib_utils
from cardano_node_tests.utils import helpers
from cardano_node_tests.utils.versions import VERSIONS
Expand Down Expand Up @@ -1549,6 +1550,10 @@ def test_transfer_multiple_tokens(
), f"Incorrect token #{idx} balance for destination address `{dst_address2}`"

@allure.link(helpers.get_vcs_link())
@pytest.mark.skipif(
cluster_nodes.get_cluster_type().type != cluster_nodes.ClusterType.LOCAL,
reason="runs only on local cluster",
)
def test_transfer_no_ada(
self,
cluster: clusterlib.ClusterLib,
Expand Down
31 changes: 14 additions & 17 deletions cardano_node_tests/tests/test_pools.py
Original file line number Diff line number Diff line change
Expand Up @@ -608,15 +608,12 @@ def test_deregister_stake_pool(
tx_name=temp_template,
)

LOGGER.info("Waiting up to 3 epochs for stake pool to be deregistered.")
# check that the pool was deregistered
cluster.wait_for_new_epoch()
stake_pool_id_dec = helpers.decode_bech32(pool_creation_out.stake_pool_id)
helpers.wait_for(
lambda: cluster.get_registered_stake_pools_ledger_state().get(stake_pool_id_dec)
is None,
delay=10,
num_sec=3 * cluster.epoch_length_sec,
message="deregister stake pool",
)
assert not cluster.get_registered_stake_pools_ledger_state().get(
stake_pool_id_dec
), f"The pool {pool_creation_out.stake_pool_id} was not deregistered"

# check that the balance for source address was correctly updated
assert src_register_balance - tx_raw_output.fee == cluster.get_address_balance(
Expand Down Expand Up @@ -705,15 +702,12 @@ def test_reregister_stake_pool(
tx_name=temp_template,
)

LOGGER.info("Waiting up to 3 epochs for stake pool to be deregistered.")
# check that the pool was deregistered
cluster.wait_for_new_epoch()
stake_pool_id_dec = helpers.decode_bech32(pool_creation_out.stake_pool_id)
helpers.wait_for(
lambda: cluster.get_registered_stake_pools_ledger_state().get(stake_pool_id_dec)
is None,
delay=10,
num_sec=3 * cluster.epoch_length_sec,
message="deregister stake pool",
)
assert not cluster.get_registered_stake_pools_ledger_state().get(
stake_pool_id_dec
), f"The pool {pool_creation_out.stake_pool_id} was not deregistered"

# check that the stake addresses are no longer delegated
for owner_rec in pool_owners:
Expand Down Expand Up @@ -743,7 +737,10 @@ def test_reregister_stake_pool(
assert (
cluster.get_address_balance(src_address)
== src_init_balance - tx_raw_output.fee - cluster.get_pool_deposit()
), f"Incorrect balance for source address `{src_address}`"
), (
f"Incorrect balance for source address `{src_address}` "
f"({src_init_balance}, {tx_raw_output.fee}, {cluster.get_pool_deposit()})"
)

LOGGER.info("Waiting up to 5 epochs for stake pool to be reregistered.")
helpers.wait_for(
Expand Down
49 changes: 25 additions & 24 deletions cardano_node_tests/tests/test_staking.py
Original file line number Diff line number Diff line change
Expand Up @@ -808,7 +808,7 @@ def test_reward_amount( # noqa: C901

# make sure we have enough time to finish the registration/delegation in one epoch
clusterlib_utils.wait_for_epoch_interval(
cluster_obj=cluster, start=-50, stop=-20, force_epoch=False
cluster_obj=cluster, start=-100, stop=-40, force_epoch=False
)

init_epoch = cluster.get_epoch()
Expand Down Expand Up @@ -1071,9 +1071,9 @@ def test_reward_addr_delegation( # noqa: C901
)
pool_data_updated = loaded_data._replace(pool_pledge=0)

# sleep till the end of epoch
# make sure we have enough time to update the pool parameters
clusterlib_utils.wait_for_epoch_interval(
cluster_obj=cluster, start=-50, stop=-20, force_epoch=False
cluster_obj=cluster, start=-100, stop=-30, force_epoch=False
)
init_epoch = cluster.get_epoch()

Expand Down Expand Up @@ -1191,29 +1191,8 @@ def _check_ledger_state(
if cluster.get_epoch() == prev_epoch:
cluster.wait_for_new_epoch()

# sleep till the end of epoch
clusterlib_utils.wait_for_epoch_interval(cluster_obj=cluster, start=-19, stop=-5)
this_epoch = cluster.get_epoch()

# current reward balances
owner_reward = cluster.get_stake_addr_info(
pool_reward.stake.address
).reward_account_balance

# absolute reward amounts received this epoch
abs_owner_reward = (
owner_reward - prev_owner_reward if this_epoch == prev_epoch + 1 else 0
)

# store collected rewards info
owner_rewards.append(
(
this_epoch,
owner_reward,
abs_owner_reward,
)
)

if this_epoch == init_epoch + 2:
# delegate pool rewards address to pool
node_cold = pool_rec["cold_key_pair"]
Expand Down Expand Up @@ -1261,6 +1240,28 @@ def _check_ledger_state(
cluster.get_epoch() == this_epoch
), "Deregistration took longer than expected and would affect other checks"

# sleep till the end of epoch
clusterlib_utils.wait_for_epoch_interval(cluster_obj=cluster, start=-19, stop=-5)

# current reward balances
owner_reward = cluster.get_stake_addr_info(
pool_reward.stake.address
).reward_account_balance

# absolute reward amounts received this epoch
abs_owner_reward = (
owner_reward - prev_owner_reward if this_epoch == prev_epoch + 1 else 0
)

# store collected rewards info
owner_rewards.append(
(
this_epoch,
owner_reward,
abs_owner_reward,
)
)

_check_ledger_state(
this_epoch=this_epoch,
owner_reward=owner_reward,
Expand Down
1 change: 0 additions & 1 deletion cardano_node_tests/tests/test_transactions.py
Original file line number Diff line number Diff line change
Expand Up @@ -748,7 +748,6 @@ def _from_to_transactions(
tx_files=tx_files,
join_txouts=False,
)
cluster_obj.wait_for_new_block(new_blocks=2)

@pytest.fixture
def many_utxos(
Expand Down

0 comments on commit 8aa640f

Please sign in to comment.