Boost logo

Boost :

From: Gennadiy Rozental (gennadiy.rozental_at_[hidden])
Date: 2006-01-31 17:11:08


> Boost Test is used by ALL libraries in boost
> to test themselves. For it to be an effective
> in this role, it must be usable with any compiler
> that is supported by any library. This is not
> a suggestion or normative statement. Its just a
> recognition of the fact that it can't do the job it
> has been doing if it doesn't support older compilers.

This is not exactly true. IMO. Boost.Test need to support only those
compilers we are running regression tests on. If library author or any other
interested party want to employ old compiler they will have to use older
version of Boost.Test.

> So Boost Test should be structured so that it doesn't
> break old tests.

Boost.Test doesn't break old tests on supported compilers (IOW those we are
running regression tests on). Lets say library author want to support Sunpro
4.2. Does it mean Boost.Test have to comply. The fact that MSVC *was* used
for regression testing sometime before shouldn't make any difference IMO.

> A couple of random observations re boost test.
>
> I
> appreciate that the author of Boost Test thinks its
> a pain in the rear to address the "old compilers" but
> he is too modest in appreciation of his own work and
> I'm sure that if knew how important it really has been
> and he would just say "$%%&%&*" OK and
> accept his lot and keep it widely compatible.

Actually it's not that difficult to support older compilers (not counting
new features), but I believe in a long term we need to have a procedure to
stop doing that for the sake of code base health.

> An and another thing. It damn annoying to find that
> all my tests suddenly fail on msvc because of a change
> in the test system. Oh I'm sure it was announced somewhere
> and I don't care - its annoying none the less. Now what
> am I to do? Stop supporting msvc? Shouldn't that be my
> decision? Re write my tests to not use boost test? I don't
> want to do that!

Actually I believed it was kind of agreed upon: 1.34 doesn't support MSVC
anymore. Is there any particular reason you want to hold on to this
compiler?

> Finally, I managed to get the serialization libraries test
> to work with comeau by commenting out some of boost test.
>
> unit_test_parameters.ipp
>
> // const_string rs_str = retrieve_framework_parameter( RANDOM_SEED,
> argc, argv );
> // s_random_seed = rs_str.is_empty() ? 0 : lexical_cast<unsigned
> int>( rs_str );
>
> This apparently instantiates some basic_stream template that the
> serialiation library
> also instantiates. The comeau 4.3.3 prelinker complains about this -
> which
> I don't thnk it should - and build of serialization library fails.

You meant build of unit test, right?

> Commenting this
> out permits the serialization libary to be tested with comeau.

There should be another way. I do not have an access to this compiler. Maybe
you could rewrite with statement somehow?

Gennadiy


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk