
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of David Abrahams
(BTW, building Boost is not an effective test of whether the pp-lib works. The libraries that need building don't use even close to all of the library, so it isn't an adequate test. You should at least include the header-only libraries.)
Wouldn't running all the Boost tests, making the change, running them again, and looking for differences do a pretty good job of it?
In some ways, yes. Running the pp-lib regressions alone is insufficient--because I can't test all possible combinations on VC++. Running the entire set of Boost tests makes it alot more likely to pick up a flaw. Every once in a while, a user has a problem with some combination of primitives (such as STRINGIZE + SEQ_ENUM), which basically amounts to a place where I haven't eliminated or accounted for the build up in time (i.e. before the structural result is needed), so then I have to figure out a way to do that. So, the regression tests may pass, and that is an indication of usability, but it is not an indication of complete stability (on VC++ and Metrowerks < 9). The bugs in other preprocessors (even the significant ones) have a local effect--i.e. if you do XYZ, it will always work or always fail. So, running all of the regression test might flush out a "combinatorial" failure related to this change (i.e. substituting one workaround for another in STRINGIZE), and it might not, it may also be that the alternate workaround happens to work just as well as the previous one. Regards, Paul Mensonides