This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] Merge mi-cli.exp and mi2-cli.exp


On 9/11/12 8:15 AM, Pedro Alves wrote:
On 09/05/2012 01:29 AM, Stan Shebs wrote:
On 9/3/12 2:08 AM, Vladimir Prus wrote:
On 31.08.2012 17:29, Yao Qi wrote:
Unless I miss something, the intention of copying tests here is to test
both '-i=mi' and '-i=mi2' respectively.  However, this duplicates the code,
and increase the effort to maintain, IMO.
Yep, that was the intent -- with the extra twist that tests for MI and MI2 are not necessary
identical. In other words, MI2 tests are tests for MI2 when MI2 was declared "done", and the
idea was that the output with "-i=mi2" would remain the same for years. -i=mi is our current
version of MI, which may evolve, and when MI3 is declared "done", the current tests will
be copied to mi3-* tests to keep backward compatibility in future.

I am not quite sure how relevant this plan is these days.

That plan has pretty much fallen by the wayside. We should probably declare the current MI behavior as the "done" form of MI3, and disallow any incompatible changes. If someone wants to get ambitious, they are free to specify and implement MI4. :-)
I agree the plan has fallen by the wayside, but because the introduction of MI3
as a valid setting was premature and a mistake.  MI2 is "done" in the sense that we
will never change MI2's grammar and input/output in a backward incompatible way.
We're free to add new output records, new commands, etc., but that isn't considered
backward incompatible.  That's all still layered on the same protocol.

[...]
But more than that, in reality, we stopped supporting MI1 almost 10 years ago:

http://sourceware.org/ml/gdb-patches/2004-02/msg00352.html

That's a good point, seemed like it was just yesterday. :-) A little poking around the net shows that it's been quite a while since anybody has used MI1.


So my opinion is that we revisit the policy a bit, and backtrack a the
mi-.*exp vs mi2-.*exp idea, get rid of the duplication, and call everything
"MI2", as it is in practice (must be, because that's how we run the tests).
When we really introduce an incompatible change that actually justifies MI3,
_then_ we should revisit the policy of whether to mass copying/rename tests, or
share them, depending on how big the difference between the versions would be,
and therefore depending on the practicality of the different options.


Sounds like a fine idea - and MI1 has already been deprecated for a long time, so we can just whack things now. I'd also like to scrub the comment references to what MI3 will do. While it makes sense for comments to mention ideas for future work, it's misleading to imply that we've committed our future selves to make any particular change on any particular schedule.


Stan
stan@codesourcery.com



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]