From gavin.simpson at ucl.ac.uk  Tue Jul  4 17:26:26 2006
From: gavin.simpson at ucl.ac.uk (Gavin Simpson)
Date: Tue, 04 Jul 2006 16:26:26 +0100
Subject: [Rd] problem getting R 2.3.1 svn r38481 to pass make check-all
Message-ID: <1152026786.31350.9.camel@graptoleberis.geog.ucl.ac.uk>

Hi,

I noticed this problem on my home desktop running FC4 and again on my
laptop running FC5. Both have previously compiled and passed make
check-all on 2.3.1 svn revisions from 10 days ago or so. On both these
machines, make check-all is consistently failing (4 out of 4 attempts on
the FC 4 desktop and 3 out of 3 on the FC 5 laptop) in the
p-r-random-tests tests. This is with both default compiler flags and
extra flags set in config.site.

R is failing make check-all with the following set of messages:

...
make[3]: Entering directory `/home/gavin/R/2.3-patches/build/tests'
running code in '../../tests/p-r-random-tests.R' ... OK
comparing 'p-r-random-tests.Rout' to
'../../tests/p-r-random-tests.Rout.save' ...1a2,16
> R version 2.4.0 Under development (unstable) (2006-06-30 r38463)
> Copyright (C) 2006 The R Foundation for Statistical Computing
> ISBN 3-900051-07-0
>
> R is free software and comes with ABSOLUTELY NO WARRANTY.
> You are welcome to redistribute it under certain conditions.
> Type 'license()' or 'licence()' for distribution details.
>
> R is a collaborative project with many contributors.
> Type 'contributors()' for more information and
> 'citation()' on how to cite R or R packages in publications.
>
> Type 'demo()' for some demos, 'help()' for on-line help, or
> 'help.start()' for an HTML browser interface to help.
> Type 'q()' to quit R.
254a270,274
> > ## regression test for non-central t bug
> > dkwtest("t", df=20, ncp=3)
> t(df = 20, ncp = 3) PASSED
> [1] TRUE
> >
make[3]: *** [p-r-random-tests.Rout] Error 1
make[3]: Leaving directory `/home/gavin/R/2.3-patches/build/tests'
make[2]: *** [test-Random] Error 2
make[2]: Leaving directory `/home/gavin/R/2.3-patches/build/tests'
make[1]: *** [test-all-devel] Error 1
make[1]: Leaving directory `/home/gavin/R/2.3-patches/build/tests'
make: *** [check-all] Error 2

I looked in ./tests/p-r-random-tests.Rout.fail and couldn't see anything
that indicated a failure - everything had PASSED or TRUE as results of
the tests. I append the contents of this file below.

Anyone see what is wrong?

Thanks in advance,

Gavin

## Contents of p-r-random-tests.Rout.fail ##

