Nothing
test_that("many processes", {
skip_on_cran()
## Create many processes
num <- 100
px <- get_tool("px")
on.exit(try(lapply(pp, function(x) x$kill()), silent = TRUE), add = TRUE)
pp <- lapply(1:num, function(i) {
cmd <- c("sleep", "1", "outln", paste("out", i),
"errln", paste("err", i))
process$new(px, cmd, stdout = "|", stderr = "|")
})
## poll them
results <- replicate(num, list(character(), character()), simplify = FALSE)
while (TRUE) {
pr <- poll(pp, -1)
lapply(seq_along(pp), function(i) {
if (pr[[i]]["output"] == "ready") {
results[[i]][[1]] <<- c(results[[i]][[1]], pp[[i]]$read_output_lines())
}
if (pr[[i]]["error"] == "ready") {
results[[i]][[2]] <<- c(results[[i]][[2]], pp[[i]]$read_error_lines())
}
})
inc <- sapply(pp, function(x) x$is_incomplete_output() || x$is_incomplete_error())
if (!any(inc)) break
}
exp <- lapply(1:num, function(i) list(paste("out", i), paste("err", i)))
expect_identical(exp, results)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.