emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: burden of maintainance


From: Przemysław Wojnowski
Subject: Re: burden of maintainance
Date: Fri, 2 Oct 2015 15:54:08 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0

Suggestions for how to improve our test suite without alienating
potential contributors are welcome.
I would say that without tests they are alienated. It's much harder to contribute anything without test coverage.

What about saying: no checkin before the tests passed?
>
> That is OK, but what to do if some tests fail for many moons before
> they are fixed?  We cannot stop development because of that.

Everyone should run tests before push.
Even though they sometimes fail for various reasons (someone forgot,
different env). In such case the person is notified and should fix that
before doing any other work. Usually if it cannot be done within a few
hours (a day) the commit is reverted or test marked as ignored
(sometimes it's a faulty test).

I've seen that "procedure" in many projects and it worked fine.
Of course it is not welded and can be customized to suite Emacs
development.

> Worse, for interactive features (and there are a lot of them),
we lack the infrastructure for writing automated tests.
Can you give an example? Of course not everything can be tested, but
many things can.

IMHO it's a matter of restructuring the code. If interactive functions
try to do work by themselves then it is hard, but if they only take
input and pass to another component (for example like in MVC pattern)
then it's much easier.

Also, I don't
quite see who will write tests for large portions of the C code, given
how few people are even prepared to work on that.  The result is that
getting closer to good coverage is a huge job.
Everything starts somewhere and a good start would be to add a C
testing library and enabling it in tests.

This would at least enable those willing to write tests. Currently they
can't, even if they would like to.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]