On 07/08/2020 23:05, Ken Brown via Cygwin-apps wrote:
On 8/7/2020 3:42 PM, Achim Gratz wrote:
Jon Turney writes:
One problem I have noticed is that some packages have test suites
(which are getting run via 'cygport test' invoking src_test()) which:

- require lots of extra dependencies to run, or

I currently subsume these in BUILD_REQUIRES as they are indeed required
for a (complete) build.  It'd be possible to split them out into a
separate variable indeed, but that is yet another level of
specificatrion that needs to be figured out if it should become useful.

Yeah, the only saving is that we don't need to spend the time to install those packages if we aren't going to run the tests.

- don't succeed on Cygwin, or

Any such tests I usually patch out or mark expected fail whichever seems
easier.

- take an inordinate amount of time to run (exceeding the resource limits)

That is a problem that comes with CI I think and we didn't really have
had to consider so far.  I have a few packages that I don't run tests on
by default because the test suite produces hangs or other unstable
behaviour, but that is dealt with in the src_test function itself.
If there are really resource hungry tests they usually need to be
enabled somewhere and one could skip those if the build runs on CIm (how
to find that out?).

Here's an example where Jon's suggestion would have been useful: While building php recently, I noticed that the test suite took forever.  I would have been happy to have a way to tell the CI to skip the tests and avoid exceeding the resource limits.  But I wouldn't want to do that by modifying src_test, because I would still want to run the tests locally.

It should now be possible to add to the .cygport a line like:

SCALLYWAG="notest"

which instructs it not to run the src_test() phase.

Reply via email to