1source("incl/start.R") 2stopCluster <- parallel::stopCluster 3 4message("*** Connections ...") 5 6con <- stdin() 7idx <- as.integer(con) 8id <- connectionId(con) 9valid <- isConnectionValid(con) 10stopifnot(inherits(con, "connection"), idx == 0L, id == 0L, isTRUE(valid)) 11 12con <- stdout() 13idx <- as.integer(con) 14id <- connectionId(con) 15valid <- isConnectionValid(con) 16stopifnot(inherits(con, "connection"), idx == 1L, id == 1L, isTRUE(valid)) 17 18con <- stderr() 19idx <- as.integer(con) 20id <- connectionId(con) 21valid <- isConnectionValid(con) 22stopifnot(inherits(con, "connection"), idx == 2L, id == 2L, isTRUE(valid)) 23 24message("- Connections cannot be serialized") 25 26con <- file(tempfile(), open = "w") 27x <- list(value = 42, stderr = stderr(), con = con) 28y <- unserialize(serialize(x, connection = NULL)) 29print(connectionId(x$stderr)) 30print(connectionId(x$con)) 31print(isConnectionValid(x$stderr)) 32print(isConnectionValid(x$con)) 33print(connectionId(y$stderr)) 34print(connectionId(y$con)) 35print(isConnectionValid(y$stderr)) 36print(isConnectionValid(y$con)) 37 38stopifnot( 39 identical(y$value, x$value), 40 connectionId(x$stderr) == 2L, 41 isConnectionValid(x$stderr), 42 isConnectionValid(y$stderr), 43 identical(connectionId(y$stderr), connectionId(x$stderr)), 44 connectionId(x$con) >= 3L, 45 isConnectionValid(x$con), 46 connectionId(y$con) == -1L, 47 !isConnectionValid(y$con) 48) 49close(con) 50 51message("*** Connections ... DONE") 52 53source("incl/end.R") 54