I like your idea of having both the result-we-currently-expect and the result-we-think-may-be-more-correct to be checked in. I still prefer Dirk's naming scheme though.
I get the notion that "expected" always means literally what it seems to mean from the standpoint of whether the tooling is silent for the test (actual == expected) or has something to say. But I think that if the tooling is behaving right, your concern that "a test would fail if it did *not* match the "failing" result" would be addressed: the tooling could be silent for actual == failing (if a failing file exists) but notify you of an "unexpected pass" if actual == expected. -F On Aug 18, 2012, at 1:02 AM, Maciej Stachowiak <[email protected]> wrote: > > On Aug 17, 2012, at 8:02 PM, Filip Pizlo <[email protected]> wrote: > >> So this is down to expected/failing and expected/previous? > > The difference is not just one of names, but also of whether you keep both > around. One could imagine a proposal where you add -failing.txt and keep > -expected.txt. But that would be confusing because > > I forgot to mention another benefit of keeping the old expectation around, > which is that tools can tell you if you start producing it again. Though I > don't know how common it is for a test to be accidentally fixed. > > Yet another is that we'd avoid the slowdown of having to look for two > different filenames for the current expected result. > >> >> I must say that expected/failing feels less confusing. Easier to remember if >> I have to quickly recall what it means. > > I don't think it's really that obvious what it means. A "failing" result > would, if checked in, be what is expected, and a test would fail if it did > *not* match the "failing" result. That is hardly intuitive. You'd also have > to sometimes label things as "failing" when you don't actually know that it's > failing, just that it's different than the previous result. > > I don't know if any of my suggestions for "a result from before that may or > may not be better than the current result" are that great. But I would much > prefer to always use -expected to refer to the result that is currently > expected. > > Regards, > Maciej > > >> >> -Filip >> >> On Aug 17, 2012, at 7:36 PM, Dirk Pranke <[email protected]> wrote: >> >>> I'm not sure if I like this idea or not. A couple of observations/questions >>> ... >>> >>> 1) I wouldn't want to call it '-correct' unless we were sure it was >>> correct; '-previous' is better in that regard >>> >>> 2) the issue with keeping a '-correct' in the tree is that it's quite >>> possible for a previous correct expectation to need to change to a >>> different expectation to still be correct. i.e., they get stale. I >>> fear that this could quickly become more confusing than it's worth. >>> It's also not clear to me when -previous gets updated or removed? >>> >>> 3) It also feels like '-previous' is something that we can just as >>> easily get from SVN/Git/whatever, in a completely foolproof and >>> automatic way. I grant that it's easier to just do a side by side >>> compare, but "diff against previous" isn't that hard to do and we >>> could easily write a wrapper to make it trivial ... >>> >>> 4) I'd want to work through the various branches in the workflow more >>> before I felt comfortable with this. When I was coming up with my >>> original proposal I originally wanted to allow -passing and -expected >>> to live side-by-side, but all sorts of complications arose, so I'd be >>> worried that we'd have them here, too. >>> >>> -- Dirk >>> >>> On Fri, Aug 17, 2012 at 6:51 PM, Ojan Vafai <[email protected]> wrote: >>>> That matches my understanding. You proposed modification sounds fine to me. >>>> >>>> On Fri, Aug 17, 2012 at 6:40 PM, Maciej Stachowiak <[email protected]> wrote: >>>>> >>>>> >>>>> My understanding of the current proposal is this: >>>>> >>>>> 1) This applies to tests that fail deterministically, for reasons other >>>>> than a crash or hang. >>>>> 2) If the test has a new result that you're confident is a progression (or >>>>> neither better or worse), you simply update the -expected.txt file. >>>>> 3) If the test has a new result that you're confident is a regression, you >>>>> delete the -expected.txt file and check in the new results as >>>>> -failing.txt. >>>>> 4) Ditto points 2 and 3 with respect to -expected.png, for image diffs. >>>>> 5) We would stop using all other ways of marking tests that fail >>>>> deterministically, including Skipped and the many things you could enter >>>>> in >>>>> TestExpectations. >>>>> >>>>> Is that correct? >>>>> >>>>> If so, I'd like to suggest a minor modification. In place of point 3 >>>>> above, I propose the following: >>>>> >>>>> 3) If the test has a new result that you're confident is a regression, you >>>>> rename the -expected.txt file to -previous.txt (or maybe -correct.txt or >>>>> -pre-expected.txt or something) and check in the new results as >>>>> -expected.txt (unless there is already a -previous.txt, in which case just >>>>> update -expected and leave -previous). >>>>> >>>>> I propose this for the following reasons: >>>>> >>>>> - It maintains the longstanding approach that -expected.txt reflects what >>>>> is currently *expected* to happen, not whether it is right or wrong in >>>>> some >>>>> abstract sense. It is an expectation, not a reference. >>>>> - It still leaves a clear indication of tests that somebody needs to look >>>>> at further, to determine if a regression occurred. >>>>> - It leaves both old and new result in place for easy comparison by an >>>>> expert. >>>>> >>>>> Regards, >>>>> Maciej >>>>> >>>>> >>>>> On Aug 17, 2012, at 6:06 PM, Ojan Vafai <[email protected]> wrote: >>>>> >>>>> +1 >>>>> >>>>> >>>>> On Fri, Aug 17, 2012 at 5:36 PM, Ryosuke Niwa <[email protected]> wrote: >>>>>> >>>>>> That's my expectation although we probably can't do that for flaky tests >>>>>> :( >>>>>> >>>>>> e.g. sometimes fails with image diff. >>>>>> >>>>>> On Fri, Aug 17, 2012 at 5:35 PM, Filip Pizlo <[email protected]> wrote: >>>>>>> >>>>>>> +1, contingent upon the following: are we agreeing that all current uses >>>>>>> of TEXT, IMAGE, and so forth in TestExpectations should be in the *very >>>>>>> near >>>>>>> term* following Dirk's change be turned into -failing files? >>>>>>> >>>>>>> -Filip >>>>>>> >>>>>>> >>>>>>> On Aug 17, 2012, at 5:01 PM, Ryosuke Niwa <[email protected]> wrote: >>>>>>> >>>>>>> On Fri, Aug 17, 2012 at 4:55 PM, Ojan Vafai <[email protected]> wrote: >>>>>>>> >>>>>>>> Asserting a test case is 100% correct is nearly impossible for a large >>>>>>>> percentage of tests. The main advantage it gives us is the ability to >>>>>>>> have >>>>>>>> -expected mean "unsure". >>>>>>>> >>>>>>>> Lets instead only add -failing (i.e. no -passing). Leaving -expected to >>>>>>>> mean roughly what it does today to Chromium folk (roughly, as best we >>>>>>>> can >>>>>>>> tell this test is passing). -failing means it's *probably* an incorrect >>>>>>>> result but needs an expert to look at it to either mark it correct >>>>>>>> (i.e. >>>>>>>> rename it to -expected) or figure out how the root cause of the bug. >>>>>>>> >>>>>>>> This actually matches exactly what Chromium gardeners do today, except >>>>>>>> instead of putting a line in TestExpectations/Skipped to look at >>>>>>>> later, they >>>>>>>> checkin the -failing file to look at later, which has all the >>>>>>>> advantages >>>>>>>> Dirk listed in the other thread. >>>>>>> >>>>>>> >>>>>>> I'm much more comfortable with this proposal. >>>>>>> >>>>>>> - Ryosuke >>>>>>> >>>>>>> _______________________________________________ >>>>>>> webkit-dev mailing list >>>>>>> [email protected] >>>>>>> http://lists.webkit.org/mailman/listinfo/webkit-dev >>>>> >>>>> _______________________________________________ >>>>> webkit-dev mailing list >>>>> [email protected] >>>>> http://lists.webkit.org/mailman/listinfo/webkit-dev >>> _______________________________________________ >>> webkit-dev mailing list >>> [email protected] >>> http://lists.webkit.org/mailman/listinfo/webkit-dev >> _______________________________________________ >> webkit-dev mailing list >> [email protected] >> http://lists.webkit.org/mailman/listinfo/webkit-dev > _______________________________________________ webkit-dev mailing list [email protected] http://lists.webkit.org/mailman/listinfo/webkit-dev

