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: