Resolves the runner modes from CLI argument, shell session, or returns an error. Priority: 1. CLI argument (--mode or -m) 2. Shell session mode (set via `codspeed use `) 3. Error if neither is available
(&self)
| 128 | /// 2. Shell session mode (set via `codspeed use <mode>`) |
| 129 | /// 3. Error if neither is available |
| 130 | pub fn resolve_modes(&self) -> Result<Vec<RunnerMode>> { |
| 131 | if !self.mode.is_empty() { |
| 132 | return Ok(self.mode.clone()); |
| 133 | } |
| 134 | |
| 135 | let modes = load_shell_session_mode()?; |
| 136 | |
| 137 | if modes.is_empty() { |
| 138 | return Err(anyhow!( |
| 139 | "No runner mode specified. Use --mode <mode> or set the mode for this shell session with `codspeed use <mode>`." |
| 140 | )); |
| 141 | } |
| 142 | |
| 143 | Ok(modes) |
| 144 | } |
| 145 | } |
| 146 | |
| 147 | #[derive(Debug, Copy, Clone, PartialEq, ValueEnum, Default)] |
no test coverage detected