|
Boost : |
Subject: Re: [boost] What would make tool authors happier..
From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2015-06-03 17:21:36
On Wed, Jun 3, 2015 at 3:46 PM, Robert Ramey <ramey_at_[hidden]> wrote:
> I frankly don't understand why this is so hard.
>
> Shouldn't the build/test of all of boost just be the sequence of buid/test
> of each library?
>
> In a short time I following proof of concept:
>
[cut]
> Then I can run all the library build/tests with:
> . build.sh
>
> then
>
> cd libs
> walk_subdirectories test 'echo b2 ...'
> cd ..
>
> Or if I want to create test tables for all the libraries I can use
>
> cd libs
> walk_subdirectories test 'echo library_status ...'
> cd ..
>
> Of if I want to invoke the build test for the libraries which support
> CMake I can
>
> cd libs
> walk_subdirectories CMake 'echo b2 ...'
> cd ..
>
> Of course to build all the tools I'd just move to another dirctory.
>
> etc.
>
> Note that this already handles the multi-level libraries. Also I realize
> that it fails to include boost test because of a naming conflict so let's
> not start spitballing this on this basis. Also note that is this trivial
> to debug and fix by anyone if something fails. The same can't be said for
> other boost tools.
>
> I realize that one might not want to use shell scripts - though they work
> pretty well here. If you're building this with C++ or bjam or whatever, it
> shouldn't be that much more complicated than this. I can't help but
> believe that all our build/test/release stuff is over engineered.
No matter how bright anyone is an automated approach, as above, can't
account for human nature. In particular your approach..
First misses the following test directories (ones that are currently listed
for testing): libs/concept_check, libs/container/example,
libs/core/test/swap, libs/disjoint_sets, libs/dynamic_bitset,
libs/hash/test/extra, libs/interprocess/example, libs/move/example,
libs/regex/example, libs/static_assert, libs/unordered/test/unordered,
libs/unordered/test/exception, libs/wave/test/build.
Second it adds the following not to be tested (maybe.. as we don't really
know the intent of the authors) directories: libs/chrono/stopwatches/test,
libs/compute/test (this looks like a true missing tested lib but I can't be
sure without asking the compute author), libs/config/test/link/test,
libs/filesystem/example/test, libs/functional/hash/test (I'm shacking my
fist towards the functional authors!), libs/gil/io/test,
libs/gil/numeric/test, libs/gil/toolbox/test.
And oh how painful it was to visually have to compare two large lists of
test dirs to discover manually that information!
-- -- Rene Rivera -- Grafik - Don't Assume Anything -- Robot Dreams - http://robot-dreams.net -- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk