This is the mail archive of the libstdc++@sourceware.cygnus.com mailing list for the libstdc++ project.


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

Re: iso646 fixes


[forwarded by request from Benjamin]

Nathan wrote:
> Did you miss
> 
>   http://sourceware.cygnus.com/ml/libstdc++/2000-q2/msg00421.html
> 
> or reject it?

Sorry nathan. I saw it, busy busy busy.

>As it was, failure didn't report anything unless ASSERT was turned on.
>Is that desired behavior?  Why return the results of individual tests,
>then? 

The reality is this: 
Most of the newer tests don't actually return anything. Some do, some 
don't. It's not especially consistent. 

It might be nice to make all the testcases consistent. 

Here was my rationale, back in the dark ages, for this DEBUG_ASSERT stuff:
SOme of the time, I actually don't care about if the test cases fail or 
not, I just want compile/link coverage. Ie, I want to be able to run 
these testcases and just see if headers are found, libraries have proper 
symbols, etc. etc etc. At the time, this was pretty important. IT's less 
so now, especially since the mkcheck script  is more 
sophisticated now, and I can tell when things link, but fail on execute)

Other times, I want to die of assert poisoning in individual enclosing 
tests (ie test01, not main) if the actual exectution is not correct. This 
helps narrow things down for debugging.

So, probably the best thing to do is:

1) DEBUG_ASSERT at the end of individual test cases (ie test01)
2) return true/false from individual test cases
3) return AND'd composite return values, without DEBUG_ASSERT, from main.

(this is what your patch does, if I remember correctly. it might be nice 
to clean up all the bits though)

-benjamin

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