Re: Slow filenotify-tests

Michael Albinus <[email protected]>
Newsgroups gmane.emacs.devel
Message-ID <[email protected]>
Eli Zaretskii <[email protected]> writes:

Hi Eli,

>> That was discussed years ago, when we have introduced the different
>> SELECT_* variables in test/Makefile. The most common use case for 'make
>> <filename>' is for developers, checking their package. It makes sense to
>> run expensive tests in this case, so I don't like to change it.
>
> So you are saying that "make check" would skip those tests, but
> "make SPECIFIC-tests" would not, is that right?

Yes. This is described in test/README:

--8<---------------cut here---------------start------------->8---
* make check
  Run all tests as defined in the directory.  Expensive and unstable
  tests are suppressed.  The result of the tests for <filename>.el is
  stored in <filename>.log.

* make <filename>  -or-  make <filename>.log
  Run all tests declared in <filename>.el.  This includes expensive
  tests.  In the former case the output is shown on the terminal, in
  the latter case the output is written to <filename>.log.
--8<---------------cut here---------------end--------------->8---

> My problem here is that I rarely run the whole test suite, but very
> frequently run specific tests, especially when some code or some test
> has changed -- to verify it still succeeds.  That's what happened in
> this case as well: I've run filenotify-tests because I've seen your
> changes in them.

That I understand. Therefore my proposal to make it configurable, which
selector is used by default.

>> What we could think about is a configurable preference, which SELECTOR_*
>> variable to apply for 'make <filename>' by default. A 'configure'
>> option?
>
> Is it frequent to run "make <filename>" with the intent to run all of
> the tests in <filename>, even the expensive and unstable ones?

Not the unstable ones, they are not enabled by default with any
$SELECTOR_*. If you want to run *all* tests in filename.el, including
the unstable ones, you shoul use 'SELECTOR=t'.

And yes, this is frequent. While developing something new in a package,
the author profits much from calling 'make <filename>' again and
again. And in etc/CONTRIBUTE, we recommend to run it prior pushing to
the repo:

--8<---------------cut here---------------start------------->8---
It is a good practice to run the unit test of a change prior to committing.
If you have changed, e.g., the file "xt-mouse.el", you can run the unit
tests via

    make && make -C test xt-mouse-tests
--8<---------------cut here---------------end--------------->8---

Best regards, Michael.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.