https://github.com/cran/doParallel
Revision e32f793639847b1711521ef2fb7b7eb87a6ac0de authored by Folashade Daniel on 07 February 2022, 11:50:02 UTC, committed by cran-robot on 07 February 2022, 11:50:02 UTC
1 parent e3aa58e
Tip revision: e32f793639847b1711521ef2fb7b7eb87a6ac0de authored by Folashade Daniel on 07 February 2022, 11:50:02 UTC
version 1.0.17
version 1.0.17
Tip revision: e32f793
doRUnit.R
## unit tests will not be done if RUnit is not available
if(require("RUnit", quietly=TRUE)) {
## --- Setup ---
pkg <- "doParallel" # <-- Change to package name!
if(Sys.getenv("RCMDCHECK") == "FALSE") {
## Path to unit tests for standalone running under Makefile (not R CMD check)
## PKG/tests/../inst/unitTests
path <- file.path(getwd(), "..", "inst", "unitTests")
} else {
## Path to unit tests for R CMD check
## PKG.Rcheck/tests/../PKG/unitTests
path <- system.file(package=pkg, "unitTests")
}
cat("\nRunning unit tests\n")
print(list(pkg=pkg, getwd=getwd(), pathToUnitTests=path))
library(package=pkg, character.only=TRUE)
################################################################
## BEGIN PACKAGE SPECIFIC CONFIGURATION #
################################################################
registerDoParallel(2)
################################################################
## END PACKAGE SPECIFIC CONFIGURATION #
################################################################
## If desired, load the name space to allow testing of private functions
## if (is.element(pkg, loadedNamespaces()))
## attach(loadNamespace(pkg), name=paste("namespace", pkg, sep=":"), pos=3)
##
## or simply call PKG:::myPrivateFunction() in tests
## --- Testing ---
## Define tests
testSuite <- defineTestSuite(name=paste(pkg, "unit testing"),
dirs=path, testFileRegexp = "^options\\.R$")
## Run
tests <- runTestSuite(testSuite)
## Default report name
pathReport <- file.path(tempdir(), "report")
## Report to stdout and text files
cat("------------------- UNIT TEST SUMMARY ---------------------\n\n")
printTextProtocol(tests, showDetails=FALSE)
printTextProtocol(tests, showDetails=FALSE,
fileName=paste(pathReport, "Summary.txt", sep=""))
printTextProtocol(tests, showDetails=TRUE,
fileName=paste(pathReport, ".txt", sep=""))
## Report to HTML file
printHTMLProtocol(tests, fileName=paste(pathReport, ".html", sep=""))
# printHTMLProtocol(tests, fileName=file.path(dirname(dirname(getwd())),pkg,"gsDesign-RUnit-Test-Summary.html")) #paste(pathReport, ".html", sep=""))
## Return stop() to cause R CMD check stop in case of
## - failures i.e. FALSE to unit tests or
## - errors i.e. R errors
tmp <- getErrors(tests)
if(tmp$nFail > 0 | tmp$nErr > 0) {
stop(paste("\n\nunit testing failed (#test failures: ", tmp$nFail,
", #R errors: ", tmp$nErr, ")\n\n", sep=""))
}
} else {
warning("cannot run unit tests -- package RUnit is not available")
}
Computing file changes ...