Skip to content

Commit

Permalink
disable lockfile generation in callr, testthat::tests and `R CMD …
Browse files Browse the repository at this point in the history
…CHECK` (#1346)

Part of #1263 and closes
#1276

Local results of `shinytest2` tests

```r
══ Results ══════════════════════════════════════════════════════════════════════════
Duration: 540.8 s

── Skipped tests (6) ────────────────────────────────────────────────────────────────
• need a fix in a .slicesGlobal (1): test-module_teal.R:1139:11
• todo (5): test-module_teal.R:1404:7, test-module_teal.R:1411:5,
  test-module_teal.R:1414:5, test-module_teal.R:1673:5, test-module_teal.R:1731:5

[ FAIL 0 | WARN 0 | SKIP 6 | PASS 515 ]
```
  • Loading branch information
m7pr authored Sep 19, 2024
1 parent 82bb3fb commit 761dd68
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 8 deletions.
18 changes: 17 additions & 1 deletion R/module_teal_lockfile.R
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ srv_teal_lockfile <- function(id) {
})

lockfile_path <- "teal_app.lock"
is_lockfile_enabled <- isTRUE(getOption("teal.lockfile.enable"))
is_lockfile_enabled <- .is_lockfile_enabled()
user_lockfile_path <- getOption("teal.lockfile.path", default = "")
is_user_lockfile_set <- !identical(user_lockfile_path, "")

Expand Down Expand Up @@ -194,3 +194,19 @@ utils::globalVariables(c("opts", "sysenv", "libpaths", "wd", "lockfilepath", "ru
.is_lockfile_deps_installed <- function() {
requireNamespace("mirai", quietly = TRUE) && requireNamespace("renv", quietly = TRUE)
}

#' @rdname module_teal_lockfile
.is_lockfile_enabled <- function() {
if (isTRUE(getOption("teal.lockfile.enable"))) {
return(TRUE)
} else {
!(
identical(Sys.getenv("CALLR_IS_RUNNING"), "true") || # inside callr process
identical(Sys.getenv("TESTTHAT"), "true") || # inside devtools::test

Check warning on line 205 in R/module_teal_lockfile.R

View workflow job for this annotation

GitHub Actions / SuperLinter 🦸‍♀️ / Lint R code 🧶

file=R/module_teal_lockfile.R,line=205,col=6,[indentation_linter] Indentation should be 8 spaces but is 6 spaces.
!identical(Sys.getenv("QUARTO_PROJECT_ROOT"), "") || # inside Quarto process
(
("CheckExEnv" %in% search()) || any(c("_R_CHECK_TIMINGS_", "_R_CHECK_LICENSE_") %in% names(Sys.getenv()))
) # inside R CMD CHECK
)
}
}
2 changes: 1 addition & 1 deletion R/zzz.R
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.onLoad <- function(libname, pkgname) {
# adapted from https://github.com/r-lib/devtools/blob/master/R/zzz.R

teal_default_options <- list(
teal.show_js_log = FALSE,
teal.lockfile.enable = TRUE,
shiny.sanitize.errors = FALSE
)

Expand Down
6 changes: 0 additions & 6 deletions tests/testthat/setup-options.R
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
withr::local_options(
# we should't run lockfile process multiple times in tests as it starts background process which is not
# possible to kill once run. It means that background R sessions are being cumulated
list(teal.lockfile.enable = FALSE),
.local_envir = testthat::teardown_env()
)

# `opts_partial_match_old` is left for exclusions due to partial matching in dependent packages (i.e. not fixable here)
# it might happen that it is not used right now, but it is left for possible future use
Expand Down

0 comments on commit 761dd68

Please sign in to comment.