@@ -231,6 +231,9 @@ ProgressReporter <- R6::R6Class(
231231 snapshotter $ end_file()
232232 }
233233
234+ # Separate from the progress bar
235+ self $ cat_line()
236+ self $ cat_line()
234237 stop_reporter(c(
235238 " Maximum number of failures exceeded; quitting at end of file." ,
236239 i = " Increase this number with (e.g.) {.run testthat::set_max_fails(Inf)}"
@@ -462,22 +465,31 @@ ParallelProgressReporter <- R6::R6Class(
462465 },
463466
464467 end_file = function () {
465- fsts <- self $ files [[self $ file_name ]]
466- time <- proc.time() - fsts $ start_time
468+ if (! self $ is_full()) {
469+ fsts <- self $ files [[self $ file_name ]]
470+ time <- proc.time() - fsts $ start_time
467471
468- # Workaround for https://github.com/rstudio/rstudio/issues/7649
469- if (self $ is_rstudio ) {
470- self $ cat_tight(strpad(self $ cr(), self $ width + 1 )) # +1 for \r
471- }
472- self $ show_status(complete = TRUE , time = time [[3 ]], pad = TRUE )
473- self $ report_issues(fsts $ issues )
472+ # Workaround for https://github.com/rstudio/rstudio/issues/7649
473+ if (self $ is_rstudio ) {
474+ self $ cat_tight(strpad(self $ cr(), self $ width + 1 )) # +1 for \r
475+ }
476+ self $ show_status(complete = TRUE , time = time [[3 ]], pad = TRUE )
477+ self $ report_issues(fsts $ issues )
474478
475- self $ files [[self $ file_name ]] <- NULL
476- if (length(self $ files )) {
477- self $ update(force = TRUE )
478- }
479+ self $ files [[self $ file_name ]] <- NULL
480+ if (length(self $ files )) {
481+ self $ update(force = TRUE )
482+ }
483+ } else {
484+ self $ cat_line()
485+
486+ issues <- unlist(
487+ map(self $ files , \(x ) x $ issues $ as_list()),
488+ recursive = FALSE
489+ )
490+ summary <- map_chr(issues , issue_summary )
491+ self $ cat_tight(paste(summary , collapse = " \n\n " ))
479492
480- if (self $ is_full()) {
481493 self $ report_full()
482494 }
483495 },
0 commit comments