Subject: Re: [boost] Tests are a mess
From: Robert Ramey (ramey_at_[hidden])
Date: 2008-09-11 13:46:31
Peter Bartlett wrote:
> Quoting Robert Ramey <ramey_at_[hidden]>:
>> Pete Bartlett wrote:
>>> Robert Ramey wrote:
>>>> [..] But don't go foisting on me a whole new layer of work [...]
>>> Sadly, by introducing boost::serialization::throw_exception, you
>>> have foisted work on me and other users of your library. Now we
>>> have to implement
>>> boost::serialization::throw_exception instead of just having one
>>> boost::throw_exception. This is exactly the kind of breakage you've
>>> been so strongly opposed to.
>> You're blaming the victim here. This problem isn't caused by me,
> You've begged the question there. What is the specific, concrete,
> problem ?
This specific concrete problems is that by replacing the functionality
of a simple, well defined, understandable component with a very
complex and elaborate one designed to address some other purpose
now requires that one undertake a lot of new effort to verify what the
new thing does, if it conflicts with the original reasons for selecting
the component in the first place. All this takes a lot of time which
I don't have. (We'll leave aside that apparently it depends on
builds of other libraries for testing - which creates even more work).
I raise this concern when the problems first came up and these
concerns where dismissed. The author fail to see my concerns
and legitimate and so no problem with behavior. So, even if I
invested the effort to deal with this now, there was no guarentee
that I wouldn't have to come back to it. I can't spend time on this
kind of stuff and continue to be productive. I'm sorry this is created
a problem for you as well.
This question has been raised why I put it into
instead just using boost::throw_exception for the for user override. This
is the decision which I believe is causing your grief. First of all,
it's not clear to me anymore what boost::throw_exception should
do - its not obvious that its equivalent to the old boost::throw_exception.
But the truth is I didn't think about it. Last year I got a huge amount
of grief for some things I had in the boot namespace and agreed to
move them in to the serialzation directory and namespace. An example
was BOOST_STATIC_WARNING and a couple of others. It
just so happened that I was moving this stuff out of the boost
namespace to the serialization namespace and it was convenient
to do the same with throw_exception at the same time.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk