Ok so, we'll need to knock this one out and see if there is a consensus.

My position is that I only have a slight preference for A over B and I
cannot fully articulate why.

Michael, do you feel you can present a reasoned argument in favour of A and
we'll let one of the B proponents present their case and see if either side
is "converted" to yield a consensus.

While we are at it, are there any in the C or D camp? Silence assumes we
are all either A or B

We'll probably need to vote on this once we think we have a consensus then
:-(

- Stephen
On Tue 31 Jan 2017 at 20:29, Michael Osipov <micha...@apache.org> wrote:

> Am 2017-01-31 um 20:23 schrieb Stephen Connolly:
> > Looking like a consensus on B.
>
> I am actually in favor of A. How do you want to assure with B that the
> will be properly handled for current master as you fixed the test for
> released versions?
>
> Michael
>
> > On Tue 31 Jan 2017 at 12:51, Anders Hammar <and...@hammar.net> wrote:
> >
> >> I favor B.
> >>
> >> /Anders
> >>
> >> On Tue, Jan 31, 2017 at 12:42 PM, Stephen Connolly <
> >> stephen.alan.conno...@gmail.com> wrote:
> >>
> >>> We have kind of established a consensus on how to handle the case where
> >> we
> >>> want to change the specification of how Maven works going forward.
> >>> Specifically, if we decide that the old behaviour of Maven is no longer
> >>> going to be the new behaviour of Maven our procedure in the integration
> >>> tests is as follows:
> >>>
> >>> 1. Mark the existing tests that are affected as range limited where the
> >>> upper bound is the below the version of Maven that the change in
> >> behaviour
> >>> will land in
> >>> 2. Create tests of the new behaviour (probably copied from the original
> >>> tests but with the assertions modified and using a range limited where
> >> the
> >>> lower bound is the version of Maven that the change in behaviour will
> >> land
> >>> in.
> >>>
> >>> An example of such a change is
> >>> https://github.com/apache/maven-integration-testing/commit/
> >>> c4365abe20b58b2cbc174de812e43c7741dc10e1
> >>>
> >>> We now have a more complex case to try and decide how to handle, the
> >>> current attempt to resolve is this diff:
> >>> https://github.com/apache/maven-integration-testing/
> >>> compare/master...MNG-2199
> >>>
> >>> However I am somewhat uncomfortable with how that proposed fix to the
> >>> integration tests works.
> >>>
> >>> So firstly, Christian has identified that the original tests added were
> >> not
> >>> correctly detecting the failure.
> >>>
> >>> We have a situation therefore where the integration tests have been
> >> giving
> >>> false positive results against Maven 3.2.2+
> >>>
> >>> Therefore, my view is that we should *fix the broken tests* because a
> >> false
> >>> positive or a false negative is a bug in the tests.
> >>>
> >>> This would mean that the tests would no longer pass when run against
> >>> 3.2.2-3.3.9, instead they would report the bugs in those versions that
> we
> >>> shipped due to the bugs in the integration tests.
> >>>
> >>> If we had a need to release - say security fixes - for those lines, we
> >>> would then have to do one of:
> >>> * ACK the continued failing tests;
> >>> * Run with the integration tests forked from the point in time where
> the
> >>> previous release on the line was cut; OR
> >>> * Back-port the fixes to those lines
> >>>
> >>> (assuming we are supporting those lines for security fixes)
> >>>
> >>> I am fine with any of those three options as those are known issues
> that
> >> we
> >>> should really have JIRAs for and be documenting in the release notes,
> and
> >>> any of those three options would be forcing us to acknowledge the bugs.
> >>>
> >>> An alternative is to say "those bugs were part of the specification of
> >>> Maven and we have changed the specification of Maven again" which is
> the
> >>> approach that the current MNG-2199 branch takes.
> >>>
> >>> I am not happy with that approach as it is an implicit approval of that
> >>> type of usage for the broken versions of Maven. Users could
> legitimately
> >>> start filing feature requests to "restore" the previous behaviour
> because
> >>> "it was part of the specification"... fine we can probably bat those
> >>> requests away, but is it helping us with code archeology?
> >>>
> >>> So, what do we want to do with the case of a test being identified as
> >>> having either a false positive or a false negative against an already
> >>> released version of Maven?
> >>>
> >>> A. Fix the test and then the test will fail against already released
> >>> versions of Maven
> >>> B. Fix the test, but exclude the broken versions of Maven from the
> range
> >>> with a comment explaining why
> >>> C. Clone the test, leaving the broken test for the old versions of
> Maven
> >>> and the new test for new versions of Maven
> >>> D. Something else
> >>>
> >>> I personally favour A or B (with a slight leaning towards A) and I
> really
> >>> do not like C for the case of the false-positive / false-negative tests
> >>>
> >>> If an obvious consensus does not emerge I may have to call a vote, you
> >> have
> >>> been warned!
> >>>
> >>> -Stephen
> >>>
> >>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> For additional commands, e-mail: dev-h...@maven.apache.org
>
> --
Sent from my phone

Reply via email to