[R-pkg-devel] winUCRT failures
Duncan Murdoch
murdoch@dunc@n @end|ng |rom gm@||@com
Sun Apr 25 21:29:46 CEST 2021
On 25/04/2021 12:56 p.m., Duncan Murdoch wrote:
> On 25/04/2021 12:46 p.m., Dirk Eddelbuettel wrote:
...
>> 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.
>
> It's a bad rule. It's causing thousands of packages to fail now,
> because testthat won't pass checks on the winUCRT system. It's making
> the pain of winUCRT last much longer than it should, because nobody
> knows what problems exist in their own package if they can't install it
> because of missing dependencies.
>
> For example, as I said in the first message in this thread,
>
>> The current CRAN release of rgl fails on winUCRT because of missing
>> dependencies:
>>
>> 'htmlwidgets', 'htmltools', 'knitr', 'jsonlite', 'shiny', 'magrittr',
>> 'crosstalk', 'manipulateWidget'.
>>
>> Tracing `htmlwidgets` shows it also fails because of missing dependencies:
>>
>> 'htmltools', 'jsonlite', 'yaml'
>>
>> and 'htmltools' fails because of missing dependencies
>>
>> 'digest', 'base64enc', 'rlang'
>
> A lot of those failures are ultimately caused by magrittr failing, and
> as far as I can see the only thing causing it to fail was that it used
> testthat unconditionally even though its DESCRIPTION file promised it
> would never do that.
One additional thought:
If the testing package (i.e. testthat in this case) had been available
but other suggested packages were not, it would be worth running tests
with just testthat present: that might be why you called the decision
defensible. I'd agree with that.
However, it's still true that the fact that testthat has to be present
to make magrittr available is a pretty serious flaw in magrittr and/or
the CRAN processes. Hopefully magrittr's authors are less stubborn than
R Core/CRAN, and will make their package more resilient.
Duncan Murdoch
More information about the R-package-devel
mailing list