Rev 41876 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
## ${R_HOME}/tests/MakefileVPATH = @srcdir@srcdir = @srcdir@top_srcdir = @top_srcdir@top_builddir = ..subdir = testsinclude $(top_builddir)/Makeconfdistdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)test-src-gct = \eval-etc.R \simple-true.R \arith-true.R \arith.R \lm-tests.R \ok-errors.R \method-dispatch.Rtest-src-strict-1 = \$(test-src-gct) \d-p-q-r-tests.Rtest-src-strict-auto =test-src-sloppy-1 = \complex.R \print-tests.R \datasets.R \lapack.Rtest-src-sloppy-auto =test-src-1 = $(test-src-strict-1) $(test-src-sloppy-1)test-src-auto = $(test-src-strict-auto) $(test-src-sloppy-auto) \${test-src-isas} ${test-src-segfault}test-src-sloppy = $(test-src-sloppy-1) $(test-src-sloppy-auto)test-src-strict = $(test-src-strict-1) $(test-src-strict-auto)test-src = $(test-src-strict) $(test-src-sloppy)test-src-demo = demos.R demos2.Rtest-src-errmsgs = errormsgs.Rtest-src-internet = internet.Rtest-src-isas = isas-tests.Rtest-src-primitive = primitives.Rtest-src-random = p-r-random-tests.Rtest-src-regexp = utf8-regex.Rtest-src-segfault = no-segfault.Rtest-src-reg-1 = reg-tests-1.R reg-tests-2.R reg-IO.R reg-IO2.R \reg-plot.R reg-S4.Rtest-src-reg-auto =test-src-reg = $(test-src-reg-1) $(test-src-reg-auto)test-src-reg3 = reg-tests-3.RDISTFILES = Makefile.in Makefile.win README \$(test-src-strict-1) $(test-src-strict-1:.R=.Rout.save) \$(test-src-sloppy-1) $(test-src-sloppy-1:.R=.Rout.save) \$(test-src-auto:.R=.Rin) isas-tests.Rout.save \$(test-src-demo) demos.Rout.save \$(test-src-internet) internet.Rout.save \$(test-src-primitive) \$(test-src-random) p-r-random-tests.Rout.save \$(test-src-reg) $(test-src-reg3) \reg-S4.Rout.save \reg-IO.Rout.save reg-IO2.Rout.save reg-plot.Rout.save \reg-plot.ps.save reg-tests-2.Rout.save reg-tests-3.Rout.save \reg-win.R encodings.R utf8-regex.R \errormsgs.R errormsgs.Rout.save \gct-foot.R \nanbug.rda \WinUnicode.dat \testit.Rd testit.txt.save testit.html.save \testit.tex.save testit-Ex.R.save \R-intro.Rout.saveSUBDIRS = Embedding Examples NativeR = LC_ALL=C SRCDIR=$(srcdir) R_DEFAULT_PACKAGES= $(top_builddir)/bin/R --vanillaR2 = R_DEFAULT_PACKAGES= $(top_builddir)/bin/R --vanillaRDIFF = $(top_builddir)/bin/R CMD RdiffRDCONV = $(top_builddir)/bin/R CMD Rdconvtest-out-strict = $(test-src-strict:.R=.Rout)test-out-sloppy = $(test-src-sloppy:.R=.Rout)test-out-gct = $(test-src-gct:.R=.Rout-gct)test-out-valgct = $(test-src-gct:.R=.Rout-valgct)test-out-demo = $(test-src-demo:.R=.Rout)test-out-errmsgs = $(test-src-errmsgs:.R=.Rout)test-out-internet = $(test-src-internet:.R=.Rout)test-out-isas = $(test-src-isas:.R=.Rout)test-out-primitive = $(test-src-primitive:.R=.Rout)test-out-random = $(test-src-random:.R=.Rout)test-out-reg = $(test-src-reg:.R=.Rout)test-out-regexp = $(test-src-regexp:.R=.Rout)test-out-reg3 = $(test-src-reg3:.R=.Rout)test-out-segfault = $(test-src-segfault:.R=.Rout)## This macro is used only for dependenciestest-out = $(test-src:.R=.Rout) $(test-out-demo) $(test-out-gct) \$(test-out-internet) \$(test-out-random) $(test-out-reg) $(test-out-reg3) \$(test-out-segfault) $(test-out-isas).SUFFIXES:.SUFFIXES: .R .Rin .Rout .Rout-gct .Rout-valgctall-basic-tests = Examples Specific Reg Internetall-devel-tests = Docs IsAs Random Demo Rd Primitive Regexp Segfault \Standalone Packagesall check: Makefile test-all-basicscheck-devel: check test-all-develcheck-all: check-devel test-Packages-RecommendedMakefile: $(srcdir)/Makefile.in $(top_builddir)/config.status@cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@$(test-out): Makefile stamp-Rstamp-R: $(top_builddir)/bin/exec@R_ARCH@/R \$(top_builddir)/library/base/R/base \$(top_builddir)/src/library/base/all.R \$(top_builddir)/src/library/graphics/all.R \$(top_builddir)/src/library/methods/all.R \$(top_builddir)/src/library/stats/all.R \$(top_builddir)/src/library/utils/all.R \$(top_builddir)/modules@R_ARCH@/lapack$(SHLIB_EXT) \@WANT_R_SHLIB_TRUE@ $(top_builddir)/lib@R_ARCH@/libR$(DYLIB_EXT)@touch $@Makedeps: Makefile@(for f in $(test-src) $(test-src-reg) $(test-src-demo); do \if test -f $(srcdir)/$${f}out.save ; then \echo "$${f}out: $${f} \$$(srcdir)/$${f}out.save \$$(FORCE)"; \else \echo "$${f}out: $${f} \$$(FORCE)"; \fi; \if test -f $(srcdir)/$${f}in; then \echo "$${f}: \$$(srcdir)/$${f}in stamp-R"; \fi; \done) >> Makefile@touch $@FORCE:.Rin.R:@echo "creating '$@'"@$(R) < $< > /dev/null.R.Rout:@rm -f $@ $@.fail@echo $(ECHO_N) "running code in '$<' ...$(ECHO_C)"@$(R) < $< > $@ 2>&1 || (mv $@ $@.fail && exit 1)@echo "$(ECHO_T) OK"@if test -f $(srcdir)/$@.save ; then \mv $@ $@.fail; \echo $(ECHO_N) \"comparing '$@' to '$(srcdir)/$@.save' ...$(ECHO_C)"; \$(RDIFF) $@.fail $(srcdir)/$@.save $(RVAL_IF_DIFF) || exit 1; \mv $@.fail $@; \echo "$(ECHO_T) OK"; \fireg-plot.Rout: reg-plot.R@rm -f $@ $@.fail@echo $(ECHO_N) "running code in '$<' ...$(ECHO_C)"@$(R) < $< > $@ 2>&1 || (mv $@ $@.fail && exit 1)@echo "$(ECHO_T) OK"@if test -f $(srcdir)/$@.save ; then \mv $@ $@.fail; \echo $(ECHO_N) \"comparing '$@' to '$(srcdir)/$@.save' ...$(ECHO_C)"; \$(RDIFF) $@.fail $(srcdir)/$@.save $(RVAL_IF_DIFF) || exit 1; \mv $@.fail $@; \echo "$(ECHO_T) OK"; \fi@echo $(ECHO_N) \"comparing 'reg-plot.ps' to '$(srcdir)/reg-plot.ps.save' ...$(ECHO_C)"@$(RDIFF) reg-plot.ps $(srcdir)/reg-plot.ps.save $(RVAL_IF_DIFF)@echo "$(ECHO_T) OK".R.Rout-gct:@echo "running gctorture() + '$<'"@(echo '.ptime <- proc.time(); gctorture()' ; \cat $< $(srcdir)/gct-foot.R) | $(R) > $@ 2>&1@mv $@ $@.fail; Ro=`basename $@ .Rout-gct`.Rout; \if test ! -r $${Ro}; then $(MAKE) $${Ro}; fi; \echo $(ECHO_N) "comparing '$@' to '$${Ro}' ...$(ECHO_C)"; \grep -v 'gctorture()' $@.fail | $(RDIFF) - $${Ro} 1 || exit 1; \mv $@.fail $@; \echo "$(ECHO_T) OK"R-valgrind = $(R) --debugger="valgrind --tool=memcheck".R.Rout-valgct:@echo "running gctorture() + valgrind + '$<'"@(echo '.ptime <- proc.time(); gctorture()' ; \cat $< $(srcdir)/gct-foot.R) | $(R-valgrind) > $@ 2>&1grep "==[0-9]*==" $@test-all-basics: Makefile@for name in $(all-basic-tests); do \$(MAKE) test-$${name} || exit 1; \donetest-all-devel: Makefile@for name in $(all-devel-tests); do \$(MAKE) test-$${name} || exit 1; \donetest-Examples:@(cd Examples && $(MAKE) $@)test-Examples-Recommended:@(cd Examples && $(MAKE) $@)test-Specific-strict: $(test-out-strict)test-Specific-sloppy: $(test-out-sloppy)test-Specific:@echo "updating test dependencies"@$(MAKE) Makedeps@echo "running strict specific tests"@$(MAKE) test-Specific-strict RVAL_IF_DIFF=1@echo "running sloppy specific tests"@$(MAKE) test-Specific-sloppy RVAL_IF_DIFF=0test-Packages:@for p in $(R_PKGS_BASE); do \echo "checking package '$${p}'"; \$(top_builddir)/bin/R CMD check --install=skip \$(top_srcdir)/src/library/$${p} || echo; \donetest-Gct: $(test-out-gct)test-Vgct: $(test-out-valgct)test-Docs:@echo "running tests of documentation examples"@cp ${top_srcdir}/doc/manual/*.R .@$(MAKE) R-intro.Rout RVAL_IF_DIFF=1@cp ${top_srcdir}/doc/manual/R-exts.c .@$(top_builddir)/bin/R CMD SHLIB R-exts.c@$(MAKE) R-exts.Rout@rm R-exts.*test-Demo:@echo "running demos from base and stats"@$(MAKE) $(test-out-demo) RVAL_IF_DIFF=0test-Errormsgs:@echo "running tests of error messages"@$(MAKE) $(test-out-errmsgs) RVAL_IF_DIFF=0## <NOTE>## These depend on an internet connection, and the sites being up.## So allow this to fail: it may be slow doing so.test-Internet:@echo "running tests of Internet and socket functions"@echo " expect some differences"-@$(MAKE) $(test-out-internet) RVAL_IF_DIFF=0## </NOTE>test-IsAs:@echo "running tests of consistency of as/is.*"@$(MAKE) $(test-out-isas) RVAL_IF_DIFF=1test-Primitive:@echo "running tests of primitives"@$(MAKE) $(test-out-primitive) RVAL_IF_DIFF=0test-Random:@echo "running tests of random deviate generation"@$(MAKE) $(test-out-random) RVAL_IF_DIFF=1test-Reg:@echo "running regression tests"@$(MAKE) $(test-out-reg) RVAL_IF_DIFF=1@$(MAKE) $(test-out-reg3) RVAL_IF_DIFF=0test-Regexp:@echo "running regexp regression tests"@$(R2) < $(srcdir)/utf8-regex.R > utf8-regex.Rout 2>&1 || (mv utf8-regex.Rout utf8-regex.Rout.fail && exit 1)test-Segfault:@echo "running tests to possibly trigger segfaults"@$(MAKE) $(test-out-segfault) RVAL_IF_DIFF=0@rm -f data dumpdata.R F.Rd c0.Rd df0.Rd l0.Rd m0.Rd Rprof.out Rplots.*## <NOTE>## Not all platforms can build standalone.## So allow this to fail.test-Standalone:@echo "testing building standalone Rmath"-@(cd $(top_builddir)/src/nmath/standalone; $(MAKE) check)## </NOTE>test-Rd: $(srcdir)/testit.Rd@echo "testing Rd conversion"@$(RDCONV) -t txt $(srcdir)/testit.Rd > testit.txt@diff -bw testit.txt $(srcdir)/testit.txt.save@$(RDCONV) -t html $(srcdir)/testit.Rd > testit.html@diff -bw testit.html $(srcdir)/testit.html.save@$(RDCONV) -t latex $(srcdir)/testit.Rd > testit.tex@diff -bw testit.tex $(srcdir)/testit.tex.save@$(RDCONV) -t example $(srcdir)/testit.Rd > testit-Ex.R@diff -bw testit-Ex.R $(srcdir)/testit-Ex.R.savetest-DocFiles:@echo "checking Rd usage sections"@for p in $(R_PKGS_BASE); do \echo $(ECHO_N) "package '$${p}' ...$(ECHO_C)"; \out=`(echo "library(\"tools\")"; \echo "checkDocFiles(package = \"$${p}\")") | \$(R) -q | sed '/^>/d'`; \if test -n "$${out}"; then \echo "$(ECHO_T) WARNING"; \echo; \echo "$${out}"; \echo; \else \echo "$(ECHO_T) OK"; \fi; \donetest-DocStyle:@echo "checking S3 method documentation style"@for p in $(R_PKGS_BASE); do \echo $(ECHO_N) "package '$${p}' ...$(ECHO_C)"; \out=`(echo "library(\"tools\")"; \echo "checkDocStyle(package = \"$${p}\")") | \$(R) -q | sed '/^>/d'`; \if test -n "$${out}"; then \echo "$(ECHO_T) WARNING"; \echo; \echo "$${out}"; \echo; \else \echo "$(ECHO_T) OK"; \fi; \donetest-FF:@echo "checking foreign function calls"@for p in $(R_PKGS_BASE); do \echo $(ECHO_N) "package '$${p}' ...$(ECHO_C)"; \out=`(echo "library(\"tools\")"; \echo "checkFF(package = \"$${p}\")") | \$(R) -q | sed '/^>/d'`; \if test -n "$${out}"; then \echo "$(ECHO_T) WARNING"; \echo "$${out}"; \else \echo "$(ECHO_T) OK"; \fi; \donetest-S3methods:@echo "checking for S3 generic/method consistency"@for p in $(R_PKGS_BASE); do \echo $(ECHO_N) "package '$${p}' ...$(ECHO_C)"; \out=`(echo "library(\"tools\")"; \echo "checkS3methods(package = \"$${p}\")") | \$(R) -q | sed '/^>/d'`; \if test -n "$${out}"; then \echo "$(ECHO_T) WARNING"; \echo; \echo "$${out}"; \echo; \else \echo "$(ECHO_T) OK"; \fi; \donetest-codoc:@echo "checking for code/documentation mismatches in functions"@for p in $(R_PKGS_BASE); do \echo $(ECHO_N) "package '$${p}' ...$(ECHO_C)"; \out=`(echo "library(\"tools\")"; \echo "codoc(package = \"$${p}\")") | \$(R) -q | sed '/^>/d'`; \if test -n "$${out}"; then \echo "$(ECHO_T) WARNING"; \echo; \echo "$${out}"; \echo; \else \echo "$(ECHO_T) OK"; \fi; \donetest-undoc:@echo "checking for missing documentation entries"@for p in $(R_PKGS_BASE); do \echo $(ECHO_N) "package '$${p}' ...$(ECHO_C)"; \out=`(echo "library(\"tools\")"; \echo "undoc(package = \"$${p}\")") | \$(R) -q | sed '/^>/d'`; \if test -n "$${out}"; then \echo "$(ECHO_T) WARNING"; \echo "$${out}"; \else \echo "$(ECHO_T) OK"; \fi; \donetest-Packages-Recommended:@test -d Packages || mkdir Packages@for p in $(R_PKGS_RECOMMENDED_SOURCES); do \gzip -dc "$(top_srcdir)/src/library/Recommended/$${p}.tgz" | \(cd Packages && $(TAR) xf -) ; \if grep "^Contains:" "Packages/$${p}/DESCRIPTION" >/dev/null; \then \echo "checking bundle '$${p}'"; \else \echo "checking package '$${p}'"; \fi; \R_LIBS="$(top_builddir)/library:$${R_LIBS}" \$(top_builddir)/bin/R CMD check --install=skip \--library="$(top_builddir)/library" Packages/$${p} || echo; \donemostlyclean: cleanclean:-@for d in $(SUBDIRS); do \(cd $${d} && $(MAKE) $@); \done-@rm -f stamp-R Makedeps Rplot* Rprof.out *.Rd data dumpdata.R \reg-plot.ps reg-tests-?.ps R-exts.* R-intro.R R-intro.Rout \FALSE.R FALSE.tex mirrors.html-@rm -f testit.txt testit.html testit.tex testit-Ex.R-@rm -rf anRpackagedistclean: clean-@for d in $(SUBDIRS); do \(cd $${d} && $(MAKE) $@); \done-@rm -f Makefile $(test-out) $(test-src-auto) .RData-@rm -rf *.Rcheck Packagesmaintainer-clean: distcleanR install install-strip uninstall TAGS info dvi:distdir: $(DISTFILES)@for f in $(DISTFILES); do \test -f $(distdir)/$${f} \|| ln $(srcdir)/$${f} $(distdir)/$${f} 2>/dev/null \|| cp -p $(srcdir)/$${f} $(distdir)/$${f}; \done@for d in $(SUBDIRS); do \test -d $(distdir)/$${d} \|| mkdir $(distdir)/$${d} \|| exit 1; \chmod 755 $(distdir)/$${d}; \(cd $${d} && $(MAKE) distdir) \|| exit 1; \done## Automagically generated dependencies: