diff options
| author | Kamen Mladenov <kamen@syndamia.com> | 2025-04-30 15:52:08 +0300 |
|---|---|---|
| committer | Kamen Mladenov <kamen@syndamia.com> | 2025-05-02 15:32:54 +0300 |
| commit | 400c41f4f408aee6002489633914cd74ca888ff4 (patch) | |
| tree | 89f86292ce863494e0460d68ea7f1b30aa73c7e6 /zkvms_guest_io/src | |
| parent | ef3bec98c7ad44672dc5e6816acb2143130ebf72 (diff) | |
| download | zkVMs-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')
| -rw-r--r-- | zkvms_guest_io/src/main.rs | 12 |
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(); |
