| @@ -0,0 +1,27 @@ | |||||
| clear_warnings <- function() last.warning <<- list() | |||||
| careless <- function(f) { | |||||
| function(...) { | |||||
| suppressWarnings(f(...)) | |||||
| } | |||||
| } | |||||
| fail_with <- function(expr, value) tryCatch(expr, error = function(cond) value) | |||||
| does_error <- function(expr) { | |||||
| didFail <- F | |||||
| tryCatch(expr, error = function(cond) didFail <<- T) | |||||
| didFail | |||||
| } | |||||
| count_warnings <- function(expr) { | |||||
| N <- 0 | |||||
| withCallingHandlers(expr, warning = function(cond) N <<- N + 1) | |||||
| N | |||||
| } | |||||
| record <- function(expr) { | |||||
| msgs <- c() | |||||
| rec <- function(cond) { msgs <<- c(msgs, cond$message); rlang::cnd_muffle(cond)} | |||||
| withCallingHandlers(expr, warning = rec, message = rec) | |||||
| msgs | |||||
| } | |||||