|
| 1 | +## Record original state |
| 2 | +ovars <- ls() |
| 3 | +oenvs <- oenvs0 <- Sys.getenv() |
| 4 | +oopts0 <- options() |
| 5 | + |
| 6 | +## Default options for tests |
| 7 | +oopts <- options() |
| 8 | + |
| 9 | +## Private |
| 10 | +mdebug <- progressr:::mdebug |
| 11 | +mprint <- progressr:::mprint |
| 12 | +mprintf <- progressr:::mprintf |
| 13 | +mstr <- progressr:::mstr |
| 14 | +stop_if_not <- progressr:::stop_if_not |
| 15 | +known_progression_handlers <- progressr:::known_progression_handlers |
| 16 | + |
| 17 | +non_supported_progression_handlers <- function() { |
| 18 | + names <- character(0L) |
| 19 | + for (pkg in c("beepr", "notifier", "pbmcapply", "progress", "shiny")) { |
| 20 | + if (!requireNamespace(pkg, quietly = TRUE)) |
| 21 | + names <- c(names, pkg) |
| 22 | + } |
| 23 | + if (!"tcltk" %in% capabilities()) { |
| 24 | + names <- c(names, "tkprogressbar") |
| 25 | + } |
| 26 | + if (.Platform$OS.type != "windows") { |
| 27 | + names <- c(names, "winprogressbar") |
| 28 | + } |
| 29 | + paste0(names, "_handler") |
| 30 | +} |
| 31 | + |
| 32 | + |
| 33 | +## Settings |
| 34 | +options(progressr.clear = TRUE) |
| 35 | +options(progressr.debug = FALSE) |
| 36 | +options(progressr.delay = 0.0) |
| 37 | +options(progressr.enable = TRUE) |
| 38 | +options(progressr.enable_after = 0.0) |
| 39 | +options(progressr.interval = 0.1) |
| 40 | +options(progressr.times = +Inf) |
| 41 | + |
| 42 | + |
| 43 | +options(progressr.tests.fake_handlers = c(non_supported_progression_handlers(), "beepr_handler", "notifier_handler", "progress_handler")) |
| 44 | + |
| 45 | + |
| 46 | +## WORKAROUND: Make sure tests also work with 'covr' package |
| 47 | +covr <- ("covr" %in% loadedNamespaces()) |
| 48 | +if (covr) { |
| 49 | + globalenv <- function() parent.frame() |
| 50 | + baseenv <- function() environment(base::sample) |
| 51 | +} |
| 52 | + |
0 commit comments