Running ‘spelling.R’ [0s/1s]
  Running ‘testthat.R’ [21s/34s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(plumber)
  > 
  > test_check("plumber")
  
   *** caught segfault ***
  address 0x6, cause 'memory not mapped'
  
  Traceback:
   1: parse_string(txt, bigint_as_char)
   2: parseJSON(txt, bigint_as_char)
   3: parse_and_simplify(json, simplifyVector = simplifyVector, ...)
   4: parse_json(txt, simplifyVector = simplifyVector, ...)
   5: safeFromJSON(.)
   6: encodedValue %>% base64enc::base64decode() %>% rawToChar() %>%     safeFromJSON()
   7: decodeCookie(encryptedParsed$cookieVal, keyB)
   8: eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
   9: withCallingHandlers({    code    NULL}, error = function(cnd) {    if (can_entrace(cnd)) {        cnd <- cnd_entrace(cnd)    }    return_from(env, cnd)})
  10: .capture(act$val <- eval_bare(quo_get_expr(.quo), quo_get_env(.quo)),     ...)
  11: quasi_capture(enquo(object), label, capture_error, entrace = TRUE)
  12: expect_error({    encrypted <- encodeCookie(x, keyA)    encryptedStr <- cookieToStr("cookieVal", encrypted)    encryptedParsed <- parseCookies(encryptedStr)    maybeX <- decodeCookie(encryptedParsed$cookieVal, keyB)}, err)
  13: eval(code, test_env)
  14: eval(code, test_env)
  15: 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)
  16: doTryCatch(return(expr), name, parentenv, handler)
  17: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  18: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
  19: doTryCatch(return(expr), name, parentenv, handler)
  20: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]),     names[nh], parentenv, handlers[[nh]])
  21: tryCatchList(expr, classes, parentenv, handlers)
  22: 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) {    })
  23: test_code(desc, code, env = parent.frame(), reporter = reporter)
  24: test_that("cookie encyption fails smoothly", {    skip_if_no_cookie_support()    x <- list(x = 4, y = 5)    garbage <- x %>% serialize(NULL) %>% sodium::hash() %>% base64enc::base64encode()    expect_error({        decodeCookie(garbage, NULL)    })    expect_error({        decodeCookie(garbage, asCookieKey(random_cookie_key()))    }, "Could not separate")    infoList <- list(list(a = asCookieKey(random_cookie_key()),         b = asCookieKey(random_cookie_key()), error = "Failed to decrypt"),         list(a = NULL, b = asCookieKey(random_cookie_key()),             error = "Could not separate"), list(a = asCookieKey(random_cookie_key()),             b = NULL))    for (info in infoList) {        keyA <- info$a        keyB <- info$b        err <- info$error        expect_error({            encrypted <- encodeCookie(x, keyA)            encryptedStr <- cookieToStr("cookieVal", encrypted)            encryptedParsed <- parseCookies(encryptedStr)            maybeX <- decodeCookie(encryptedParsed$cookieVal,                 keyB)        }, err)    }})
  25: eval(code, test_env)
  26: eval(code, test_env)
  27: 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)
  28: doTryCatch(return(expr), name, parentenv, handler)
  29: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  30: tryCatchList(expr, names[-nh], parentenv, handlers[-nh])
  31: doTryCatch(return(expr), name, parentenv, handler)
  32: tryCatchOne(tryCatchList(expr, names[-nh], parentenv, handlers[-nh]),     names[nh], parentenv, handlers[[nh]])
  33: tryCatchList(expr, classes, parentenv, handlers)
  34: 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) {    })
  35: test_code(NULL, exprs, env)
  36: source_file(path, child_env(env), wrap = wrap)
  37: FUN(X[[i]], ...)
  38: lapply(test_paths, test_one_file, env = env, wrap = wrap)
  39: force(code)
  40: doWithOneRestart(return(expr), restart)
  41: withOneRestart(expr, restarts[[1L]])
  42: withRestarts(testthat_abort_reporter = function() NULL, force(code))
  43: with_reporter(reporters$multi, lapply(test_paths, test_one_file,     env = env, wrap = wrap))
  44: test_files(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)
  45: 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)
  46: test_dir("testthat", package = package, reporter = reporter,     ..., load_package = "installed")
  47: test_check("plumber")
  An irrecoverable exception occurred. R is aborting now ...
  Segmentation fault