Skip to content

Commit

Permalink
Merge branch 'main' into propagation-march-2024
Browse files Browse the repository at this point in the history
Signed-off-by: cicdguy <[email protected]>
  • Loading branch information
cicdguy authored Apr 29, 2024
2 parents 85cc66e + 570fae4 commit 35f4da0
Show file tree
Hide file tree
Showing 15 changed files with 1,043 additions and 181 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ jobs:
with:
additional-env-vars: |
_R_CHECK_CRAN_INCOMING_REMOTE_=false
TESTING_DEPTH=5
additional-r-cmd-check-params: --as-cran
enforce-note-blocklist: true
note-blocklist: |
Expand All @@ -48,6 +49,7 @@ jobs:
with:
additional-env-vars: |
NOT_CRAN=true
TESTING_DEPTH=5
enforce-note-blocklist: true
publish-unit-test-report-gh-pages: false
junit-xml-comparison: false
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ default_language_version:
python: python3
repos:
- repo: https://github.com/lorenzwalthert/precommit
rev: v0.4.0
rev: v0.4.2
hooks:
- id: style-files
name: Style code with `styler`
Expand Down
5 changes: 3 additions & 2 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Package: teal.widgets
Title: 'shiny' Widgets for 'teal' Applications
Version: 0.4.2.9009
Date: 2024-03-18
Version: 0.4.2.9010
Date: 2024-04-26
Authors@R: c(
person("Dawid", "Kaledkowski", , "[email protected]", role = c("aut", "cre")),
person("Pawel", "Rucki", , "[email protected]", role = "aut"),
Expand Down Expand Up @@ -41,6 +41,7 @@ Suggests:
lattice (>= 0.18-4),
magrittr (>= 1.5),
png,
rvest,
shinytest2 (>= 0.2.0),
shinyvalidate,
testthat (>= 3.1.5),
Expand Down
2 changes: 1 addition & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# teal.widgets 0.4.2.9009
# teal.widgets 0.4.2.9010

# teal.widgets 0.4.2

Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

This file was deleted.

51 changes: 51 additions & 0 deletions tests/testthat/helpers-testing-depth.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#' Returns testing depth set by session option or by environmental variable.
#'
#' @details Looks for the session option `TESTING_DEPTH` first.
#' If not set, takes the system environmental variable `TESTING_DEPTH`.
#' If neither is set, then returns 3 by default.
#' If the value of `TESTING_DEPTH` is not a numeric of length 1, then returns 3.
#'
#' @return `numeric(1)` the testing depth.
#'
get_testing_depth <- function() {
default_depth <- 3
depth <- getOption("TESTING_DEPTH", Sys.getenv("TESTING_DEPTH", default_depth))
depth <- tryCatch(
as.numeric(depth),
error = function(error) default_depth,
warning = function(warning) default_depth
)
if (length(depth) != 1) depth <- default_depth
depth
}

#' Skipping tests in the testthat pipeline under specific scope
#' @description This function should be used per each `testthat::test_that` call.
#' Each of the call should specify an appropriate depth value.
#' The depth value will set the appropriate scope so more/less time consuming tests could be recognized.
#' The environment variable `TESTING_DEPTH` is used for changing the scope of `testthat` pipeline.
#' `TESTING_DEPTH` interpretation for each possible value:
#' \itemize{
#' \item{0}{no tests at all}
#' \item{1}{fast - small scope - executed on every commit}
#' \item{3}{medium - medium scope - daily integration pipeline}
#' \item{5}{slow - all tests - daily package tests}
#' }
#' @param depth `numeric` the depth of the testing evaluation,
#' has opposite interpretation to environment variable `TESTING_DEPTH`.
#' So e.g. `0` means run it always and `5` means a heavy test which should be run rarely.
#' If the `depth` argument is larger than `TESTING_DEPTH` then the test is skipped.
#' @importFrom testthat skip
#' @return `NULL` or invoke an error produced by `testthat::skip`
#' @note By default `TESTING_DEPTH` is equal to 3 if there is no environment variable for it.
#' By default `depth` argument lower or equal to 3 will not be skipped because by default `TESTING_DEPTH`
#' is equal to 3. To skip <= 3 depth tests then the environment variable has to be lower than 3 respectively.
skip_if_too_deep <- function(depth) { # nolintr
checkmate::assert_numeric(depth, len = 1, lower = 0, upper = 5)
testing_depth <- get_testing_depth() # by default 3 if there are no env variable
if (testing_depth < depth) {
testthat::skip(paste("testing depth", testing_depth, "is below current testing specification", depth))
}
}

default_idle_timeout <- 20000
30 changes: 30 additions & 0 deletions tests/testthat/helpers-utils.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#' Function to check if a function has a side effect of drawing something
#' @param `function` function which possibly draws something.
#' @return `logical(1)` whether the function has a side effect of drawing a plot.
#' @note reference to https://stackoverflow.com/questions/74615694/check-if-a-function-draw-plot-something
#' @keywords internal
is_draw <- function(plot_fun) {
checkmate::assert_function(plot_fun)
grDevices::graphics.off() # close any current graphics devices
cdev <- grDevices::dev.cur()
plot_fun()
if (cdev != grDevices::dev.cur()) {
on.exit(grDevices::dev.off())
return(TRUE)
}
return(FALSE)
}


is_visible <- function(element, app_driver) {
any(
unlist(
app_driver$get_js(
sprintf(
"Array.from(document.querySelectorAll('%s')).map(el => el.checkVisibility())",
element
)
)
)
)
}
97 changes: 0 additions & 97 deletions tests/testthat/helpers-with-settings.R

This file was deleted.

Loading

0 comments on commit 35f4da0

Please sign in to comment.