The R Project SVN R

Rev

Rev 17438 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

#-*- Makefile -*-
#
# ${RHOME}/tests/Makefile.win

srcdir = .

RHOME = $(shell perl ../src/gnuwin32/pwd.pl ..)# must be absolute path
R= $(RHOME)/bin/Rterm --vanilla LC_ALL=C
RDIFF = $(RHOME)/bin/Rcmd Rdiff.sh
RVAL_IF_DIFF=0

test-src-gct = \
    eval-etc.R \
    simple-true.R \
    arith-true.R \
    arith.R \
    demos.R \
    lm-tests.R \
    primitive-funs.R \
    ok-errors.R \
    method-dispatch.R
test-src-strict-1 = \
    $(test-src-gct) \
    d-p-q-r-tests.R
test-src-strict-auto = \
    isas-tests.R
test-src-sloppy-1 = \
    print-tests.R
test-src-sloppy-auto = \
    no-segfault.R

test-src-1 = $(test-src-strict-1) $(test-src-sloppy-1)
test-src-auto = $(test-src-strict-auto) $(test-src-sloppy-auto)
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-internet = internet.R
test-src-lapack = lapack.R
test-src-nafns = nafns.R
test-src-random = p-r-random-tests.R
test-src-postscript = ps-tests.R

test-src-reg-1 = \
    reg-tests-1.R reg-tests-2.R reg-IO.R reg-IO2.R reg-plot.R
test-src-reg-auto =
test-src-reg = $(test-src-reg-1) $(test-src-reg-auto)

test-out-strict = $(test-src-strict:.R=.Rout)
test-out-sloppy = $(test-src-sloppy:.R=.Rout)

test-out-internet = $(test-src-internet:.R=.Rout)
test-out-lapack = $(test-src-lapack:.R=.Rout)
test-out-nafns = $(test-src-nafns:.R=.Rout)
test-out-postscript = $(test-src-postscript:.R=.Rout)
test-out-random = $(test-src-random:.R=.Rout)
test-out-reg = $(test-src-reg:.R=.Rout)

all-extra-tests = Lapack Nafns Postscript Random Reg

test-out = $(test-src:.R=.Rout) $(test-out-gct) \
    $(test-out-internet) $(test-out-lapack) $(test-out-nafns) \
    $(test-out-random) $(test-out-postscript) $(test-out-reg)

.SUFFIXES:
.SUFFIXES: .R .Rin .Rout


.Rin.R:
    @echo "creating \`$@'"
    @$(R) < $< > /dev/null

.R.Rout:
    @rm -f $@ $@.fail
    @echo "running \`$<'"
    @$(R) < $< > $@
    @if [ -f $(srcdir)/$@.save ] ; then \
      mv $@ $@.fail; \
      echo -n \
        "Comparing \`$@' to \`$(srcdir)/$@.save' ..."; \
      $(RDIFF) $@.fail $(srcdir)/$@.save $(RVAL_IF_DIFF) || exit 1; \
      mv $@.fail $@; \
      echo "OK"; \
    fi

all: test-Specific
test-Specific-strict: $(test-out-strict)
test-Specific-sloppy: $(test-out-sloppy)
test-Specific:
    @echo "running strict specific tests"
    @$(MAKE) -f Makefile.win test-Specific-strict RVAL_IF_DIFF=1
    @echo "running sloppy specific tests"
    @$(MAKE) -f Makefile.win test-Specific-sloppy RVAL_IF_DIFF=0
    @rm -f data F.Rd c0.Rd df0.Rd l0.Rd

test-all-extras:
    @for name in $(all-extra-tests); do \
      $(MAKE)  -f Makefile.win test-$${name} || exit 1; \
    done

test-Internet:
    @echo "running tests of Internet and socket functions"
    @$(RM) internet.Rout
    @$(MAKE) -f Makefile.win test-Internet-run RVAL_IF_DIFF=0
    $(R) --internet2 --vanilla < internet.R > internet.Rout2
    diff internet.Rout internet.Rout2

test-Internet-run: $(test-out-internet)

test-Lapack:
    @echo "running tests of LAPACK-based functions"
    @$(MAKE) -f Makefile.win test-Lapack-run RVAL_IF_DIFF=0

test-Lapack-run: $(test-out-lapack)

test-Nafns:
    @echo "running tests of NA handling functions"
    @$(MAKE) -f Makefile.win test-Nafns-run RVAL_IF_DIFF=0

test-Nafns-run: $(test-out-nafns)

test-Postscript:
    @echo "running tests of postscript() families"
    @$(MAKE) -f Makefile.win $(test-out-postscript) RVAL_IF_DIFF=0

test-Random:
    @echo "running tests of random deviate generation"
    @$(MAKE) -f Makefile.win test-Random-run RVAL_IF_DIFF=1

test-Random-run: $(test-out-random)

test-Reg:
    @echo "running regression tests"
    @$(MAKE) -f Makefile.win test-Reg-run RVAL_IF_DIFF=0

test-Reg-run: $(test-out-reg)


clean:
    @rm -f *.Rout *.Rout.fail *.Rout2 Rplots.ps reg-plot.ps $(test-src-auto)