Re: [Rd] Test suite failures in R-devel_2017-02-25_r72256

2017-02-28 Thread Prof Brian Ripley

On 27/02/2017 09:30, Peter Simons wrote:

Hi,

I tried compiling the latest pre-release for R 3.3.3 for the NixOS Linux
distribution [1], but the build fails during the "make check" phase
because of the following 2 issues:


Hmm, R-devel (your subject line) is not a pre-release of R 3.3.3: it is 
'R Under development' for what is planned as R 3.4.0.  Pre-release 
tarballs for 3.3.3 are things like R-rc_2017-02-26_r72260.tar.gz (and 
were previously labelled R-beta).


Your first point only occurs in R-devel, and was something already 
reported and under investigation.  Note that test does not actually 
depend on network access: it depends on having an accessible CRAN 
mirror.  The latter could be local (and is on the CRAN check farm, for 
example).  So we have been working on a more sophisticated condition to 
run that test.


There are lots of possible check environments: it is very time-consuming 
to check them all and reasonable coverage is only attempted once a 
pre-release reaches 'alpha' status -- 3.4.0 has not done so but is 
planned to be in late March.


I have just re-checked on Linux, and R 3.3.3 RC passed its checks 
without Internet access (which is checked for where needed).


I also re-checked 3.3.3 RC without recommended packages and got the 
expected messages about incomplete testing but no failures except in 
'make check-recommended' (expected!).


Our posting guide does ask you to include the output of sessionInfo(): 
that would have avoided the version confusion (and might even have 
alerted you to it).




1) The "tools" test in "tests/Examples" requires network access, which
   it doesn't have in our build environment. Therefore, it fails as
   follows according to "tools-Ex.Rout.fail":

   | [...]
   | > set.seed(11)
   | > ## End(Don't show)
   | > pdb <- CRAN_package_db()
   | Warning in url(sprintf("%s/%s", cran, path), open = "rb") :
   |   URL 'http://CRAN.R-project.org/web/packages/packages.rds': status was 
'Couldn't resolve host name'
   | Error in url(sprintf("%s/%s", cran, path), open = "rb") :
   |   cannot open the connection to 
'http://CRAN.R-project.org/web/packages/packages.rds'
   | Calls: CRAN_package_db -> as.data.frame -> read_CRAN_object -> gzcon -> url
   | Execution halted

   I'm wondering whether it would be possible to extend the test suite
   with a configure-time flag that disable tests which depend on network
   access? My experience is that most modern Linux distributions run
   their builds in a restricted environment and therefore will run into
   trouble if the suite assumes that it can access the Internet.

2) When R is compiled with the --without-recommended-packages flag
   (which is our preferred configuration), the "base" test in
   "tests/Examples" fails, apparently because it depends on MASS. I'm
   citing from "base-Ex.Rout.fail":

   | >  ## The string "foo" and the symbol 'foo' can be used interchangably 
here:
   | >  stopifnot( identical(isNamespaceLoaded(  "foo"   ), FALSE),
   | + identical(isNamespaceLoaded(quote(foo)), FALSE),
   | + identical(isNamespaceLoaded(quote(stats)), statL))
   | >
   | > hasM <- isNamespaceLoaded("MASS") # (to restore if needed)
   | > Mns <- asNamespace("MASS") # loads it if not already
   | Error in loadNamespace(name) : there is no package called 'MASS'
   | Calls: asNamespace ... tryCatch -> tryCatchList -> tryCatchOne -> 

   | Execution halted

I hope this helps!

Best regards,
Peter



[1] http://nixos.org/

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel




--
Brian D. Ripley,  rip...@stats.ox.ac.uk
Emeritus Professor of Applied Statistics, University of Oxford

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Test suite failures in R-devel_2017-02-25_r72256

2017-02-28 Thread Martin Maechler
> Martin Maechler 
> on Mon, 27 Feb 2017 16:08:40 +0100 writes:

> Peter Simons 
> on Mon, 27 Feb 2017 10:30:39 +0100 writes:

>> Hi, I tried compiling the latest pre-release for R 3.3.3
>> for the NixOS Linux distribution [1], but the build fails
>> during the "make check" phase because of the following 2
>> issues:

>> 1) The "tools" test in "tests/Examples" requires network
>> access, which it doesn't have in our build
>> environment. 

> One may argue that the 'make check' (or even 'make check-all')
> tests could / should be allowed more resources than the pure
> build environment.

>> Therefore, it fails as follows according to
>> "tools-Ex.Rout.fail":

>> | [...]
>> | > set.seed(11)
>> | > ## End(Don't show)
>> | > pdb <- CRAN_package_db()
>> | Warning in url(sprintf("%s/%s", cran, path), open = "rb") :
>> |   URL 'http://CRAN.R-project.org/web/packages/packages.rds': status 
was 'Couldn't resolve host name'
>> | Error in url(sprintf("%s/%s", cran, path), open = "rb") :
>> |   cannot open the connection to 
'http://CRAN.R-project.org/web/packages/packages.rds'
>> | Calls: CRAN_package_db -> as.data.frame -> read_CRAN_object -> gzcon 
-> url
>> | Execution halted

>> I'm wondering whether it would be possible to extend the test suite
>> with a configure-time flag that disable tests which depend on network
>> access? My experience is that most modern Linux distributions run
>> their builds in a restricted environment and therefore will run into
>> trouble if the suite assumes that it can access the Internet.

> [see above] Is it necessary to also run the 'make check' part in
> that restricted environment?  Or could that ('checking") not get
> more priviledges?

> Note that you can only run  "make check" if you don't install
> recommended packages, whereas more thorough testing would
> include
>  make check-devel
> or even
>  make check-all
>
> but these do have quite a bit more requirements including
> recommended packages being present.

I have to correct myself:  The above paragraph may be misleading:

Much, if not all of
  make check-devel
and   make check-all
have worked well since R version 3.1.0  which had in its NEWS an entry

 • More of 'make check' will work if recommended packages are not
   installed: but recommended packages remain needed for thorough
   checking of an R build.

Further, the 'R-admin' manual (on 'make check-all' etc) contains

 |  Note that these checks are only run completely 
 |  if the recommended packages are installed.

so their presence is not required  but much recommended for
thorough testing.

Martin

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel