Resolve the profile folder for a given run part. - Single run part + user-specified folder: use as-is - Multiple run parts + user-specified folder: ` / - ` - No user-specified folder: create a random temp folder
(
&self,
executor_name: &ExecutorName,
run_part_index: usize,
total_parts: usize,
)
| 180 | /// - Multiple run parts + user-specified folder: `<folder>/<executor>-<index>` |
| 181 | /// - No user-specified folder: create a random temp folder |
| 182 | fn resolve_profile_folder( |
| 183 | &self, |
| 184 | executor_name: &ExecutorName, |
| 185 | run_part_index: usize, |
| 186 | total_parts: usize, |
| 187 | ) -> Result<PathBuf> { |
| 188 | match (&self.config.profile_folder, total_parts) { |
| 189 | (Some(folder), 1) => Ok(folder.clone()), |
| 190 | (Some(folder), _) => { |
| 191 | let subfolder = folder.join(format!("{executor_name}-{run_part_index}")); |
| 192 | std::fs::create_dir_all(&subfolder).with_context(|| { |
| 193 | format!( |
| 194 | "Failed to create profile subfolder: {}", |
| 195 | subfolder.display() |
| 196 | ) |
| 197 | })?; |
| 198 | Ok(subfolder) |
| 199 | } |
| 200 | (None, _) => create_profile_folder(), |
| 201 | } |
| 202 | } |
| 203 | |
| 204 | /// Upload completed runs and poll results. |
| 205 | async fn upload_and_poll( |
no test coverage detected