[dmd-internals] dmd commit, revision 657
Jason House
jason.james.house at gmail.com
Thu Sep 2 14:56:48 PDT 2010
On Sep 2, 2010, at 3:46 PM, Brad Roberts <braddr at puremagic.com> wrote:
> On Thu, 2 Sep 2010, Jason House wrote:
>
>> Here's how I'd rank things by level of dislike:
>> ? A crippled test suite where failing tests are deleted
>> ? A crippled test suite with failing tests are commented out
>> ? A complete test suite that always fails due to bugs way down on the priority list
>> ? A complete test suite that ignores tests but reports that it's ignoring tests
>> ? A complete test suite that runs all tests but is tolerant of hand-picked tests failing (xFAIL, etc...)
>> ? A complete test suite with all tests passing
>>
>> The last one us unrealistic while under development. In fact, a
>> "complete test suite" is also unrealistic, but a test suite should
>> slowly become more and more thorough. Certainly, failing tests should
>> not be removed.
>
> The last one is what we have, as long as you drop the word 'complete'.
At the moment, that makes sense for the public test suite. As I understand it, you're playing catch-up; you're actively converting tests from the private test suite into the public one.
> DMD's test suite is monotomically increasing in completeness and releases
> don't comment out tests except in some extreme exceptions.. such as
> rolling back a change due to finding regression that wasn't covered by the
> test suite.
>
> ie:
> fix a bug + add a test that showed the bug
> discover a bug that fix caused that didn't have a test in the suite
> roll back the fix and the new test
> re-fix with both the new test and the newly discovered test
It should be simpler than that... When a bug is discovered, add a test. In your example above, two tests should be committed regardless of if the attempted patch is committed.
Let's take a hypothetical case of that Don attempted a patch and the new bug is best handled by Walter. The new tests represent a very clear communication of the problem space. Done right, that should make it easier for Walter to repeat Don's tests.
Similarly, many bugzilla entries gave a "reduced test case" posted to them when Don confirms the bug. Such tests should also make their way into the test suite.
I have no idea how Don currently concludes that patch for bugzilla 1234333 also fixes bugzilla 333322 and 3462663. A test suite with failing tests is one way to determine such things.
PS: Don, I'm not trying to pick on you. I'm using you as an example since you're such a prolific contributor.
PSS: Brad, I'm not picking on you either. I'm just using recent emails as inspiration to bring up a long overdue topic. All your work into the public test suite is commendable. It's much easier for me to be an armchair philosopher.
> The major wish I have is that walter would start using the public test
> suite rather than the private one. I'm working on getting the public one
> to work on windows -- making good progress, it runs most of the tests now.
>
> Once walter actually uses that one, it'll be easier to monitor to make
> sure fixes come with tests. :)
That's a great goal!
>
More information about the dmd-internals
mailing list