@@ -23,7 +23,7 @@ use clarity::types::{EpochList, StacksEpoch, StacksEpochId};
2323use clarity:: util:: hash:: { Hash160 , MerkleTree , Sha512Trunc256Sum } ;
2424use clarity:: util:: secp256k1:: MessageSignature ;
2525use clarity:: vm:: costs:: ExecutionCost ;
26- use clarity:: vm:: types:: PrincipalData ;
26+ use clarity:: vm:: types:: { PrincipalData , ResponseData } ;
2727use clarity:: vm:: { ClarityVersion , Value as ClarityValue } ;
2828use serde:: { Deserialize , Serialize , Serializer } ;
2929use stacks_common:: bitvec:: BitVec ;
@@ -1196,11 +1196,40 @@ impl ContractConsensusTest<'_> {
11961196 } ,
11971197 is_naka_block,
11981198 ) ;
1199- assert ! (
1200- matches!( result, ExpectedResult :: Success ( _) ) ,
1201- "Expected success for setup contract {}: {result:?}" ,
1202- contract. name,
1203- ) ;
1199+ match result {
1200+ ExpectedResult :: Success ( ref output) => {
1201+ assert_eq ! (
1202+ output. transactions. len( ) ,
1203+ 1 ,
1204+ "Expected 1 transaction for setup contract {}, got {}" ,
1205+ contract. name,
1206+ output. transactions. len( )
1207+ ) ;
1208+ let tx_output = & output. transactions . first ( ) . unwrap ( ) ;
1209+ assert_eq ! (
1210+ tx_output. return_type,
1211+ ClarityValue :: Response ( ResponseData {
1212+ committed: true ,
1213+ data: Box :: new( ClarityValue :: Bool ( true ) ) ,
1214+ } ) ,
1215+ "Setup contract {} failed to deploy: got {:?}" ,
1216+ contract. name,
1217+ tx_output
1218+ ) ;
1219+ assert ! (
1220+ tx_output. vm_error. is_none( ) ,
1221+ "Expected no VM error for setup contract {}, got {:?}" ,
1222+ contract. name,
1223+ tx_output. vm_error
1224+ ) ;
1225+ }
1226+ ExpectedResult :: Failure ( error) => {
1227+ panic ! (
1228+ "Setup contract {} deployment failed: {error:?}" ,
1229+ contract. name
1230+ ) ;
1231+ }
1232+ }
12041233 } ) ;
12051234 }
12061235
0 commit comments