Saturday, June 29, 2019

Re: infrastructure patch: improve test handling

On Sat, Jun 29, 2019 at 09:12:12PM +0200, Marc Espie wrote:

> RTFM
> *INTERACTIVE stuff does not do anything special by default, unless you
> trigger it, e.g., see BATCH and INTERACTIVE in bsd.port.mk(5)

> (that's also somewhat obvious from the patch)

You say it does nothing by default, but before and after the patch if
TEST_IS_INTERACTIVE="x11", and there is no DISPLAY, it throws an error
message and doesn't run the test.

superhell$ grep TEST_IS_INTERACTIVE Makefile
TEST_IS_INTERACTIVE=x11
superhell$ echo $DISPLAY

superhell$ echo $XAUTHORITY

superhell$ make test
===> Regression tests for itk-3.3p5
The regression tests require a running instance of X.
You will also need to set the environment variable DISPLAY
to point to an active X11 display and XAUTHORITY to point
to the appropriate .Xauthority file.
*** Error 1 in . (/home/ports/infrastructure/mk/bsd.port.mk:2840 '/home/ports/pobj/itk-3.3/.test_done': @exit 1)
*** Error 1 in /usr/ports/x11/itk (/home/ports/infrastructure/mk/bsd.port.mk:2486 'test')
superhell$

Also, the man page says BATCH is to use in conjunction with INTERACTIVE.
Nothing about *INTERACTIVE, just INTERACTIVE. BATCH also just talks
about builds, not testing. TEST_IS_INTERACTIVE does not mention BATCH.

It's also not obvious from the patch, since after the patch,
TEST_IS_INTERACTIVE=x11 acts the same as before the patch, which stops
the tests.

The man page really doesn't indicate what TEST_IS_INTERACTIVE does, in fact.

I'm more than happy to be told to RTFM when I miss something obvious, but
this is not one of those cases.

--Kurt

No comments:

Post a Comment