diff --git a/crates/forge-runner/src/coverage_api.rs b/crates/forge-runner/src/coverage_api.rs index 8c41dbd02..6c11e39fc 100644 --- a/crates/forge-runner/src/coverage_api.rs +++ b/crates/forge-runner/src/coverage_api.rs @@ -35,10 +35,6 @@ pub fn run_coverage(saved_trace_data_paths: &[PathBuf], coverage_args: &[OsStrin } ); - let dir_to_save_coverage = PathBuf::from(COVERAGE_DIR); - fs::create_dir_all(&dir_to_save_coverage).context("Failed to create a coverage dir")?; - let path_to_save_coverage = dir_to_save_coverage.join(OUTPUT_FILE_NAME); - let trace_files: Vec<&str> = saved_trace_data_paths .iter() .map(|trace_data_path| { @@ -51,6 +47,10 @@ pub fn run_coverage(saved_trace_data_paths: &[PathBuf], coverage_args: &[OsStrin let mut command = Command::new(coverage); if coverage_args.iter().all(|arg| arg != "--output-path") { + let dir_to_save_coverage = PathBuf::from(COVERAGE_DIR); + fs::create_dir_all(&dir_to_save_coverage).context("Failed to create a coverage dir")?; + let path_to_save_coverage = dir_to_save_coverage.join(OUTPUT_FILE_NAME); + command.arg("--output-path").arg(&path_to_save_coverage); } diff --git a/crates/forge-runner/src/profiler_api.rs b/crates/forge-runner/src/profiler_api.rs index 52ed14893..46fd45055 100644 --- a/crates/forge-runner/src/profiler_api.rs +++ b/crates/forge-runner/src/profiler_api.rs @@ -15,13 +15,14 @@ pub fn run_profiler( .map(PathBuf::from) .ok() .unwrap_or_else(|| PathBuf::from("cairo-profiler")); - let dir_to_save_profile = PathBuf::from(PROFILE_DIR); - fs::create_dir_all(&dir_to_save_profile).context("Failed to create a profile dir")?; - let path_to_save_profile = dir_to_save_profile.join(format!("{test_name}.pb.gz")); let mut command = Command::new(profiler); if profiler_args.iter().all(|arg| arg != "--output-path") { + let dir_to_save_profile = PathBuf::from(PROFILE_DIR); + fs::create_dir_all(&dir_to_save_profile).context("Failed to create a profile dir")?; + let path_to_save_profile = dir_to_save_profile.join(format!("{test_name}.pb.gz")); + command.arg("--output-path").arg(&path_to_save_profile); } diff --git a/crates/forge/tests/e2e/build_profile.rs b/crates/forge/tests/e2e/build_profile.rs index 97ce3effd..32a5fdde9 100644 --- a/crates/forge/tests/e2e/build_profile.rs +++ b/crates/forge/tests/e2e/build_profile.rs @@ -29,7 +29,7 @@ fn simple_package_build_profile() { } #[test] -fn simple_package_build_profile_pass_flags() { +fn simple_package_build_profile_and_pass_args() { let temp = setup_package("simple_package"); test_runner(&temp) diff --git a/crates/forge/tests/e2e/coverage.rs b/crates/forge/tests/e2e/coverage.rs index f22229580..db157754c 100644 --- a/crates/forge/tests/e2e/coverage.rs +++ b/crates/forge/tests/e2e/coverage.rs @@ -21,17 +21,17 @@ fn test_coverage_project() { #[test] #[cfg_attr(not(feature = "scarb_2_8_3"), ignore)] -fn test_coverage_project_with_pass_flags() { +fn test_coverage_project_and_pass_args() { let temp = setup_package("coverage_project"); test_runner(&temp) .arg("--coverage") .arg("--output-path") - .arg(".") + .arg("./my_file.lcov") .assert() .success(); - assert!(temp.join(OUTPUT_FILE_NAME).is_file()); + assert!(temp.join("my_file.lcov").is_file()); } #[test]