On Wed, Jun 3, 2015 at 3:46 PM, Robert Ramey
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