[Top][All Lists]

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

Re: maintaining etags

From: Francesco Potortì
Subject: Re: maintaining etags
Date: Tue, 12 May 2015 13:17:06 +0200

>> Eli, I see that you move around Etags's state machinery without problems.
>I wouldn't say "without problems", it took me a while staring at the
>state machines to pick up enough to be able to think of a solution.
>That part of etags is not easily penetrated (the parts that deal with
>other languages are easier). 

Yes, C and C-like languages have a complex parser.  I gradually rewrote
it entirely maybe twice, trying to make it readable...

>> Anyway, when I used to patch Etags, I always run a regression test,
>> then updated the regression test with the case the patch was meant to
>> address.  The tests that I used can be found in the tree at
>> <http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar>,
>> together with some garbage.  The tests are invoked from the Makefile as
>> the default target.  If, as I hope, someone will care to install the
>> regression tests in the Emacs tree I can assist with answers to
>> questions. 
>Thanks, I will definitely run the test suite, I didn't know about it.
>I will also look intyo adding it to the Emacs regression suite.

I had mentioned it to Stefan too, but I did not get down to preparing it
until I stumbled upon this thread.

It works simply by running the just compiled etags on a series of source
code snippets, and sometimes on whole source files, and compare the
generated tags file with the one generated by a stable version.

It would be great if it were incorporated in the Emacs test suite or
anyway made available to Emacs developers.

>> The patch you propose is the sort of patch that should be run against a
>> regression test, as it is not always obvious what will happen in the
>> general case.
>Agreed.  (I did run it on the entire Emacs tree and examined the
>differences one by one against the previous version, but the more the
>better, of course.)

The Emacs tree is a good test.  The advantage of the regression tests I
provide is that they should exercise all the bug squashings and the
improvements that were made to etags in the past, and do so on a small
code base.  Also, etags is compiled with debugging enabled when running
the regression test, which enables internal tests.

reply via email to

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