diff options
Diffstat (limited to 'src/lib/list.rs')
| -rw-r--r-- | src/lib/list.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/lib/list.rs b/src/lib/list.rs index c0837b7..d8b038e 100644 --- a/src/lib/list.rs +++ b/src/lib/list.rs | |||
| @@ -168,15 +168,21 @@ pub async fn list_from_remotes( | |||
| 168 | } | 168 | } |
| 169 | 169 | ||
| 170 | let verbose = is_verbose(); | 170 | let verbose = is_verbose(); |
| 171 | let is_test = std::env::var("NGITTEST").is_ok(); | ||
| 171 | let spinner_state = if !verbose { | 172 | let spinner_state = if !verbose { |
| 172 | Some(Arc::new(Mutex::new(GitSpinnerState::new()))) | 173 | Some(Arc::new(Mutex::new(GitSpinnerState::new()))) |
| 173 | } else { | 174 | } else { |
| 174 | None | 175 | None |
| 175 | }; | 176 | }; |
| 176 | let progress_reporter = if !verbose { | 177 | // Under test conditions the draw target must be hidden even though |
| 177 | MultiProgress::with_draw_target(indicatif::ProgressDrawTarget::hidden()) | 178 | // verbose is true (NGITTEST sets NGIT_VERBOSE). A visible |
| 178 | } else { | 179 | // MultiProgress writes ANSI cursor-movement sequences to stderr and |
| 180 | // the subsequent `progress_reporter.clear()` erases lines of real | ||
| 181 | // git-remote-helper output that tests rely on. | ||
| 182 | let progress_reporter = if verbose && !is_test { | ||
| 179 | MultiProgress::new() | 183 | MultiProgress::new() |
| 184 | } else { | ||
| 185 | MultiProgress::with_draw_target(indicatif::ProgressDrawTarget::hidden()) | ||
| 180 | }; | 186 | }; |
| 181 | 187 | ||
| 182 | let success_count = Arc::new(AtomicU64::new(0)); | 188 | let success_count = Arc::new(AtomicU64::new(0)); |