[R-pkg-devel] winUCRT failures
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:
| 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)
https://dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org
More information about the R-package-devel