From 8f793271906e5f5e3130a5dd2e65a8c4eef08aa0 Mon Sep 17 00:00:00 2001 From: Jack May Date: Wed, 22 Jan 2020 17:06:11 -0800 Subject: [PATCH] Test account doesn't need RefCell (#7932) automerge --- runtime/src/bank.rs | 4 ++-- runtime/src/storage_utils.rs | 40 ++++++++++++++++++------------------ 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/runtime/src/bank.rs b/runtime/src/bank.rs index e941405d69..54afbace07 100644 --- a/runtime/src/bank.rs +++ b/runtime/src/bank.rs @@ -3081,8 +3081,8 @@ mod tests { // set up stakes, vote, and storage accounts bank.store_account(&stake_id, &stake_account); - bank.store_account(&validator_id, &validator_account.borrow()); - bank.store_account(&archiver_id, &archiver_account.borrow()); + bank.store_account(&validator_id, &validator_account); + bank.store_account(&archiver_id, &archiver_account); // generate some rewards let mut vote_state = VoteState::from(&vote_account).unwrap(); diff --git a/runtime/src/storage_utils.rs b/runtime/src/storage_utils.rs index d57ce5ca35..7523b34fba 100644 --- a/runtime/src/storage_utils.rs +++ b/runtime/src/storage_utils.rs @@ -91,7 +91,7 @@ pub(crate) mod tests { storage_instruction::{self, StorageAccountType}, storage_processor, }; - use std::{cell::RefCell, rc::Rc, sync::Arc}; + use std::{rc::Rc, sync::Arc}; #[test] fn test_store_and_recover() { @@ -149,24 +149,24 @@ pub(crate) mod tests { let ((validator_pubkey, validator_account), (archiver_pubkey, archiver_account)) = create_storage_accounts_with_credits(credits); - storage_accounts.store(&validator_pubkey, &validator_account.borrow()); - storage_accounts.store(&archiver_pubkey, &archiver_account.borrow()); + storage_accounts.store(&validator_pubkey, &validator_account); + storage_accounts.store(&archiver_pubkey, &archiver_account); // check that 2x credits worth of points are available assert_eq!(storage_accounts.points(), credits * 2); - let ((validator_pubkey, validator_account), (archiver_pubkey, archiver_account)) = + let ((validator_pubkey, validator_account), (archiver_pubkey, mut archiver_account)) = create_storage_accounts_with_credits(credits); - storage_accounts.store(&validator_pubkey, &validator_account.borrow()); - storage_accounts.store(&archiver_pubkey, &archiver_account.borrow()); + storage_accounts.store(&validator_pubkey, &validator_account); + storage_accounts.store(&archiver_pubkey, &archiver_account); // check that 4x credits worth of points are available assert_eq!(storage_accounts.points(), credits * 2 * 2); - storage_accounts.store(&validator_pubkey, &validator_account.borrow()); - storage_accounts.store(&archiver_pubkey, &archiver_account.borrow()); + storage_accounts.store(&validator_pubkey, &validator_account); + storage_accounts.store(&archiver_pubkey, &archiver_account); // check that storing again has no effect assert_eq!(storage_accounts.points(), credits * 2 * 2); - let storage_contract = &mut archiver_account.borrow().state().unwrap(); + let storage_contract = &mut archiver_account.state().unwrap(); if let StorageContract::ArchiverStorage { credits: account_credits, .. @@ -174,11 +174,8 @@ pub(crate) mod tests { { account_credits.current_epoch += 1; } - archiver_account - .borrow_mut() - .set_state(storage_contract) - .unwrap(); - storage_accounts.store(&archiver_pubkey, &archiver_account.borrow()); + archiver_account.set_state(storage_contract).unwrap(); + storage_accounts.store(&archiver_pubkey, &archiver_account); // check that incremental store increases credits assert_eq!(storage_accounts.points(), credits * 2 * 2 + 1); @@ -190,10 +187,7 @@ pub(crate) mod tests { pub fn create_storage_accounts_with_credits( credits: u64, - ) -> ( - (Pubkey, Rc>), - (Pubkey, Rc>), - ) { + ) -> ((Pubkey, Account), (Pubkey, Account)) { let validator_pubkey = Pubkey::new_rand(); let archiver_pubkey = Pubkey::new_rand(); let validator_account = Account::new_ref( @@ -240,8 +234,14 @@ pub(crate) mod tests { .unwrap(); } ( - (validator_pubkey, validator_account), - (archiver_pubkey, archiver_account), + ( + validator_pubkey, + Rc::try_unwrap(validator_account).unwrap().into_inner(), + ), + ( + archiver_pubkey, + Rc::try_unwrap(archiver_account).unwrap().into_inner(), + ), ) } }