R/test_TransView_package.R

Defines functions .test

.test <- function(dir, pattern = "^test_.*\\.R$")
{
	.failure_details <- function(result) {
		res <- result[[1L]]
		if (res$nFail > 0 || res$nErr > 0) {
			Filter(function(x) length(x) > 0,
					lapply(res$sourceFileResults,
							function(fileRes) {
								names(Filter(function(x) x$kind != "success",
												fileRes))
							}))
		} else list()
	}
	
	if (missing(dir)) {
		dir <- system.file("unitTests", package="TransView")
		if (!length(dir)) {
			dir <- system.file("UnitTests", package="TransView")
			if (!length(dir))
				stop("unable to find unit tests, no 'unitTests' dir")
		}
	}
	require("RUnit", quietly=TRUE) || stop("RUnit package not found")
	RUnit_opts <- getOption("RUnit", list())
	RUnit_opts$verbose <- 0L
	RUnit_opts$silent <- TRUE
	RUnit_opts$verbose_fail_msg <- TRUE
	options(RUnit = RUnit_opts)
	suite <- defineTestSuite(name="TransView RUnit Tests", dirs=dir,
			testFileRegexp=pattern,
			rngKind="default",
			rngNormalKind="default")
	result <- runTestSuite(suite)
	cat("\n\n")
	printTextProtocol(result, showDetails=FALSE)
	if (length(details <- .failure_details(result)) >0) {
		cat("\nTest files with failing tests\n")
		for (i in seq_along(details)) {
			cat("\n  ", basename(names(details)[[i]]), "\n")
			for (j in seq_along(details[[i]])) {
				cat("    ", details[[i]][[j]], "\n")
			}
		}
		cat("\n\n")
		stop("unit tests failed for package TransView")
	}
	result
}

Try the TransView package in your browser

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

TransView documentation built on Nov. 8, 2020, 5:31 p.m.