|
Boost : |
From: John Maddock (john_maddock_at_[hidden])
Date: 2002-03-23 07:03:44
Dave,
I have some comments on the new status makefile/regression tests for you.
1) I like the regression test code in status/Jamfile - is there any chance
of making this generally available as part of the boost build system - it
looks like the sort of thing that can be usefully reused.
2) I don't think that the tests in status/Jamfile should be included by
default from the top level Jamfile - for one thing if a user just wants to
build the boost libraries, they may not want to stick around while hundreds
of test cases build (something that can take some time), for another the
current status/Jamfile implementation results in quite a number of compiler
errors scrolling past the screen (see below).
3) The current implementation of the link-fail and compile-fail tests
results in a number of "failure" messages scrolling past the screen - the
link-fail test is the worst, but compile-fail isn't too good either. The
problem is that although these tests succeed, they none the less indicate
one or more failures occurred, for example the output from
static_assert_test_8 is shown below (this is a successful test but you
wouldn't necessarily know that from the output!):
...found 24 targets...
...found 46 targets...
...updating 7 targets...
MkDir1 ../status/bin/static_assert_test_fail_8.test
MkDir1 ../status/bin/static_assert_test_fail_8.test/gcc
MkDir1 ../status/bin/static_assert_test_fail_8.test/gcc/debug
MkDir1
../status/bin/static_assert_test_fail_8.test/gcc/debug/runtime-link-dynamic
gcc-C++-action
../status/bin/static_assert_test_fail_8.test/gcc/debug/runtime-link-dynamic/
static_assert_test_fail_8.o
/home/jm/boost/libs/static_assert/static_assert_test_fail_8.cpp: In function
`RandomAccessIterator foo(RandomAccessIterator, RandomAccessIterator)
[with
RandomAccessIterator = std::_List_iterator<int, int&, int*>]':
/home/jm/boost/libs/static_assert/static_assert_test_fail_8.cpp:32:
instantiated from here
/home/jm/boost/libs/static_assert/static_assert_test_fail_8.cpp:21: `sizeof'
applied to incomplete type `boost::STATIC_ASSERTION_FAILURE<false>'
g++ -c -Wall -ftemplate-depth-100 -g -O0 -fno-inline -I"../status" -I".
" -I"/home/jm/boost" -o
"../status/bin/static_assert_test_fail_8.test/gcc/debug/runtime-link-dynamic
/static_assert_test_fail_8.o"
"/home/jm/boost/libs/static_assert/static_assert_test_fail_8.cpp"
...failed gcc-C++-action
../status/bin/static_assert_test_fail_8.test/gcc/debug/runtime-link-dynamic/
static_assert_test_fail_8.o ...
...skipped
<status/static_assert_test_fail_8.test/gcc/debug/runtime-link-dynamic>static
_assert_test_fail_8 for lack of
<status/static_assert_test_fail_8.test/gcc/debug/runtime-link-dynamic>static
_assert_test_fail_8.o...
failed-test-file
../status/bin/static_assert_test_fail_8.test/gcc/debug/runtime-link-dynamic/
static_assert_test_fail_8.test
...failed updating 1 target...
...skipped 1 target...
...updated 5 targets...
John Maddock
http://ourworld.compuserve.com/homepages/john_maddock/index.htm
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk