[R-pkg-devel] winUCRT failures

Dirk Eddelbuettel edd @end|ng |rom deb|@n@org
Sun Apr 25 18:46:42 CEST 2021

On 25 April 2021 at 12:27, Duncan Murdoch wrote:
| On 25/04/2021 11:35 a.m., Dirk Eddelbuettel wrote:
| > I last wrote about that four years ago under the title "Suggests != Depends"
| > http://dirk.eddelbuettel.com/blog/2017/03/22#suggests_is_not_depends
| > 
| > Of course, nothing changed.
| > 
| > So when helping a R Core member last weekend by checking his package against
| > just over 1000 reverse dependencies, I again had to manually wade through
| > dozens of false errors of packages failing tests when packages they did NOT
| > declare a dependency on were used unconditionally. That is still a very clear
| > error to me, but I no longer expect these windmills will ever stop turning.
| I agree it's an error.  Back when we had one of those discussions it 
| seemed too resource-intensive to do both kinds of tests, and it's much 
| easier to do the "install everything" tests if you are always working 
| with a fixed library.
| Nowadays I think it's easier to run the tests on a VM that has exactly 
| the packages you specify, so people have less excuse not to do that on 

That is an ooooold problem, and I argued about this (with you and others) for
a decade or longer. And I often mentioned that e.g. _every_ Debian (or
Ubuntu, I am sure the others distris do the same) build installs _excactly_
what is listed, and omitted packages _will_ cause an error.  That was already
easy to implement (on Unix system) several decades ago via chroot and related
tricks; it is now trivial due to VMs or container use (which GH Actions
approximates too, though it may start with 'too fat a container).

So yes, it is technically easy, and we could pool the resources. But nobody
is driving it so (as has been the case for years) nothing changes. Ever.

| their own.  I have a Github "workflow" here that does it for rgl:
| https://github.com/dmurdoch/rgl/actions/workflows/R-CMD-nosoft-check.yml
| BTW, I've just submitted another patch, this time for the usethis 
| package, which added "Suggests: testthat" and then used testthat 
| unconditionally.  That won't help any other existing packages, but if it 
| is accepted it might help in the future.

It has long been true that the main test runners (RUnit, testthat, now also
tinytest) are automagically included, which is a defensible (if undocumented)
special rule.


https://dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org

More information about the R-package-devel mailing list