R : Copyright 2006, The R Foundation for Statistical Computing
Version 2.3.1 Patched (2006-07-03 r38481)
ISBN 3-900051-07-0

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> ##
> ## RNG tests using DKW inequality for rate of convergence
> ##
> ## P(sup | F_n - F | > t) < 2 exp(-2nt^2)
> ##
> ## The 2 in front of exp() was derived by Massart. It is the best
possible
> ## constant valid uniformly in t,n,F. For large n*t^2 this agrees with
the
> ## large-sample approximation to the Kolmogorov-Smirnov statistic.
> ## 
> 
> 
> superror <- function(rfoo,pfoo,sample.size,...) {
+     x <- rfoo(sample.size,...)
+     tx <- table(x)
+     xi <- as.numeric(names(tx))
+     f <- pfoo(xi,...)
+     fhat <- cumsum(tx)/sample.size
+     max(abs(fhat-f))
+ }
> 
> pdkwbound <- function(n,t) 2*exp(-2*n*t*t)
> 
> qdkwbound <- function(n,p) sqrt(log(p/2)/(-2*n))
> 
> dkwtest <- function(stub = "norm", ...,
+                     sample.size = 10000, pthreshold = 0.001,
+                     print.result = TRUE, print.detail = FALSE,
+                     stop.on.failure = TRUE)
+ {
+     rfoo <- eval(as.name(paste("r", stub, sep="")))
+     pfoo <- eval(as.name(paste("p", stub, sep="")))
+     s <- superror(rfoo, pfoo, sample.size, ...)
+     if (print.result || print.detail) {
+         printargs <- substitute(list(...))
+         printargs[[1]] <- as.name(stub)
+         cat(deparse(printargs))
+         if (print.detail)
+             cat("\nsupremum error = ",signif(s,2),
+                 " with
p-value=",min(1,round(pdkwbound(sample.size,s),4)),"\n")
+     }
+     rval <- (s < qdkwbound(sample.size,pthreshold))
+     if (print.result)
+         cat(c(" FAILED\n"," PASSED\n",)[rval+1])
+     if (stop.on.failure && !rval)
+         stop("dkwtest failed")
+     rval
+ }
> 
> .proctime00 <- proc.time() # start timing
> 
> 
> dkwtest("binom",size =   1,prob = 0.2)
binom(size = 1, prob = 0.2) PASSED
[1] TRUE
> dkwtest("binom",size =   2,prob = 0.2)
binom(size = 2, prob = 0.2) PASSED
[1] TRUE
> dkwtest("binom",size = 100,prob = 0.2)
binom(size = 100, prob = 0.2) PASSED
[1] TRUE
> dkwtest("binom",size = 1e4,prob = 0.2)
binom(size = 10000, prob = 0.2) PASSED
[1] TRUE
> dkwtest("binom",size =   1,prob = 0.8)
binom(size = 1, prob = 0.8) PASSED
[1] TRUE
> dkwtest("binom",size = 100,prob = 0.8)
binom(size = 100, prob = 0.8) PASSED
[1] TRUE
> dkwtest("binom",size = 100,prob = 0.999)
binom(size = 100, prob = 0.999) PASSED
[1] TRUE
> 
> dkwtest("pois",lambda =  0.095)
pois(lambda = 0.095) PASSED
[1] TRUE
> dkwtest("pois",lambda =  0.95)
pois(lambda = 0.95) PASSED
[1] TRUE
> dkwtest("pois",lambda =  9.5)
pois(lambda = 9.5) PASSED
[1] TRUE
> dkwtest("pois",lambda = 95)
pois(lambda = 95) PASSED
[1] TRUE
> 
> dkwtest("nbinom",size =   1,prob = 0.2)
nbinom(size = 1, prob = 0.2) PASSED
[1] TRUE
> dkwtest("nbinom",size =   2,prob = 0.2)
nbinom(size = 2, prob = 0.2) PASSED
[1] TRUE
> dkwtest("nbinom",size = 100,prob = 0.2)
nbinom(size = 100, prob = 0.2) PASSED
[1] TRUE
> dkwtest("nbinom",size = 1e4,prob = 0.2)
nbinom(size = 10000, prob = 0.2) PASSED
[1] TRUE
> dkwtest("nbinom",size =   1,prob = 0.8)
nbinom(size = 1, prob = 0.8) PASSED
[1] TRUE
> dkwtest("nbinom",size = 100,prob = 0.8)
nbinom(size = 100, prob = 0.8) PASSED
[1] TRUE
> dkwtest("nbinom",size = 100,prob = 0.999)
nbinom(size = 100, prob = 0.999) PASSED
[1] TRUE
> 
> dkwtest("norm")
norm() PASSED
[1] TRUE
> dkwtest("norm",mean = 5,sd = 3)
norm(mean = 5, sd = 3) PASSED
[1] TRUE
> 
> dkwtest("gamma",shape =  0.1)
gamma(shape = 0.1) PASSED
[1] TRUE
> dkwtest("gamma",shape =  0.2)
gamma(shape = 0.2) PASSED
[1] TRUE
> dkwtest("gamma",shape = 10)
gamma(shape = 10) PASSED
[1] TRUE
> dkwtest("gamma",shape = 20)
gamma(shape = 20) PASSED
[1] TRUE
> 
> dkwtest("hyper",m = 40,n = 30,k = 20)
hyper(m = 40, n = 30, k = 20) PASSED
[1] TRUE
> dkwtest("hyper",m = 40,n =  3,k = 20)
hyper(m = 40, n = 3, k = 20) PASSED
[1] TRUE
> dkwtest("hyper",m =  6,n =  3,k =  2)
hyper(m = 6, n = 3, k = 2) PASSED
[1] TRUE
> dkwtest("hyper",m =  5,n =  3,k =  2)
hyper(m = 5, n = 3, k = 2) PASSED
[1] TRUE
> dkwtest("hyper",m =  4,n =  3,k =  2)
hyper(m = 4, n = 3, k = 2) PASSED
[1] TRUE
> 
> 
> dkwtest("signrank",n =  1)
signrank(n = 1) PASSED
[1] TRUE
> dkwtest("signrank",n =  2)
signrank(n = 2) PASSED
[1] TRUE
> dkwtest("signrank",n = 10)
signrank(n = 10) PASSED
[1] TRUE
> dkwtest("signrank",n = 30)
signrank(n = 30) PASSED
[1] TRUE
> 
> dkwtest("wilcox",m = 40,n = 30)
wilcox(m = 40, n = 30) PASSED
[1] TRUE
> dkwtest("wilcox",m = 40,n = 10)
wilcox(m = 40, n = 10) PASSED
[1] TRUE
> dkwtest("wilcox",m =  6,n =  3)
wilcox(m = 6, n = 3) PASSED
[1] TRUE
> dkwtest("wilcox",m =  5,n =  3)
wilcox(m = 5, n = 3) PASSED
[1] TRUE
> dkwtest("wilcox",m =  4,n =  3)
wilcox(m = 4, n = 3) PASSED
[1] TRUE
> 
> dkwtest("chisq",df =  1)
chisq(df = 1) PASSED
[1] TRUE
> dkwtest("chisq",df = 10)
chisq(df = 10) PASSED
[1] TRUE
> 
> dkwtest("logis")
logis() PASSED
[1] TRUE
> dkwtest("logis",location = 4,scale = 2)
logis(location = 4, scale = 2) PASSED
[1] TRUE
> 
> dkwtest("t",df =  1)
t(df = 1) PASSED
[1] TRUE
> dkwtest("t",df = 10)
t(df = 10) PASSED
[1] TRUE
> dkwtest("t",df = 40)
t(df = 40) PASSED
[1] TRUE
> 
> dkwtest("beta",shape1 = 1, shape2 = 1)
beta(shape1 = 1, shape2 = 1) PASSED
[1] TRUE
> dkwtest("beta",shape1 = 2, shape2 = 1)
beta(shape1 = 2, shape2 = 1) PASSED
[1] TRUE
> dkwtest("beta",shape1 = 1, shape2 = 2)
beta(shape1 = 1, shape2 = 2) PASSED
[1] TRUE
> dkwtest("beta",shape1 = 2, shape2 = 2)
beta(shape1 = 2, shape2 = 2) PASSED
[1] TRUE
> dkwtest("beta",shape1 = .2,shape2 = .2)
beta(shape1 = 0.2, shape2 = 0.2) PASSED
[1] TRUE
> 
> dkwtest("cauchy")
cauchy() PASSED
[1] TRUE
> dkwtest("cauchy",location = 4,scale = 2)
cauchy(location = 4, scale = 2) PASSED
[1] TRUE
> 
> dkwtest("f",df1 =  1,df2 =  1)
f(df1 = 1, df2 = 1) PASSED
[1] TRUE
> dkwtest("f",df1 =  1,df2 = 10)
f(df1 = 1, df2 = 10) PASSED
[1] TRUE
> dkwtest("f",df1 = 10,df2 = 10)
f(df1 = 10, df2 = 10) PASSED
[1] TRUE
> dkwtest("f",df1 = 30,df2 =  3)
f(df1 = 30, df2 = 3) PASSED
[1] TRUE
> 
> dkwtest("weibull",shape = 1)
weibull(shape = 1) PASSED
[1] TRUE
> dkwtest("weibull",shape = 4,scale = 4)
weibull(shape = 4, scale = 4) PASSED
[1] TRUE
> 
> ## regression test for PR#7314
> dkwtest("hyper", m=60, n=100, k=50)
hyper(m = 60, n = 100, k = 50) PASSED
[1] TRUE
> dkwtest("hyper", m=6, n=10, k=5)
hyper(m = 6, n = 10, k = 5) PASSED
[1] TRUE
> dkwtest("hyper", m=600, n=1000, k=500)
hyper(m = 600, n = 1000, k = 500) PASSED
[1] TRUE
>         
> cat('Time elapsed: ', proc.time() - .proctime00,'\n')
Time elapsed:  2.404 0.004 2.408 0 0 
>



[Rd] problem getting R 2.3.1 svn r38481 to pass make check-all
Gavin Simpson