|
Boost Testing : |
From: Daniel James (daniel_james_at_[hidden])
Date: 2007-02-25 10:50:58
On Thu, 22 Feb 2007 18:13:58 -0000, Eric Niebler
<eric_at_[hidden]> wrote:
> There are two testers running with intel-linux-9.0. The foreach tests
> pass on one, and fail on the other. How is that possible? If these are
> different compilers, their toolsets should have different names. As it
> is, I don't even know how to mark up this failure.
It's the version of gcc they're using with intel linux. The test passes
for gcc-3.3, fails for gcc-3.4, gcc-4.0 and gcc-4.1. So the names could be
changed to something like intel-linux-9.0-gcc-3.3 and
intel-linux-9.0-gcc-3.4. You can see the version details in
http://tinyurl.com/2a45wj and http://tinyurl.com/323fb6
I tried adding some output to the test:
int test_main( int, char*[] )
{
int counter = 0;
BOOST_FOREACH(int i, get_vector())
{
std::cout<<i<<"\n";
counter += i;
}
std::cout<<"Total: "<<counter<<"\n";
BOOST_CHECK(16 == counter);
return 0;
}
And got the following:
Intel 9.0, using gcc-3.3:
$ /opt/intel/cc/9.0/bin/icpc -I ../../.. rvalue_const.cpp -gcc-version=330
$ ./a.out
4
4
4
4
Total: 16
**** no errors detected
Intel 9.0, using gcc-3.3, intel libs:
$ /opt/intel/cc/9.0/bin/icpc -I ../../.. rvalue_const.cpp -gcc-version=330
-cxxlib-icc
$ ./a.out
4
4
4
4
Total: 16
**** no errors detected
Intel 9.0, using gcc-3.4:
$ /opt/intel/cc/9.0/bin/icpc -I ../../.. rvalue_const.cpp -gcc-version=340
$ ./a.out
0
4
4
4
Total: 12
rvalue_const.cpp(40): test 16 == counter failed in function: 'int
test_main(int, char **)'
**** 1 error detected
Intel 9.0, using gcc-3.4, intel libs:
$ /opt/intel/cc/9.0/bin/icpc -I ../../.. rvalue_const.cpp -gcc-version=340
-cxxlib-icc
$ ./a.out
Total: 0
rvalue_const.cpp(40): test 16 == counter failed in function: 'int
test_main(int, char **)'
**** 1 error detected