source("incl/start.R") options(future.debug = FALSE) message("*** withRestart() and muffling ...") ## https://github.com/HenrikBengtsson/future/issues/485 fcn <- function(...) { withRestarts({ cond <- simpleCondition("boom") class(cond) <- c("not_me", class(cond)) signalCondition(cond) "success" }, muffleSomething = function() { message("Condition muffled") "weird" }) } message(" - conditions = NULL") ## Disabling relaying conditions works f <- future(fcn(), conditions = NULL) v <- value(f) message("RESULT: ", v) stopifnot(v == "success") message(" - split = TRUE") ## Splitting output works f <- future(fcn(), split = TRUE) v <- value(f) message("RESULT: ", v) stopifnot(v == "success") message(" - muffleInclude = '^$'") f <- future(fcn(), conditions = structure("condition", muffleInclude = "^$")) v <- value(f) message("RESULT: ", v) stopifnot(v == "success") message(" - FIXME") ## FIXME: Ignoring specific condition class 'not_me' does not work f <- future(fcn(), conditions = structure("condition", exclude = "not_me")) v <- value(f) message("RESULT: ", v) if (isTRUE(as.logical(Sys.getenv("R_CHECK_IDEAL")))) { stopifnot(v == "success") } message("*** withRestart() and muffling ... DONE") source("incl/end.R")