[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: R package CI test failures



On 28/04/16 00:22, Andreas Tille wrote:
> [Jonathon, please seek for your name in the text below.]
> 
> Hi Gordon,
> 
> thanks a lot for your effort about testing R packages.
> 
> On Wed, Apr 27, 2016 at 12:00:05PM +0200, Gordon Ball wrote:
>>
>> non-lowercased path for vignette: output contains something like "cannot
>> stat /usr/share/doc/r-bioc-biovizBase/examples/vignettes/*"
> 
> Since I seem to fail the actual reason for this one.  Could someone
> please correct me that this code
> 
>    oname=biovizBase
>    pkg=r-bioc-`echo $oname | tr [A-Z] [a-z]`
> 
>    (https://anonscm.debian.org/viewvc/debian-med/trunk/packages/R/r-bioc-biovizbase/trunk/debian/tests/run-unit-test?view=markup)
> 
> should ensure lower cased package name?  I received a similar report
> like you mention above but I totally fail to understand the issue
> behind it - perhaps another pair of eyes looking at it might enlight
> me.  My only idea is to rather use
> 
>    pkg=r-bioc-`echo $oname | tr '[A-Z]' '[a-z]'`
> 
> and so I try this even if I think this is equivalent.

Hmm, yes. I can't obviously see why this fails. (Aside - `tr A-Z a-z`
works just as well, but as far as I can see both are valid syntax).

However, since the working dir for the test is the root of the extracted
source package, we should be able to extract the R and debian package
names directly rather than hardcoding or deriving them:

    rpkg=$(grep-dctrl -s Package -n '' DESCRIPTION)
    dpkg=$(grep-dctrl -s Package -n '' debian/control)

and in fact, skip finding tests and vignettes in the installed
filesystem and just find them in the source package: tests/*.R ;
vignettes/*.Rnw - in which case we don't need to know the package R or
debian names.

As discussed in the autodep8 thread, it would definitely be good to
extend the implicit test to running tests/*.R and vignettes/*.Rnw/md,
and clearly this would avoid duplication of a large number of similar
run-unit-test files (although I think we should wait a while and see
what happens with the simple autodep8 test already added and see how
that works out first).

> 
>> bad substitution in run-unit-test: output contains something like
>> "cannot stat /usr/share/doc/r-bioc-cumme[bund/examples/vignettes/*"
> 
> That's even more strange.  I like to just insert the original CRAN
> spelling and calculate the Debian package from mit but tr does not
> seem to do a reliable job and I wonder why.

The version with quotes in r-bioc-cummerband now seems to work (or at
least, it gets further and finds a different error -
vignettes/cummeRbund-example-workflow.Rnw appears not to load the
library before using functions from it, which I suspect is a package bug).
> 
>> tries to test r-cran-whatever: looks like a copy-paste error in
>> run-unit-test, tries to run a different package's test suite
> 
> Ahhh, I'd happily get rid of cut-n-pastos.
>  
>> error in run-unit-test: appears to be a bug in the shell script (bad
>> find arguments, etc)
>>
>> ?: not obvious what went wrong - might be a true positive
>>
>> # r-bioc
>>
>> r-bioc-aroma.light: attempts install.packages
> 
> I don't understand this one.

The culprit appears to be R.utils::use(packagename) buried in various
functions. It attempts to install if the package isn't available. It
fails trying to load/install princurve (unpackaged, in the Suggests field).

> 
>> r-bioc-biocinstaller: missing dep r-bioc-biocgenerics
> 
> Fixed in recent upload.
> 
>> r-bioc-biomart: bad substitution in run-unit-test
> 
> Uploaded new version with quotes in tr call.
> 
>> r-bioc-biovizbase: non-lowercased path for vignette
>> r-bioc-bsgenome: non-lowercased path for vignette
> 
> Waiting for confirmation that quotes in tr call are helpful.
> 
>> r-bioc-cummerbund: bad substitution in run-unit-test
> 
> Uploaded new version with quotes in tr call.
> 
>> r-bioc-genefilter: missing dep r-cran-class
> 
> Fixed in recent upload of new upstream version.
> 
>> r-bioc-genomicalignments: min_overlap_score bug
>> r-bioc-genomicranges: min_overlap_score bug
> 
> I don't understand this type.

Not sure, but this has disappeared in today's resuults. I suspect some
of the bioconductor packages might need tighter dependencies on each other.

> 
>> r-bioc-hilbertvis: non-lowercased path for vignette
> 
> Waiting for confirmation that quotes in tr call are helpful.
> 
>> r-bioc-limma: ?
> 
> ?
> 
>> r-bioc-rsamtools: missing dep r-cran-runit
> 
> Fixed in recent upload
> 
>> r-bioc-snpstats: non-lowercased path for vignette
> 
> Waiting for confirmation that quotes in tr call are helpful.
> 
>> r-bioc-summarizedexperiment: missing dep r-cran-runit
> 
> Fixed in recent upload of new version.
> 
>> r-bioc-variantannotation: min_overlap_score bug
> 
> I don't understand this type.
>  
>> # r-cran
>>
>> r-cran-adegraphcis: missing dep spdep (unpackaged?)
> 
> Grrr, I'm fighting for r-cran-spdep since years (#752876) and its again
> in new.  If you want to help please review the copyright and convince
> ftpmaster that it is free.
> 
>> r-cran-afex: 
> 
> ?
> 
>> r-cran-bayesfactor: missing dep r-cran-testthat
> 
> Fixed in recent team upload (Jonathon, please git pull)
> 
>> r-cran-bbmisc: missing dep r-cran-codetools
> 
> Fixed in recent upload
> 
>> r-cran-bms: non-lowercased path for vignette
> 
> Waiting for confirmation that quotes in tr call are helpful.
> (Jonathon, feel free to beat me with a fix!)
> 
>> r-cran-cmprsk: ?
> 
> ?
> 
>> r-cran-contfrac: tries to test r-cran-elliptic
> 
> Jonathon, please fix.
> 
>> r-cran-doparallel: ?
> 
> ?
> 
>> r-cran-dplyr: R version mismatch (built under 3.3.0)
> 
> Huhu, what's that???

It looks like this is not the cause of failure, just a warning (the
immediate failure in this case is that the package doesn't depend on
r-cran-rcpp (necessary to load the namespace, not just run tests).
However, it also warns that it was built by R 3.3.0 - presumably a
binary upload by someone with an experimental R package on their system.
The package is loadable at least after r-cran-rcpp is installed.
> 
>> r-cran-epi: missing dep r-cran-plyr
> 
> Fixed in recent upload (missing Dependency in package)
> 
>> r-cran-etm: tries to test r-cran-cmprsk
> 
> Fixed in recent upload
> 
>> r-cran-evaluate: ?
> 
> ?
> 
>> r-cran-futile.logger: error in run-unit-test script
> 
> What kind of error?  Runs fine for me if I call it directly.
> 

The error in the CI run is "find: missing argument to -exec". Maybe
missing a trailing \; ?

>> r-cran-ggplot2: error in run-unit-test script
> 
> Fixed in recent upload
> 
>> r-cran-htmltools: missing dep on r-cran-rcpp
> 
> Fixed in recent upload
> 
>> r-cran-hypergeo: error in run-unit-test script
> 
> Jonathon, please fix.
> 
>> r-cran-lambda.r: error in run-unit-test script
> 
> What kind of error?  Runs fine for me if I call it directly.
> 
Same as r-cran-futile.logger above it appears. Whether it errors is
maybe sensitive to the CWD it is run from since it does `find .`?

>> r-cran-learnbayes: non-lowercased path for vignette
> 
> Fixed in recent upload - hopefully Closes: #759413
> 
>> r-cran-magrittr: error in run-unit-test script
> 
> What kind of error?  Runs fine for me if I call it directly.
> 

find -exec again.

>> r-cran-plyr: error in run-unit-test script
> 
> Fixed in recent upload
> 
>> r-cran-qtl: missing dep r-cran-testthat
> 
> Fixed in recent upload of new upstream version
> 
>> r-cran-r.methodss3: bad subsitution in run-unit-test
> 
> Waiting for confirmation that quotes in tr call are helpful.
> 
>> r-cran-r.utils: error in run-unit-test
> 
> What kind of error?  Runs fine for me if I call it directly.
> 

Looks like the delete at the end (rm -f $ADTTMP/*) fails since some of
the targets are directories (missing -r)
>> r-cran-r6: tries to test r-cran-rncl
> 
> Fixed by yourself in Git - possibly missing quotes in tr call.
> 
>> r-cran-rncl: missing dep r-cran-rcpp
> 
> Fixed in recent upload
> 
>> r-cran-rocr: ?
> 
> ?
> 
>> r-cran-shiny: missing dep r-cran-ggplot2
> 
> Fixed in recent upload
> 
>> r-cran-sp: missing dep rgeos (unpackaged?)
>> r-cran-surveillance: unsatisfyable dependencies
>> r-cran-testthat: unsatisfyable dependencies
>> r-cran-tidyr: R version mismatch (built under 3.3.0)
>> r-cran-xml2: missing dep r-cran-rcpp
> 
> I'll leave the last 5 on my desk for tomorrow.
> 
> Thanks for your work on testing R packages
> 
>      Andreas.
>  
> 
And thanks for fixing so many of these so quickly - hopefully it'll look
in much better shape in a few days and we can see if CI is actually
doing its job and identifying some real errors.

I'll have a better look at the "?" ones.

Gordon


Reply to: