On 1/19/2015 11:14 AM, Robert Ramey wrote:
Andrey Semashev-2 wrote
AFAIK, there is no formal property of a toolset that would differentiate testers between C++ versions. You basically rely on toolset names.
When I run tests on my local system with gcc or clang I use the compile time switch -std=c++03 or -std=c++11 on my bjam command line which gets passed on to the gcc/clang command line. I started doing this when it occurred to me that I didn't no which version of C++ my library was being tested with. I still don't know what happens if you include no such switch at all.
Many testers are including this information on the test properties page others are either not including the information or are not specifying in which case it's a mystery what version of the compiler is being used.
In my test programs - I use boost config macros to detect and run/not run those parts of the test programs which are relevant to this or that compiler version.
I would like a method to condition an entire test program on the value of a boost config macro. I realize that this is a pain and god forbid I have to make my bjam script even more complex than it is or have to remember some more boost build syntax/rules. So far I've been able to avoid needing this.
Did you not see a previous post from John Maddock explaining how to use a "requires" rule invocation so that you can run a test depending on config macro features ? Does that do what you want ?