Running ‘testthat.R’ [5s/7s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > 
  > test_check("geometry")
  Loading required package: geometry
  Loading required package: magic
  Loading required package: abind
  QH6114 qhull precision error: initial simplex is not convex. Distance=-1.6e-15
  QH6214 qhull input error: not enough points(4) to construct initial simplex(need 5)
  Read 5 items
  
   *** caught segfault ***
  address 0x556054b4c5f4, cause 'memory not mapped'
  
  Traceback:
   1: nrow(ret$tri)
   2: FUN(X[[i]], ...)
   3: lapply(X = S, FUN = FUN, ...)
   4: doTryCatch(return(expr), name, parentenv, handler)
   5: tryCatchOne(expr, names, parentenv, handlers[[1L]])
   6: tryCatchList(expr, classes, parentenv, handlers)
   7: tryCatch(expr, error = function(e) {    call <- conditionCall(e)    if (!is.null(call)) {        if (identical(call[[1L]], quote(doTryCatch)))             call <- sys.call(-4L)        dcall <- deparse(call)[1L]        prefix <- paste("Error in", dcall, ": ")        LONG <- 75L        sm <- strsplit(conditionMessage(e), "\n")[[1L]]        w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w")        if (is.na(w))             w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L],                 type = "b")        if (w > LONG)             prefix <- paste0(prefix, "\n  ")    }    else prefix <- "Error : "    msg <- paste0(prefix, conditionMessage(e), "\n")    .Internal(seterrmessage(msg[1L]))    if (!silent && isTRUE(getOption("show.error.messages"))) {        cat(msg, file = outFile)        .Internal(printDeferredWarnings())    }    invisible(structure(msg, class = "try-error", condition = e))})
   8: try(lapply(X = S, FUN = FUN, ...), silent = TRUE)
   9: sendMaster(try(lapply(X = S, FUN = FUN, ...), silent = TRUE))
  10: FUN(X[[i]], ...)
  11: lapply(seq_len(cores), inner.do)
  12: mclapply(list(P, P, P, P), delaunayn, mc.cores = mc.cores)
  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())
  24: test_that("delaunayn can be called with mc.apply", {    mc.cores <- ifelse(Sys.info()[1] == "Windows", 1, 2)    set.seed(1)    N <- 1e+05    P <- matrix(runif(2 * N), N, 2)    T <- delaunayn(P)    expect_that(nrow(T), equals(199966))    Ts <- mclapply(list(P, P, P, P), delaunayn, mc.cores = mc.cores)    expect_that(length(Ts), equals(4))    expect_that(nrow(Ts[[1]]), equals(199966))    expect_that(Ts[[1]], equals(T))})
  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, new.env(parent = env), chdir = TRUE, wrap = wrap)
  37: force(code)
  38: with_reporter(reporter = reporter, start_end_reporter = start_end_reporter,     {        lister$start_file(basename(path))        source_file(path, new.env(parent = env), chdir = TRUE,             wrap = wrap)        end_context()    })
  39: FUN(X[[i]], ...)
  40: lapply(paths, test_file, env = env, reporter = current_reporter,     start_end_reporter = FALSE, load_helpers = FALSE, wrap = wrap)
  41: force(code)
  42: with_reporter(reporter = current_reporter, results <- lapply(paths,     test_file, env = env, reporter = current_reporter, start_end_reporter = FALSE,     load_helpers = FALSE, wrap = wrap))
  43: test_files(paths, reporter = reporter, env = env, stop_on_failure = stop_on_failure,     stop_on_warning = stop_on_warning, wrap = wrap)
  44: test_dir(path = test_path, reporter = reporter, env = env, filter = filter,     ..., stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning,     wrap = wrap)
  45: test_package_dir(package = package, test_path = test_path, filter = filter,     reporter = reporter, ..., stop_on_failure = stop_on_failure,     stop_on_warning = stop_on_warning, wrap = wrap)
  46: test_check("geometry")
  An irrecoverable exception occurred. R is aborting now ...
  ── 1. Failure: delaunayn can be called with mc.apply (@test-parallel.R#20)  ────
  `x` not equal to `expected`.
  target is NULL, current is numeric
  
  ── 2. Failure: delaunayn can be called with mc.apply (@test-parallel.R#21)  ────
  `x` not equal to `expected`.
  Modes: character, numeric
  Lengths: 1, 599898
  Attributes: < Names: 1 string mismatch >
  Attributes: < Length mismatch: comparison on first 1 components >
  Attributes: < Component 1: Modes: character, numeric >
  Attributes: < Component 1: Lengths: 1, 2 >
  Attributes: < Component 1: target is character, current is numeric >
  target is try-error, current is matrix
  
  ── 3. Error: tsearch and tsearchn give the same results (@test-tsearch-tsearchn-
  Unable to write to R temporary directory /home/hornik/tmp/scratch/RtmpJ5sdDG 
   This is a known issue in the geometry package
   See https://r-forge.r-project.org/tracker/index.php?func=detail&aid=5738&group_id=1149&atid=4552
  1: delaunayn(cbind(X, Y)) at testthat/test-tsearch-tsearchn-comparison.R:6
  2: stop(paste("Unable to write to R temporary directory", tmpdir, "\n", "This is a known issue in the geometry package\n", 
         "See https://r-forge.r-project.org/tracker/index.php?func=detail&aid=5738&group_id=1149&atid=4552"))
  
  ══ testthat results  ═══════════════════════════════════════════════════════════
  OK: 49 SKIPPED: 0 FAILED: 3
  1. Failure: delaunayn can be called with mc.apply (@test-parallel.R#20) 
  2. Failure: delaunayn can be called with mc.apply (@test-parallel.R#21) 
  3. Error: tsearch and tsearchn give the same results (@test-tsearch-tsearchn-comparison.R#6) 
  
  Error: testthat unit tests failed
  Execution halted