aboutsummaryrefslogtreecommitdiff
path: root/zkvms_guest_io/src/main.rs
diff options
context:
space:
mode:
authorKamen Mladenov <kamen@syndamia.com>2025-04-30 15:52:08 +0300
committerKamen Mladenov <kamen@syndamia.com>2025-05-02 15:32:54 +0300
commit400c41f4f408aee6002489633914cd74ca888ff4 (patch)
tree89f86292ce863494e0460d68ea7f1b30aa73c7e6 /zkvms_guest_io/src/main.rs
parentef3bec98c7ad44672dc5e6816acb2143130ebf72 (diff)
downloadzkVMs-benchmarks-400c41f4f408aee6002489633914cd74ca888ff4.tar
zkVMs-benchmarks-400c41f4f408aee6002489633914cd74ca888ff4.tar.gz
zkVMs-benchmarks-400c41f4f408aee6002489633914cd74ca888ff4.zip
feat(zkvms_guest_io): Output command error when it exits unsuccessfully
Diffstat (limited to 'zkvms_guest_io/src/main.rs')
-rw-r--r--zkvms_guest_io/src/main.rs12
1 files changed, 9 insertions, 3 deletions
diff --git a/zkvms_guest_io/src/main.rs b/zkvms_guest_io/src/main.rs
index fdd0362..0e0cd37 100644
--- a/zkvms_guest_io/src/main.rs
+++ b/zkvms_guest_io/src/main.rs
@@ -32,12 +32,15 @@ struct Cli {
append: bool,
}
+static COMMAND_LOG_PATH: &str = "/tmp/output.log";
+static METRICS_TEMP_OUTPUT_PATH: &str = "/tmp/current_metrics";
+
fn run_command(zkvm_guest_command: &str, operation: &str) -> Result<std::process::Output, Error> {
Command::new("runexec")
- .args(["--no-container", "--"])
+ .args(["--no-container", "--output", COMMAND_LOG_PATH, "--"])
.args([zkvm_guest_command, operation])
.arg("--benchmark")
- .args([ "--metrics-output", "/tmp/current_metrics" ])
+ .args([ "--metrics-output", METRICS_TEMP_OUTPUT_PATH ])
.stdout(Stdio::piped())
.output()
}
@@ -182,10 +185,13 @@ fn main() {
// The guest program ran but exited with non-zero status code
if get_runexec_value(&stdout, "returnvalue", '\n') != "0" {
run[operation] = Null;
+ if let Some(log) = read_to_string(COMMAND_LOG_PATH).ok() {
+ println!("{log}");
+ }
continue;
}
- let raw_data = &read_to_string("/tmp/current_metrics")
+ let raw_data = &read_to_string(METRICS_TEMP_OUTPUT_PATH)
.ok()
.unwrap();
run[operation] = json::parse(raw_data).unwrap();