Boost logo

Boost :

Subject: Re: [boost] [xint] Third release is ready, requesting preliminary review
From: Jürgen Hunold (juergen.hunold_at_[hidden])
Date: 2010-05-04 05:51:21


Hi Chad,

Am Dienstag, 4. Mai 2010, um 01:26:42 schrieben Sie:
> On 05/03/2010 08:37 AM, Juergen Hunold wrote:
> > Well, I'm concentrating on Boost.Build issues. The rest looks nice.
> > Please find some improvements to you current setup attached. [...]
>
> I'm confused... I thought you'd done something different.

It seems I should submit smaller pachtes, my fault.

> Why did you
> split up the test program into multiple programs? What benefit does that
> offer over a single executable?

Well, as long as you run the tests locally, this might be better. But as soon
as your lib is part of the regular regression tests, you have to deal with
*lots* of possible errors. This could be:
- timeout on slow machines due to too long execution time
- compile and/or link errors

And it make things easiser if you only have on "red" entry in the summary page
and can just see which test file to look at.
And smaller test cases are just current Boost standard.

And I think the patch

+#ifdef BOOST_XINT_SINGLE_TEST_PROGRAM
+ #define BOOST_TEST_DYN_LINK
+#else
+ #define BOOST_TEST_MAIN
+#endif

is wrong. BOOST_TEST_DYN_LINK should always be defined on the command line when
linking against a shared Boost.Test library. So, no source code #define is
necessary. The code above breaks when doing "bjam link=static" with
"in function main:/rmc/hunold/packages/boost/boost/test/unit_test.hpp:59:
error: undefined reference to 'boost::unit_test::unit_test_main(bool (*)(),
int, char**)'" because Boost.Test expects "main" to be linked into the static
library.
And this issues
"
test_main.cpp:95:1: warning: "BOOST_TEST_DYN_LINK" redefined
<command-line>: warning: this is the location of the previous definition"

when compiling a shared library with all Boost.Build magic enabled.

By the way:
You have deleted test/Jamroot. Should there be a "test/Jamfile" instead ?

build/Jamfile.v2 still contains "nothrow_random.cpp" which was deleted in 61752
as well.

And I think you may also check in files for other build systems, too.
Some libraries have Makefiles as well as visual studio solutions.

Yours,

Jürgen

-- 
* Dipl.-Math. Jürgen Hunold  ! 
* voice: ++49 4257 300       ! Fährstraße 1
* fax  : ++49 4257 300       ! 31609 Balge/Sebbenhausen
* juergen.hunold_at_[hidden]      ! 
-- 
* Dipl.-Math. Jürgen Hunold       ! Ingenieurgesellschaft für 
* voice: ++49 511 262926 57       ! Verkehrs- und Eisenbahnwesen mbH  
* fax  : ++49 511 262926 99       ! Lister Straße 15
* juergen.hunold_at_[hidden]        ! www.ivembh.de
* 
* Geschäftsführer:                ! Sitz des Unternehmens: Hannover
* Prof. Dr.-Ing. Thomas Siefer    ! Amtsgericht Hannover, HRB 56965
* PD Dr.-Ing. Alfons Radtke       !

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