Nothing
test_that("poll a connection", {
px <- get_tool("px")
p <- process$new(px, c("sleep", ".5", "outln", "foobar"), stdout = "|")
on.exit(p$kill())
out <- p$get_output_connection()
## Timeout
expect_equal(poll(list(out), 0)[[1]], "timeout")
expect_equal(poll(list(out), 2000)[[1]], "ready")
p$read_output_lines()
expect_equal(poll(list(out), 2000)[[1]], "ready")
close(out)
expect_equal(poll(list(out), 0)[[1]], "closed")
})
test_that("poll a connection and a process", {
px <- get_tool("px")
p1 <- process$new(px, c("sleep", ".5", "outln", "foobar"), stdout = "|")
p2 <- process$new(px, c("sleep", ".5", "outln", "foobar"), stdout = "|")
on.exit(p1$kill(), add = TRUE)
on.exit(p2$kill(), add = TRUE)
out <- p1$get_output_connection()
## Timeout
expect_equal(
poll(list(out, p2), 0),
list(
"timeout",
c(output = "timeout", error = "nopipe", process = "nopipe"))
)
## At least one of them is ready. Usually both on Unix, but on Windows
## it is different because the IOCP is a queue
pr <- poll(list(out, p2), 2000)
expect_true(pr[[1]] == "ready" || pr[[2]][["output"]] == "ready")
p1$poll_io(2000)
p2$poll_io(2000)
p1$read_output_lines()
p2$read_output_lines()
pr <- poll(list(out, p2), 2000)
expect_true(pr[[1]] == "ready" || pr[[2]][["output"]] == "ready")
p1$kill(close_connections = FALSE)
p2$kill(close_connections = FALSE)
pr <- poll(list(out, p2), 2000)
expect_true(pr[[1]] == "ready" || pr[[2]][["output"]] == "ready")
close(out)
close(p2$get_output_connection())
expect_equal(
poll(list(out, p2), 2000),
list("closed", c(output = "closed", error = "nopipe", process = "nopipe"))
)
})
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.