From f36b9d062318d39ab879d19b6bad8a4f62c1a9bf Mon Sep 17 00:00:00 2001 From: Simon Warta Date: Thu, 20 Apr 2023 15:30:02 +0200 Subject: [PATCH] REMOVE ME Show example usage --- packages/vm/src/instance.rs | 19 +++++++++++++++++++ packages/vm/src/testing/instance.rs | 1 + 2 files changed, 20 insertions(+) diff --git a/packages/vm/src/instance.rs b/packages/vm/src/instance.rs index e85cfe0a20..59a52262c9 100644 --- a/packages/vm/src/instance.rs +++ b/packages/vm/src/instance.rs @@ -403,6 +403,7 @@ where mod tests { use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::Arc; + use std::time::SystemTime; use super::*; use crate::backend::Storage; @@ -716,9 +717,27 @@ mod tests { assert_eq!(report1.limit, LIMIT); assert_eq!(report1.remaining, LIMIT); + // Test this with + // (cd packages/vm && cargo test create_gas_report_works -- --nocapture) + let start = SystemTime::now(); + instance.set_debug_handler(move |msg: &str, gas_remaining| { + let ts = SystemTime::now().duration_since(start).unwrap().as_micros(); + println!("{msg} (gas: {gas_remaining}, runtime: {ts}µs)"); + }); + // init contract let info = mock_info("creator", &coins(1000, "earth")); let msg = br#"{"verifier": "verifies", "beneficiary": "benefits"}"#; + call_instantiate::<_, _, _, Empty>(&mut instance, &mock_env(), &info, msg) + .unwrap() + .unwrap(); + call_instantiate::<_, _, _, Empty>(&mut instance, &mock_env(), &info, msg) + .unwrap() + .unwrap(); + call_instantiate::<_, _, _, Empty>(&mut instance, &mock_env(), &info, msg) + .unwrap() + .unwrap(); + instance.unset_debug_handler(); call_instantiate::<_, _, _, Empty>(&mut instance, &mock_env(), &info, msg) .unwrap() .unwrap(); diff --git a/packages/vm/src/testing/instance.rs b/packages/vm/src/testing/instance.rs index 14b85cf7c9..62c6f4041c 100644 --- a/packages/vm/src/testing/instance.rs +++ b/packages/vm/src/testing/instance.rs @@ -72,6 +72,7 @@ pub fn mock_instance_with_gas_limit( wasm, MockInstanceOptions { gas_limit, + print_debug: true, ..Default::default() }, )