$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Vladimir Prus (ghost_at_[hidden])
Date: 2006-02-01 10:38:55
Hello!
The current CVS version of the TR1 library has two tests named "test_complex", 
as the following output demonstrates:
   $ bjam tr1_has_tr1_array_fail -n --dump-tests | grep test_complex
   boost-test(COMPILE) "tr1/test_complex" : "libs/tr1/test/test_complex.cpp"
   boost-test(COMPILE) "tr1/std_test_complex" :   
       "libs/tr1/test/test_complex.cpp"
   boost-test(COMPILE) "tr1/test_complex" : "libs/tr1/test/test_complex.cpp"
There are three tests reportedly using "test_complex.cpp", and two tests named 
"tr1/test_complex".
However, regression results at:
     
http://engineering.meta-comm.com/boost-regression/CVS-HEAD/developer/tr1.html
mention only one test named "test_complex". Further, the first "test_complex" 
comes from this loop in Jamfile:
 for local file in [ GLOB $(BOOST_ROOT)/libs/tr1/test : test*.cpp ]
   {
      all_rules += [ compile $(file)
         : <include>$(BOOST_ROOT) ] ;
and the second "test_complex" comes from this loop:
  for local file5 in [ GLOB $(BOOST_ROOT)/libs/tr1/test/std_headers : *.cpp ]
   {
      all_rules += [ compile $(file5) 
Note that the output of --dump-tests reports wrong name for the second 
"test_complex" -- libs/tr1/test/test_complex.cpp instead of 
libs/tr1/test/std_headers/test_complex.cpp
I looks like there are two issues in regression system:
1. --dump-tests reports wrong file name
2. The reporting tools don't handle two tests with the same name.
Finally, when using Boost.Build V2, instead of above silent issues I get loud 
complaint right away.
So, maybe it's a good idea to add explicit suffix to tests, for example using 
the following patch:
--- Jamfile     12 Dec 2005 18:05:26 -0000      1.10
+++ Jamfile     1 Feb 2006 15:38:17 -0000
@@ -84,7 +84,7 @@
          <borland-5_5_1><*><include>$(BOOST_ROOT)/boost/tr1/tr1/bcc32
          <borland><*><include>$(BOOST_ROOT)/boost/tr1/tr1/bcc32
          <include>$(BOOST_ROOT)
-         <define>TEST_STD=1 ] ;
+         <define>TEST_STD=1 : $(file5:B)_header ] ;
    }
Thanks,
Volodya