Skip to content

Commit 1dee9cb

Browse files
authored
Merge pull request #6217 from BowTiedWoo/wasm-issue-663/assertion-failed
[clarity-wasm-tests] fix test_cc_trait_stack_depth assertion failure
2 parents 6917add + a5ace20 commit 1dee9cb

File tree

1 file changed

+24
-4
lines changed

1 file changed

+24
-4
lines changed

clarity/src/vm/tests/contracts.rs

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ use stacks_common::types::StacksEpochId;
2222
use crate::vm::ast::errors::ParseErrors;
2323
use crate::vm::ast::ASTRules;
2424
use crate::vm::contexts::Environment;
25+
use crate::vm::database::MemoryBackingStore;
2526
use crate::vm::errors::{CheckErrors, Error, RuntimeErrorType};
2627
use crate::vm::tests::{
2728
env_factory, execute, is_committed, is_err_code_i128 as is_err_code, symbols_from_values,
@@ -1152,6 +1153,10 @@ fn test_cc_trait_stack_depth(
11521153
epoch: StacksEpochId,
11531154
mut env_factory: MemoryEnvironmentGenerator,
11541155
) {
1156+
// Clarity-wasm analysis pass will fail for ClarityV1. Skipping.
1157+
if cfg!(feature = "clarity-wasm") && version == ClarityVersion::Clarity1 {
1158+
return;
1159+
}
11551160
let mut owned_env = env_factory.get_env(epoch);
11561161

11571162
let contract_one = "(define-public (foo)
@@ -1173,16 +1178,31 @@ fn test_cc_trait_stack_depth(
11731178

11741179
let mut placeholder_context =
11751180
ContractContext::new(QualifiedContractIdentifier::transient(), version);
1181+
1182+
let mut store = MemoryBackingStore::new();
1183+
let mut analysis_db = store.as_analysis_db();
1184+
analysis_db.begin();
1185+
11761186
let mut env = owned_env.get_exec_environment(None, None, &mut placeholder_context);
11771187

11781188
let contract_identifier = QualifiedContractIdentifier::local("c-foo").unwrap();
1179-
env.initialize_contract(contract_identifier, contract_one, ASTRules::PrecheckSize)
1180-
.unwrap();
1189+
env.initialize_contract_with_db(
1190+
contract_identifier,
1191+
contract_one,
1192+
ASTRules::PrecheckSize,
1193+
&mut analysis_db,
1194+
)
1195+
.unwrap();
11811196

11821197
let contract_identifier = QualifiedContractIdentifier::local("c-bar").unwrap();
11831198
assert_eq!(
1184-
env.initialize_contract(contract_identifier, contract_two, ASTRules::PrecheckSize)
1185-
.unwrap_err(),
1199+
env.initialize_contract_with_db(
1200+
contract_identifier,
1201+
contract_two,
1202+
ASTRules::PrecheckSize,
1203+
&mut analysis_db
1204+
)
1205+
.unwrap_err(),
11861206
RuntimeErrorType::MaxStackDepthReached.into()
11871207
);
11881208
}

0 commit comments

Comments
 (0)