From 4091cfd04c58cdd106b7c48c8b9a51e9179f4875 Mon Sep 17 00:00:00 2001 From: jranke Date: Mon, 11 Nov 2013 20:22:40 +0000 Subject: - Add a simple makefile - Add a .Rbuildignore file - Clean up unit tests a bit - Test the gwidgets notebook from the knitr demo git-svn-id: svn+ssh://svn.r-forge.r-project.org/svnroot/kinfit/pkg/mkin@150 edb9625f-4e0d-4859-8d74-9fd3b1da38cb --- .Rbuildignore | 1 + GNUmakefile | 62 ++++++++++++++++++++++++++++++++++++++++++ inst/unitTests/runit.mkinfit.R | 1 - tests/doRUnit.R | 8 ------ 4 files changed, 63 insertions(+), 9 deletions(-) create mode 100644 .Rbuildignore create mode 100644 GNUmakefile diff --git a/.Rbuildignore b/.Rbuildignore new file mode 100644 index 0000000..59a4657 --- /dev/null +++ b/.Rbuildignore @@ -0,0 +1 @@ +GNUmakefile diff --git a/GNUmakefile b/GNUmakefile new file mode 100644 index 0000000..e5cecea --- /dev/null +++ b/GNUmakefile @@ -0,0 +1,62 @@ +PKGNAME := $(shell sed -n "s/Package: *\([^ ]*\)/\1/p" DESCRIPTION) +PKGVERS := $(shell sed -n "s/Version: *\([^ ]*\)/\1/p" DESCRIPTION) +PKGSRC := $(shell basename $(PWD)) + +# Specify the directory holding R binaries. To use an alternate R build (say a +# pre-prelease version) use `make RBIN=/path/to/other/R/` or `export RBIN=...` +# If no alternate bin folder is specified, the default is to use the folder +# containing the first instance of R on the PATH. +RBIN ?= $(shell dirname "`which R`") + + +.PHONY: help + +help: + @echo "\nExecute development tasks for $(PKGNAME)\n" + @echo "Usage: \`make \` where is one of:" + @echo "" + @echo "Development Tasks" + @echo "-----------------" + @echo " build Invoke docs and then create a package" + @echo " check Invoke build and then check the package" + @echo " install Invoke build and then install the result" + @echo " test Install a new copy of the package and run it " + @echo " through the testsuite" + @echo "" + @echo "Packaging Tasks" + @echo "---------------" + @echo " release Give some reminders" + @echo "" + @echo "Using R in: $(RBIN)" + @echo "Set the RBIN environment variable to change this." + @echo "" + + +#------------------------------------------------------------------------------ +# Development Tasks +#------------------------------------------------------------------------------ + +build: + cd ..;\ + "$(RBIN)/R" CMD build $(PKGSRC) + +install: build + cd ..;\ + "$(RBIN)/R" CMD INSTALL $(PKGNAME)_$(PKGVERS).tar.gz + +check: build + cd ..;\ + "$(RBIN)/R" CMD check --as-cran --no-tests $(PKGNAME)_$(PKGVERS).tar.gz + +test: install + cd tests;\ + "$(RBIN)/Rscript" doRUnit.R + +#------------------------------------------------------------------------------ +# Packaging Tasks +#------------------------------------------------------------------------------ +release: + @echo "\nCheck for updates in the svn repository" + @svn update + @echo "\nHow about make test, make check and make vignette?" + @echo "\nIs the DESCRIPTION file up to date?" diff --git a/inst/unitTests/runit.mkinfit.R b/inst/unitTests/runit.mkinfit.R index ce81a10..89f4daf 100644 --- a/inst/unitTests/runit.mkinfit.R +++ b/inst/unitTests/runit.mkinfit.R @@ -101,7 +101,6 @@ test.FOCUS_2006_DFOP <- function() # FOCUS_2006_A fit.A.DFOP <- mkinfit(DFOP, FOCUS_2006_A, quiet=TRUE) - fit.A.DFOP <- mkinfit(DFOP, FOCUS_2006_A, quiet=TRUE, plot=TRUE) median.A.DFOP <- as.numeric(lapply(subset(FOCUS_2006_DFOP_ref_A_to_B, dataset == "A", c(M0, k1, k2, f, DT50, DT90)), "median")) diff --git a/tests/doRUnit.R b/tests/doRUnit.R index ed3ef1d..f0f8281 100644 --- a/tests/doRUnit.R +++ b/tests/doRUnit.R @@ -10,14 +10,6 @@ if(require("RUnit", quietly=TRUE)) { 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, " Unit Tests"), dirs=path) -- cgit v1.2.1