Nothing
test_that("simple error", {
out <- run_script({
f <- function() processx:::throw("This failed")
f()
})
expect_snapshot(cat(out$stderr))
out <- run_script({
options(rlib_interactive = TRUE)
f <- function() processx:::throw("This failed")
f()
})
expect_snapshot(cat(out$stdout))
})
test_that("simple error with cli", {
out <- run_script({
library(cli)
f <- function() processx:::throw("This failed")
f()
})
expect_snapshot(cat(out$stderr))
out <- run_script({
options(rlib_interactive = TRUE)
library(cli)
f <- function() processx:::throw("This failed")
f()
})
expect_snapshot(cat(out$stdout))
})
test_that("simple error with cli and colors", {
out <- run_script({
library(cli)
options(cli.num_colors = 256)
f <- function() processx:::throw("This failed")
f()
})
expect_snapshot(cat(out$stderr))
out <- run_script({
library(cli)
options(rlib_interactive = TRUE)
options(cli.num_colors = 256)
f <- function() processx:::throw("This failed")
f()
})
expect_snapshot(cat(out$stdout))
})
test_that("chain_error", {
expr <- quote({
options(cli.unicode = FALSE)
do3 <- function() {
processx:::throw("because of this")
}
do2 <- function() {
processx:::chain_error(do3(), "something is wrong here")
}
do <- function() {
processx:::chain_error(do2(), "Failed to base64 encode")
}
f <- function() g()
g <- function() h()
h <- function() do()
f()
})
out <- run_script(quoted = expr)
expect_snapshot(cat(out$stderr), transform = scrub_srcref)
expr2 <- substitute(
{o; c },
list(o = quote(options(rlib_interactive = TRUE)), c = expr)
)
out <- run_script(quoted = expr2)
expect_snapshot(cat(out$stdout))
expr2 <- substitute(
{o; c },
list(o = quote(library(cli)), c = expr)
)
out <- run_script(quoted = expr2)
expect_snapshot(cat(out$stderr), transform = scrub_srcref)
expr2 <- substitute(
{o; c },
list(o = quote({library(cli); options(cli.num_colors = 256)}), c = expr)
)
out <- run_script(quoted = expr2)
expect_snapshot(cat(out$stderr), transform = scrub_srcref)
})
test_that("chain_error with stop()", {
expr <- quote({
do3 <- function() {
stop("because of this")
}
do2 <- function() {
processx:::chain_error(do3(), "something is wrong here")
}
do <- function() {
processx:::chain_error(do2(), "Failed to base64 encode")
}
f <- function() g()
g <- function() h()
h <- function() do()
f()
})
out <- run_script(quoted = expr)
expect_snapshot(cat(out$stderr), transform = scrub_srcref)
expr2 <- substitute(
{o; c },
list(o = quote(options(rlib_interactive = TRUE)), c = expr)
)
out <- run_script(quoted = expr2)
expect_snapshot(cat(out$stdout))
})
test_that("chain_error with rlang::abort()", {
expr <- quote({
options(cli.unicode = FALSE)
do3 <- function() {
rlang::abort("because of this")
}
do2 <- function() {
processx:::chain_error(do3(), "something is wrong here")
}
do <- function() {
processx:::chain_error(do2(), "Failed to base64 encode")
}
f <- function() g()
g <- function() h()
h <- function() do()
f()
})
out <- run_script(quoted = expr)
expect_snapshot(cat(out$stderr), transform = scrub_srcref)
expr2 <- substitute(
{o; c },
list(o = quote(options(rlib_interactive = TRUE)), c = expr)
)
out <- run_script(quoted = expr2)
expect_snapshot(cat(out$stdout))
})
test_that("full parent error is printed in non-interactive mode", {
expr <- quote({
options(cli.unicode = FALSE)
px <- processx:::get_tool("px")
processx:::chain_error(
processx::run(px, c("return", "1")),
"failed to run external program"
)
})
out <- run_script(quoted = expr)
expect_snapshot(
cat(out$stderr),
transform = function(x) scrub_px(scrub_srcref(x))
)
expr2 <- substitute(
{o; c },
list(o = quote(options(rlib_interactive = TRUE)), c = expr)
)
out <- run_script(quoted = expr2)
expect_snapshot(
cat(out$stdout),
transform = function(x) scrub_px(scrub_srcref(x))
)
expr2 <- substitute(
{o; c },
list(o = quote(library(cli)), c = expr)
)
out <- run_script(quoted = expr2)
expect_snapshot(
cat(out$stderr),
transform = function(x) scrub_px(scrub_srcref(x))
)
expr2 <- substitute(
{o; c },
list(o = quote({library(cli); options(cli.num_colors = 256)}), c = expr)
)
out <- run_script(quoted = expr2)
expect_snapshot(
cat(out$stderr),
transform = function(x) scrub_px(scrub_srcref(x))
)
})
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.