From 398182638fa99b30e0000e60b40007347daea8b5 Mon Sep 17 00:00:00 2001 From: simonjiao Date: Sun, 19 Jan 2025 20:22:00 +0800 Subject: [PATCH] update executor test --- Cargo.lock | 1 + executor/Cargo.toml | 1 + executor/tests/executor_test.rs | 30 ++++++++++++++++++++++++++++++ 3 files changed, 32 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 4f51ce1bde..813b21d5f7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10617,6 +10617,7 @@ dependencies = [ "starcoin-transaction-builder", "starcoin-types", "starcoin-vm-runtime", + "starcoin-vm-runtime-types", "starcoin-vm-types", "stdlib", "stest", diff --git a/executor/Cargo.toml b/executor/Cargo.toml index 58ef99ad84..d71da166b2 100644 --- a/executor/Cargo.toml +++ b/executor/Cargo.toml @@ -27,6 +27,7 @@ starcoin-transaction-builder = { workspace = true } starcoin-state-tree = { workspace = true } starcoin-statedb = { workspace = true } starcoin-vm-runtime = { workspace = true } +starcoin-vm-runtime-types = { workspace = true } stdlib = { workspace = true } stest = { workspace = true } tempfile = { workspace = true } diff --git a/executor/tests/executor_test.rs b/executor/tests/executor_test.rs index cbb07528ae..44fc1e22de 100644 --- a/executor/tests/executor_test.rs +++ b/executor/tests/executor_test.rs @@ -36,8 +36,11 @@ use test_helper::executor::{ use starcoin_state_api::StateReaderExt; use starcoin_types::account::Account; use starcoin_types::account_config::G_STC_TOKEN_CODE; +use starcoin_vm_runtime::data_cache::AsMoveResolver; +use starcoin_vm_runtime::move_vm_ext::ResourceGroupResolver; use starcoin_vm_runtime::starcoin_vm::{chunk_block_transactions, StarcoinVM}; use starcoin_vm_types::account_config::core_code_address; +use starcoin_vm_types::language_storage::StructTag; use starcoin_vm_types::state_store::state_key::StateKey; use starcoin_vm_types::state_store::state_value::StateValue; use test_helper::executor::{ @@ -1134,3 +1137,30 @@ fn test_chunk_block_transactions() -> Result<()> { Ok(()) } + +#[test] +fn test_genesis_writeset_for_object() -> Result<()> { + starcoin_logger::init_for_test(); + + let (chain_statedb, _network) = prepare_genesis(); + let state_key = StateKey::resource_group( + &genesis_address(), + &StructTag { + address: genesis_address(), + module: Identifier::new("object").unwrap(), + name: Identifier::new("ObjectGroup").unwrap(), + type_args: vec![], + }, + ); + let object_core_tag = StructTag { + address: genesis_address(), + module: Identifier::new("object").unwrap(), + name: Identifier::new("ObjectCore").unwrap(), + type_args: vec![], + }; + let resource_group_adapter = chain_statedb.as_move_resolver(); + assert!(resource_group_adapter + .resource_exists_in_group(&state_key, &object_core_tag) + .unwrap()); + Ok(()) +}