Running 'tests.R' [9s]
Running the tests in 'tests/tests.R' failed.
Complete output:
  > library(mirai)
  > library(parallel)
  > 
  > nanotest <- function(x) invisible(x || stop("is not TRUE when expected to be TRUE"))
  > nanotestn <- function(x) invisible(is.null(x) || stop("is not NULL when expected to be NULL"))
  > nanotestz <- function(x) invisible(x == 0L || stop("does not equal 0L as expected"))
  > nanotesto <- function(x) invisible(x == 1L || stop("does not equal 1L as expected"))
  > nanotesti <- function(a, b) invisible(identical(a, b) || stop("the arguments are not identical as expected"))
  > nanotestp <- function(x) invisible(is.character(capture.output(print(x))) || stop("print output of expression cannot be captured as a character value"))
  > nanotesterr <- function(x, e = "") invisible(grepl(e, tryCatch(x, error = identity)[["message"]], fixed = TRUE) || stop("expected error message '", e, "' not generated"))
  > connection <- !is_error_value(call_mirai(mirai(TRUE, .timeout = 2000L))[["data"]])
  > 
  > # core tests
  > nanotest(is.list(status()))
  > nanotestz(status()[["connections"]])
  > nanotestz(status()[["daemons"]])
  > nanotestz(daemons(0L))
  > nanotesterr(daemons(url = "URL"), "Invalid argument")
  > nanotesterr(daemons(-1), "zero or greater")
  > nanotesterr(daemons(n = 0, url = "ws://localhost:0"), "1 or greater")
  > nanotesterr(daemons(raw(0L)), "must be numeric")
  > nanotesterr(daemons(n = 1, maxtasks = "100"), "'...' arguments")
  > nanotesterr(dispatcher(client = "URL"), "at least one")
  > nanotesterr(daemon("URL"), "Invalid argument")
  > nanotest(is.character(mlc <- launch_remote("ws://[::1]:5555")))
  > nanotest(inherits(mlc, "miraiLaunchCmd"))
  > nanotestp(mlc)
  > nanotesterr(launch_remote("ws://[::1]:5555", remote = remote_config(command = "echo", args = "invalid")), "must be an element")
  > nanotesterr(launch_remote(c("tcp://localhost:5555", "tcp://localhost:6666", "tcp://localhost:7777"), remote = remote_config(command = "echo", args = list(c("test", "."), c("test", ".")))), "must be of length 1 or the same length")
  > nanotesterr(launch_local(1L), "requires daemons to be set")
  > nanotestn(everywhere(mirai::serialization()))
  > nanotest(is.list(serialization()))
  > nanotesterr(serialization(list(NULL)), "must be a list of 2 functions or NULL")
  > nanotest(is.character(host_url()))
  > nanotest(substr(host_url(ws = TRUE, tls = TRUE), 1L, 3L) == "wss")
  > nanotest(substr(host_url(tls = TRUE), 1L, 3L) == "tls")
  > nanotest(grepl("5555", host_url(port = 5555), fixed = TRUE))
  > nanotest(is.list(ssh_config("ssh://remotehost")))
  > nanotest(is.list(ssh_config("ssh://remotehost", tunnel = TRUE, host = "tls+tcp://127.0.0.1:5555")))
  > nanotesterr(ssh_config("ssh://remotehost", tunnel = TRUE), "'host' must be specified")
  > nanotest(is_mirai_interrupt(r <- mirai:::mk_interrupt_error()))
  > nanotestp(r)
  > nanotest(is_mirai_error(r <- `class<-`("Error in: testing\n", c("miraiError", "errorValue", "try-error"))))
  > nanotestp(r)
  > nanotestn(r$stack.trace)
  > nanotest(mirai:::.DollarNames.miraiError(NULL, "s") == "stack.trace")
  > nanotest(mirai:::is.promising.mirai())
  > nanotestn(nextstream())
  > nanotestn(nextget("pid"))
  > Sys.sleep(2.5)
  > # mirai tests
  > if (connection) {
  +   n <- function() m
  +   m <- mirai({
  +     Sys.sleep(0.1)
  +     q <- m + n() + 2L
  +     q / m
  +   }, m = 2L, .args = environment(), .timeout = 2000L)
  +   nanotest(identical(call_mirai(m), m))
  +   nanotest(is_error_value(m$data) || m$data == 3L)
  +   Sys.sleep(2.5)
  +   `lang obj` <- quote(m + n + 2L)
  +   args <- c(m = 2L, n = 4L)
  +   m <- mirai(.expr = `lang obj`, .args = args, .timeout = 2000L)
  +   nanotest(is_error_value(call_mirai_(m)$data) || m$data == 8L)
  +   nanotestn(stop_mirai(m))
  +   Sys.sleep(2.5)
  + }
  > # daemons tests
  > if (connection) {
  +   nanotesto(d <- daemons(1L, dispatcher = FALSE))
  +   nanotestp(d)
  +   me <- mirai(mirai::mirai(), .timeout = 2000L)
  +   nanotest(is_mirai_error(call_mirai(me)$data) || is_error_value(me$data))
  +   nanotest(!is_mirai_interrupt(me$data))
  +   nanotest(is_error_value(me[["data"]]))
  +   nanotestp(me)
  +   nanotestp(me$data)
  +   df <- data.frame(a = 1, b = 2)
  +   dm <- mirai(as.matrix(df), .args = list(df = df), .timeout = 2000L)
  +   nanotest(is_mirai(call_mirai(dm)))
  +   nanotest(!unresolved(dm))
  +   nanotest(is_error_value(dm$data) || is.matrix(dm$data))
  +   nanotest(is.integer(status()[["connections"]]))
  +   nanotest(is.character(status()[["daemons"]]))
  +   nanotestz(daemons(0L))
  +   Sys.sleep(1L)
  +   nanotesto(daemons(1L, dispatcher = FALSE, idletime = 500L, timerstart = 1L, cleanup = FALSE, output = TRUE, seed = 1546, .compute = "new"))
  +   nanotest(is.character(nextget("urls", .compute = "new")))
  +   nanotest(is.integer(nextstream(.compute = "new")))
  +   Sys.sleep(1.5)
  +   nanotestn(everywhere({}, as.environment(df), .compute = "new"))
  +   mn <- mirai("test1", .compute = "new")
  +   mp <- mirai(b + 1, .compute = "new")
  +   Sys.sleep(1L)
  +   nanotest(unresolved(mn$data) || mn$data == "test1")
  +   nanotest(unresolved(mp$data) || mp$data == 3)
  +   Sys.sleep(1L)
  +   nanotest(is.integer(status(.compute = "new")[["connections"]]))
  +   nanotestz(daemons(0L, .compute = "new"))
  +   Sys.sleep(1L)
  +   nanotest(daemons(url = value <- local_url(), dispatcher = FALSE) == value)
  +   nanotesti(status()$daemons, nextget("urls"))
  +   nanotestz(daemons(0L))
  +   Sys.sleep(1L)
  + }