Running ‘testthat.R’ [34s/123s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(parsnip)
  > 
  > test_check("parsnip")
  
   *** caught segfault ***
  address (nil), cause 'unknown'
  
  Traceback:
   1: normalise_parents(parents)
   2: trace_back(top = top, bottom = bottom)
   3: cnd_entrace(e)
   4: h(simpleError(msg, call))
   5: .handleSimpleError(function (e) {    handled <<- TRUE    test_error <<- e    options(expressions = expressions_opt_new)    on.exit(options(expressions = expressions_opt), add = TRUE)    if (can_entrace(e)) {        e <- cnd_entrace(e)    }    test_error <<- e    register_expectation(e, 2)    e[["handled"]] <- TRUE    test_error <<- e}, "Invalid mset", base::quote(parse(text = elt)))
   6: parse(text = elt)
   7: as.list(parse(text = elt))
   8: FUN(X[[i]], ...)
   9: lapply(.x, .f, ...)
  10: map(x, function(elt) as.list(parse(text = elt)))
  11: chr_parse_exprs(x)
  12: parse_exprs(x)
  13: parse_expr(what)
  14: parse_what(spec, ctxt = ctxt)
  15: spec(what, env = env)
  16: signal_stage("deprecated", what)
  17: lifecycle::deprecate_soft("0.5.0", "vec_equal_na()", "vec_detect_missing()")
  18: vec_equal_na(matches)
  19: vec_assign(y_loc, vec_equal_na(matches), list(NA_integer_))
  20: join_rows(x_key, y_key, type = type, na_equal = na_equal, error_call = error_call)
  21: join_mutate(x, y, by = by, type = "full", suffix = suffix, na_matches = na_matches,     keep = keep)
  22: full_join.data.frame(read_model_info_table(), rlang::env_get(get_model_env(),     cls) %>% dplyr::mutate(model = cls), by = c("model", "engine",     "mode"))
  23: dplyr::full_join(read_model_info_table(), rlang::env_get(get_model_env(),     cls) %>% dplyr::mutate(model = cls), by = c("model", "engine",     "mode"))
  24: spec_is_possible(spec = out)
  25: new_model_spec("boost_tree", args, eng_args = NULL, mode = mode,     user_specified_mode = !missing(mode), method = NULL, engine = engine,     user_specified_engine = !missing(engine))
  26: boost_tree(trees = 20, mode = "regression")
  27: set_engine(., "xgboost", validation = 3)
  28: fit(., mpg ~ ., data = mtcars[-(1:4), ])
  29: boost_tree(trees = 20, mode = "regression") %>% set_engine("xgboost",     validation = 3) %>% fit(mpg ~ ., data = mtcars[-(1:4), ])
  30: eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
  31: withCallingHandlers(expr, condition = function(cnd) {    if (!is.null(matched) || !matches(cnd)) {        return()    }    if (can_entrace(cnd)) {        cnd <- cnd_entrace(cnd)    }    matched <<- cnd    if (inherits(cnd, "message") || inherits(cnd, "warning")) {        cnd_muffle(cnd)    }    else if (inherits(cnd, "error") || inherits(cnd, "skip")) {        return_from(tl, cnd)    }})
  32: .capture(act$val <- eval_bare(quo_get_expr(.quo), quo_get_env(.quo)),     ...)
  33: quasi_capture(enquo(object), label, capture_matching_condition,     matches = matcher)
  34: expect_condition_matching("error", {    {        object    }}, regexp = regexp, class = class, ..., inherit = inherit, info = info,     label = label)
  35: expect_error(reg_fit <- boost_tree(trees = 20, mode = "regression") %>%     set_engine("xgboost", validation = 3) %>% fit(mpg ~ ., data = mtcars[-(1:4),     ]), regex = "`validation` should be on")
  36: eval(code, test_env)
  37: eval(code, test_env)
  38: withCallingHandlers({    eval(code, test_env)    if (!handled && !is.null(test)) {        skip_empty()    }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,     message = handle_message, error = handle_error)
  39: doTryCatch(return(expr), name, parentenv, handler)
  40: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  41: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
  42: doTryCatch(return(expr), name, parentenv, handler)
  43: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]),     names[nh], parentenv, handlers[[nh]])
  44: tryCatchList(expr, classes, parentenv, handlers)
  45: tryCatch(withCallingHandlers({    eval(code, test_env)    if (!handled && !is.null(test)) {        skip_empty()    }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,     message = handle_message, error = handle_error), error = handle_fatal,     skip = function(e) {    })
  46: test_code(desc, code, env = parent.frame(), reporter = reporter)
  47: test_that("validation sets", {    skip_if_not_installed("xgboost")    ctrl$verbosity <- 0L    expect_error(reg_fit <- boost_tree(trees = 20, mode = "regression") %>%         set_engine("xgboost", validation = 0.1) %>% fit(mpg ~         ., data = mtcars[-(1:4), ]), regex = NA)    expect_equal(colnames(extract_fit_engine(reg_fit)$evaluation_log)[2],         "validation_rmse")    expect_error(reg_fit <- boost_tree(trees = 20, mode = "regression") %>%         set_engine("xgboost", validation = 0.1, eval_metric = "mae") %>%         fit(mpg ~ ., data = mtcars[-(1:4), ]), regex = NA)    expect_equal(colnames(extract_fit_engine(reg_fit)$evaluation_log)[2],         "validation_mae")    expect_error(reg_fit <- boost_tree(trees = 20, mode = "regression") %>%         set_engine("xgboost", eval_metric = "mae") %>% fit(mpg ~         ., data = mtcars[-(1:4), ]), regex = NA)    expect_equal(colnames(extract_fit_engine(reg_fit)$evaluation_log)[2],         "training_mae")    expect_error(reg_fit <- boost_tree(trees = 20, mode = "regression") %>%         set_engine("xgboost", validation = 3) %>% fit(mpg ~ .,         data = mtcars[-(1:4), ]), regex = "`validation` should be on")})
  48: eval(code, test_env)
  49: eval(code, test_env)
  50: withCallingHandlers({    eval(code, test_env)    if (!handled && !is.null(test)) {        skip_empty()    }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,     message = handle_message, error = handle_error)
  51: doTryCatch(return(expr), name, parentenv, handler)
  52: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  53: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
  54: doTryCatch(return(expr), name, parentenv, handler)
  55: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]),     names[nh], parentenv, handlers[[nh]])
  56: tryCatchList(expr, classes, parentenv, handlers)
  57: tryCatch(withCallingHandlers({    eval(code, test_env)    if (!handled && !is.null(test)) {        skip_empty()    }}, expectation = handle_expectation, skip = handle_skip, warning = handle_warning,     message = handle_message, error = handle_error), error = handle_fatal,     skip = function(e) {    })
  58: test_code(NULL, exprs, env)
  59: source_file(path, child_env(env), wrap = wrap)
  60: FUN(X[[i]], ...)
  61: lapply(test_paths, test_one_file, env = env, wrap = wrap)
  62: doTryCatch(return(expr), name, parentenv, handler)
  63: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  64: tryCatchList(expr, classes, parentenv, handlers)
  65: tryCatch(code, testthat_abort_reporter = function(cnd) {    cat(conditionMessage(cnd), "\n")    NULL})
  66: with_reporter(reporters$multi, lapply(test_paths, test_one_file,     env = env, wrap = wrap))
  67: test_files_serial(test_dir = test_dir, test_package = test_package,     test_paths = test_paths, load_helpers = load_helpers, reporter = reporter,     env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning,     wrap = wrap, load_package = load_package)
  68: test_files(test_dir = path, test_paths = test_paths, test_package = package,     reporter = reporter, load_helpers = load_helpers, env = env,     stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning,     wrap = wrap, load_package = load_package, parallel = parallel)
  69: test_dir("testthat", package = package, reporter = reporter,     ..., load_package = "installed")
  70: test_check("parsnip")
  An irrecoverable exception occurred. R is aborting now ...