tests/test.R

## small shim to implement testthat expect_* functions
## without the need for all the insane crud of testthat

library(iotools)

expect_equal <- function(expr, result) stopifnot(all.equal(expr, result))
expect_error <- function(expr, error) stopifnot(tryCatch({ x <- expr; FALSE }, error=function(e) length(grep(error, as.character(e))) > 0L))
expect_warning <- function(expr, warn) stopifnot(tryCatch({ x <- expr; FALSE }, warning=function(e) length(grep(warn, as.character(e))) > 0L))

.on.exit <- list()

on_exit <- function(fn) .on.exit <<- c(.on.exit, list(fn))

for (fn in Sys.glob("tests/*.R")) {
    cat("\n\n=== Testing", fn, "===\n")
    source(fn, echo=TRUE)
}

## Long-running tests that we don't want to run on CRAN
if (nchar(Sys.getenv("NOT_CRAN"))) for (fn in Sys.glob("non-cran/*.R")) {
    cat("\n\n=== Testing", fn, "===\n")
    source(fn, echo=TRUE)
}

for (.FUN in .on.exit) .FUN()

Try the iotools package in your browser

Any scripts or data that you put into this service are public.

iotools documentation built on May 29, 2024, 5:48 a.m.