[Fingerprint-commits] r5 - in pkg: . inst inst/unitTests tests

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Sat Oct 31 17:50:14 CET 2009


Author: rajarshi
Date: 2009-10-31 17:50:14 +0100 (Sat, 31 Oct 2009)
New Revision: 5

Added:
   pkg/inst/
   pkg/inst/unitTests/
   pkg/inst/unitTests/Makefile
   pkg/inst/unitTests/runit.fp.R
   pkg/tests/
   pkg/tests/doRUnit.R
Log:
Added initial unit tests

Added: pkg/inst/unitTests/Makefile
===================================================================
--- pkg/inst/unitTests/Makefile	                        (rev 0)
+++ pkg/inst/unitTests/Makefile	2009-10-31 16:50:14 UTC (rev 5)
@@ -0,0 +1,15 @@
+TOP=../..
+PKG=${shell cd ${TOP};pwd}
+SUITE=doRUnit.R
+R=R
+
+all: inst test
+
+inst: # Install package
+	cd ${TOP}/..;\
+	${R} CMD INSTALL ${PKG}
+
+test: # Run unit tests
+	export RCMDCHECK=FALSE;\
+	cd ${TOP}/tests;\
+	${R} --vanilla --slave < ${SUITE}

Added: pkg/inst/unitTests/runit.fp.R
===================================================================
--- pkg/inst/unitTests/runit.fp.R	                        (rev 0)
+++ pkg/inst/unitTests/runit.fp.R	2009-10-31 16:50:14 UTC (rev 5)
@@ -0,0 +1,5 @@
+test.new.fp <- function()
+{
+  fp <- new("fingerprint", bits=c(1,2,3,4), nbit=8, provider='rg',name='foo')
+  checkTrue(!is.null(fp))
+}

Added: pkg/tests/doRUnit.R
===================================================================
--- pkg/tests/doRUnit.R	                        (rev 0)
+++ pkg/tests/doRUnit.R	2009-10-31 16:50:14 UTC (rev 5)
@@ -0,0 +1,58 @@
+if(require("RUnit", quietly=TRUE)) {
+ 
+  ## --- Setup ---
+ 
+  pkg <- "fingerprint" # <-- 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)
+ 
+  ## 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, "fingerprint Unit Tests"),
+                                          dirs=path)
+  ## Run
+  tests <- runTestSuite(testSuite)
+ 
+  ## Default report name
+  pathReport <- file.path(path, "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=""))
+ 
+  ## 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")
+}



More information about the Fingerprint-commits mailing list