|
Boost Testing : |
From: Reece Dunn (msclrhd_at_[hidden])
Date: 2005-09-18 01:37:12
Victor A. Wagner Jr. wrote:
> I updated to the new (availabe as of 12 Sep) release candidate of
> VS2005 (vc-8_0) on Friday night.
> Since the boost regression tests do NOT recognize a change in the
> compiler as a requirement for compiling, I deleted all of the .exe
> and .obj files in the results directory. I seem to still be the only
> one returning results for foreach, and one of the few for typeof (I
> have no idea why)
>
> I'm going to delete all the .obj .lib .dll, etc from boost itself
> before the next run as I realize that much of boost has not been
> built with the latest compiler
>
> shouldn't a build system notice when the compiler has changed by itself?
How do you detect this? What you are suggesting *would* be nice, but I
don't see an easy way to do this, for the simple reason that you would
need to check all of the files in the compiler directory and add those
timestamps to all the files that were built...
That said, there are ways to make your life easier. The build system
allows you to pass in -a to do a rebuild. So, you could do:
bjam -a release msvc-8.0
to force a rebuild. I know that with the regression tests, they are
calling bjam from a Python script. Does this allow you to do a rebuild
by passing -a to bjam? Or even a clean?
When BB moves over to Python (what is the status of this, btw? work on
this appears to have halted), the regression engine could be hooked into it.
In user-config.jam, you would normally do something like:
using msvc : 8.0 ;
but there is nothing stopping you doing:
using msvc : 8.0.beta2 : ".../cl.exe" ;
using msvc : 8.0.rc1 : ".../cl.exe" ;
(NOTE: You *need* to specify the path to cl.exe in this case because BB
does not recognise the ".beta2" bit.)
- Reece