DMD 1.032 and 2.016 releases

JAnderson ask at me.com
Wed Jul 9 23:31:36 PDT 2008


Walter Bright wrote:
> Steven Schveighoffer wrote:
>> "Walter Bright" wrote
>>> BCS wrote:
>>>> If you could test dmd with tango from a single shell script (runs 
>>>> SVN up; some tests; etc) would you add that to the pre release tests?
>>> The problem with that is if it fails, then I will be debugging Tango 
>>> (and every other project). It's not practical.
>>
>> No, Tango devs will be debugging it.
> 
> Not if I'm running it as part of the release cycle. Having 100K of 
> source code that is unknown to me that dies somewhere in it will be a 
> huge and impractical burden. What would take me many hours would take 
> the person who wrote the code a few minutes.
> 
> The people who know that code need to be the ones to check it out, 
> because they can efficiently isolate it. Then, I can add the small test 
> case to my test suite and it will stay fixed. Over time, this aggregate 
> of small test cases is much more effective at keeping the quality stable 
> than sheer masses of opaque code.
> 
>> Hell, let them do the work with a pre-release compiler.  I'll 
>> volunteer to do it.  If they determine it is a DMD bug, they give you 
>> a minimal case, and then you go back and fix it, or you determine that 
>> it can't be fixed for this release (with appropriate bugzilla entry 
>> logged).
> 
> That is a practical way.
> 
>> But without access to the compiler pre-release, there is not much the 
>> Tango guys can do except say "another stable release that is broken"
> 
> I agree.
> 
>> And all this is moot if we can build dmd from source :)  It would be 
>> nice to be able to help...
> 
> I know.

I'm not sure I understand.  How long do the test take to run.  Couldn't 
you use the standard unit test coding cycle with the tango stuff as well?

ie

1) Make a change.
2) Run the tango unit tests (perhaps on a separate machine in a 
different unit tests)
3) Now you know your small code change broke something.  The bug is most 
likely to be around that area because its the first change to crash 
tango's unit tests.
4) If it's a compile crash its probably easy to solve, run it though the 
debugger and look at your stack.  I'll bet most of these would be a 
piece of cake to figure out.  Otherwise make a note of it.  Let the 
tango team know like discussed and send them a pre-version of the 
compiler so they can generate a unit test.

Seriously the Tango team is probably the most important library that 
everyone uses outside of D itself.

When we write unit tests at work.  Were not writing them for just 
ourselves, were writing them so that other users don't un-intentionally 
break our code.  When we break something, we can normally figure it out 
by doing a dif on our own changes.

-Joel


More information about the Digitalmars-d-announce mailing list