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. Dirk -- https://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel