CI are forcing tests for ports where tests are disabled

2024-02-28 Thread Sergey Fedorov
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

2024-02-28 Thread Joshua Root

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

2024-02-28 Thread Sergio Had
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

2024-02-28 Thread Joshua Root
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

2024-02-28 Thread Sergio Had
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
>