CI are forcing tests for ports where tests are disabled
There is something broken with CI now. Tests phase must not be run when it is disabled (test.run is set to no), but it is.
Re: CI are forcing tests for ports where tests are disabled
On 29/2/2024 17:01, Sergey Fedorov wrote: There is something broken with CI now. Tests phase must not be run when it is disabled (test.run is set to no), but it is. Built-in tests can always be run. See 2.9 release notes. - Josh
Re: CI are forcing tests for ports where tests are disabled
I believe, they were not forced for R stuff until very recently. I found a solution which should work to fix running tests for R packages even when tests are unsupported and forced to run, but this situation is quite fragile. For the context: there are some R packages which are in themselves trivial, but required as dependencies for some important ones. By default R checks require all optional dependencies to be installed, which sometimes means a lot of stuff to build. Adding every such optional dependency to MacPorts just to support testing is a) practically unfeasible and b) hardly needed. So while I tend to add support for testing wherever find it important or wherever it does not take too much of effort, there are a number of packages which have test.run no – and that is unlikely to change. While default behavior of R can be changed via passing a variable in environment, this a) does not guarantee that some tests won’t fail due to missing optional dependency nevertheless and b) is not clearly a superior choice, since it becomes less clear if some optional dependencies are missing (which we may care about in specific cases). > On Feb 29, 2024, at 2:17 PM, Joshua Root wrote: > > On 29/2/2024 17:01, Sergey Fedorov wrote: >> There is something broken with CI now. >> Tests phase must not be run when it is disabled (test.run is set to no), but >> it is. > > Built-in tests can always be run. See 2.9 release notes. > > - Josh
Re: CI are forcing tests for ports where tests are disabled
Oh I see, the R portgroup is overriding the test phase entirely, which makes test.run useless. Don't do that; set test.cmd, test.args and so on. - Josh On 29/2/2024 18:34, Sergio Had wrote: I believe, they were not forced for R stuff until /very/ recently. I found a solution which should work to fix running tests for R packages even when tests are unsupported and forced to run, but this situation is quite fragile. For the context: there are some R packages which are in themselves trivial, but required as dependencies for some important ones. By default R checks require all /optional/ dependencies to be installed, which sometimes means /a lot/ of stuff to build. Adding every such optional dependency to MacPorts just to support testing is a) practically unfeasible and b) hardly needed. So while I tend to add support for testing wherever find it important or wherever it does not take too much of effort, there are a number of packages which have /test.run no – /and that is unlikely to change. While default behavior of R can be changed via passing a variable in environment, this a) does not guarantee that some tests won’t fail due to missing optional dependency nevertheless and b) is not clearly a superior choice, since it becomes less clear if some optional dependencies are missing (which we may care about in specific cases). On Feb 29, 2024, at 2:17 PM, Joshua Root wrote: On 29/2/2024 17:01, Sergey Fedorov wrote: There is something broken with CI now. Tests phase must not be run when it is disabled (test.run is set to no), but it is. Built-in tests can always be run. See 2.9 release notes. - Josh
Re: CI are forcing tests for ports where tests are disabled
Thank you, Josh, I will look into changing that then. > On Feb 29, 2024, at 2:46 PM, Joshua Root wrote: > > Oh I see, the R portgroup is overriding the test phase entirely, which makes > test.run useless. Don't do that; set test.cmd, test.args and so on. > > - Josh > > On 29/2/2024 18:34, Sergio Had wrote: >> I believe, they were not forced for R stuff until /very/ recently. >> I found a solution which should work to fix running tests for R packages >> even when tests are unsupported and forced to run, but this situation is >> quite fragile. >> For the context: there are some R packages which are in themselves trivial, >> but required as dependencies for some important ones. By default R checks >> require all /optional/ dependencies to be installed, which sometimes means >> /a lot/ of stuff to build. Adding every such optional dependency to MacPorts >> just to support testing is a) practically unfeasible and b) hardly needed. >> So while I tend to add support for testing wherever find it important or >> wherever it does not take too much of effort, there are a number of packages >> which have /test.run no – /and that is unlikely to change. >> While default behavior of R can be changed via passing a variable in >> environment, this a) does not guarantee that some tests won’t fail due to >> missing optional dependency nevertheless and b) is not clearly a superior >> choice, since it becomes less clear if some optional dependencies are >> missing (which we may care about in specific cases). >>> On Feb 29, 2024, at 2:17 PM, Joshua Root wrote: >>> >>> On 29/2/2024 17:01, Sergey Fedorov wrote: There is something broken with CI now. Tests phase must not be run when it is disabled (test.run is set to no), but it is. >>> >>> Built-in tests can always be run. See 2.9 release notes. >>> >>> - Josh >