diff --git a/crates/goose-bench/src/work_dir.rs b/crates/goose-bench/src/work_dir.rs index 98afcf815..08881070f 100644 --- a/crates/goose-bench/src/work_dir.rs +++ b/crates/goose-bench/src/work_dir.rs @@ -20,8 +20,6 @@ impl WorkDir { impl Drop for WorkDir { fn drop(&mut self) { - if let Some(parent_path) = self.path.parent() { - std::env::set_current_dir(parent_path).unwrap(); - }; + std::env::set_current_dir("..").unwrap(); } } \ No newline at end of file diff --git a/crates/goose-cli/src/commands/bench.rs b/crates/goose-cli/src/commands/bench.rs index d1a209905..44cf0e51c 100644 --- a/crates/goose-cli/src/commands/bench.rs +++ b/crates/goose-cli/src/commands/bench.rs @@ -14,12 +14,7 @@ impl BenchAgent for Session { Ok(self.message_history()) } } -fn cwd_todo_remove() { - match std::env::current_dir() { - Ok(path) => println!("Current directory is: {:?}", path), - Err(e) => eprintln!("Failed to get current directory: {}", e) - } -} + pub async fn run_benchmark(suites: Vec) { let suites = EvaluationSuiteFactory::available_evaluations() .into_iter() @@ -32,23 +27,18 @@ pub async fn run_benchmark(suites: Vec) { .expect("No provider configured. Run 'goose configure' first"); - let _ = cwd_todo_remove(); let current_time = Local::now().format("%H:%M:%S").to_string(); let current_date = Local::now().format("%Y-%m-%d").to_string(); - if let _ = WorkDir::work_from(format!("./benchmark-{}", &provider_name)) { - let _ = cwd_todo_remove(); + if let Ok(_) = WorkDir::work_from(format!("./benchmark-{}", &provider_name)) { for suite in suites { - if let _ = WorkDir::work_from(format!("./{}", &suite)) { - let _ = cwd_todo_remove(); + if let Ok(_) = WorkDir::work_from(format!("./{}", &suite)) { let evaluations = match EvaluationSuiteFactory::create(suite) { Some(evaluations) => evaluations, None => continue, }; - if let _ = WorkDir::work_from(format!("./{}-{}", ¤t_date, current_time)) { - let _ = cwd_todo_remove(); + if let Ok(_) = WorkDir::work_from(format!("./{}-{}", ¤t_date, current_time)) { for evaluation in evaluations { - if let _ = WorkDir::work_from(format!("./{}", &evaluation.name())) { - let _ = cwd_todo_remove(); + if let Ok(_) = WorkDir::work_from(format!("./{}", &evaluation.name())) { let session = build_session(None, false, Vec::new(), Vec::new()).await; let _ = match evaluation.run(Box::new(session)).await { Ok(report) => report,