On Fri, May 30, 2014 at 2:14 PM, Peter Dimov
For these reasons, manual specification of dependencies can be reliable only if these specifications are tested as part of the regression tests. That is, if the tests for module X operate in an environment in which only the stated (and transitive) dependencies of X are present.
Yes! The regression tests should definitely use the specification to build/test the library. This might make the full regression run take longer (if there are libs that have dependencies on non-header-only libs, they will end up getting built more than once). On the other hand, once the regression tests get setup to test modular libraries, we can break up the monolitic regression runs into much more manageable pieces (each library + dependencies)...each of which will run much faster than the whole. This will allow us to get to a more CI like regression setup where we can test libs as changes are applied. Right now most of the libraries don't get changed but maybe once a month, but they all get built/tested with each regression run. This causes the regression runs to take > 8hrs on some toolsets. This means that (on runners with multiple toolsets, like teeks99-02, 03, 05) we can go many days before a new change gets tested for a specific toolset. Tom