From 5648eca9b2385c66a6eb0fd669e7d125b7094c48 Mon Sep 17 00:00:00 2001 From: Andrew Fitzgerald Date: Thu, 21 Sep 2023 19:10:27 +0000 Subject: [PATCH 1/4] Clone EpochSchedule --- token/program-2022-test/tests/transfer_fee.rs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/token/program-2022-test/tests/transfer_fee.rs b/token/program-2022-test/tests/transfer_fee.rs index dff1a4afa7b..cd18b8aa89e 100644 --- a/token/program-2022-test/tests/transfer_fee.rs +++ b/token/program-2022-test/tests/transfer_fee.rs @@ -1,5 +1,7 @@ #![cfg(feature = "test-sbf")] +use solana_program::epoch_schedule::EpochSchedule; + mod program_test; use { program_test::{TestContext, TokenContext}, @@ -279,9 +281,17 @@ async fn set_fee() { .unwrap(); // warp to first normal slot to easily calculate epochs - let epoch_schedule = context.context.lock().await.genesis_config().epoch_schedule; - let first_normal_slot = epoch_schedule.first_normal_slot; - let slots_per_epoch = epoch_schedule.slots_per_epoch; + let EpochSchedule { + first_normal_slot, + slots_per_epoch, + .. + } = context + .context + .lock() + .await + .genesis_config() + .epoch_schedule + .clone(); context .context .lock() From 96008a8f347c1d06f1becd972c773f12eefb47f5 Mon Sep 17 00:00:00 2001 From: Andrew Fitzgerald Date: Thu, 21 Sep 2023 19:15:16 +0000 Subject: [PATCH 2/4] formatting --- token/program-2022-test/tests/transfer_fee.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/token/program-2022-test/tests/transfer_fee.rs b/token/program-2022-test/tests/transfer_fee.rs index cd18b8aa89e..59dc4db8f98 100644 --- a/token/program-2022-test/tests/transfer_fee.rs +++ b/token/program-2022-test/tests/transfer_fee.rs @@ -1,10 +1,9 @@ #![cfg(feature = "test-sbf")] -use solana_program::epoch_schedule::EpochSchedule; - mod program_test; use { program_test::{TestContext, TokenContext}, + solana_program::epoch_schedule::EpochSchedule, solana_program_test::tokio, solana_sdk::{ instruction::InstructionError, program_option::COption, pubkey::Pubkey, signature::Signer, From 0d649fea7d1b7c14e422ad76daa441620ac4833d Mon Sep 17 00:00:00 2001 From: Andrew Fitzgerald Date: Thu, 21 Sep 2023 22:25:12 +0000 Subject: [PATCH 3/4] Lock and extract --- token/program-2022-test/tests/transfer_fee.rs | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/token/program-2022-test/tests/transfer_fee.rs b/token/program-2022-test/tests/transfer_fee.rs index 59dc4db8f98..bf0f0a474e8 100644 --- a/token/program-2022-test/tests/transfer_fee.rs +++ b/token/program-2022-test/tests/transfer_fee.rs @@ -3,7 +3,6 @@ mod program_test; use { program_test::{TestContext, TokenContext}, - solana_program::epoch_schedule::EpochSchedule, solana_program_test::tokio, solana_sdk::{ instruction::InstructionError, program_option::COption, pubkey::Pubkey, signature::Signer, @@ -280,17 +279,14 @@ async fn set_fee() { .unwrap(); // warp to first normal slot to easily calculate epochs - let EpochSchedule { - first_normal_slot, - slots_per_epoch, - .. - } = context - .context - .lock() - .await - .genesis_config() - .epoch_schedule - .clone(); + let (first_normal_slot, slots_per_epoch) = { + let context = context.context.lock().await; + ( + context.epoch_schedule.first_normal_slot, + context.epoch_schedule.slots_per_epoch, + ) + }; + context .context .lock() From b9ac99b24b03014dbb0beb83beeafcff43f7c052 Mon Sep 17 00:00:00 2001 From: Andrew Fitzgerald Date: Fri, 22 Sep 2023 21:30:28 +0000 Subject: [PATCH 4/4] fix --- token/program-2022-test/tests/transfer_fee.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/token/program-2022-test/tests/transfer_fee.rs b/token/program-2022-test/tests/transfer_fee.rs index bf0f0a474e8..c0251ec53d2 100644 --- a/token/program-2022-test/tests/transfer_fee.rs +++ b/token/program-2022-test/tests/transfer_fee.rs @@ -282,8 +282,8 @@ async fn set_fee() { let (first_normal_slot, slots_per_epoch) = { let context = context.context.lock().await; ( - context.epoch_schedule.first_normal_slot, - context.epoch_schedule.slots_per_epoch, + context.genesis_config().epoch_schedule.first_normal_slot, + context.genesis_config().epoch_schedule.slots_per_epoch, ) };