-
Nat Goodspeed authored
Encapsulate increasingly sophisticated boilerplate around running library unit tests, which we'd been manually synchronizing for three platforms, in a new run_tests shell function. Some Boost libraries have multiple libs/$library/test subdirectories with Jamfiles. On encountering those, we used to emit a warning and skip them entirely. I was shocked to see that warning for several different libraries in a local build: I'd had no idea we weren't running those tests. Rework run_tests logic to loop over every libs/$library/test subdirectory with a Jamfile. In fact, rework test logic to generate the list of test subdirectories *first*, piping them to the run_tests script, which reads from its stdin. This allows the calling logic to use grep -v to eliminate specific problem test subdirectories, a finer granularity than skipping all tests for that library. (It also allows temporary local edits to engage run_tests for some specific test subdirectory while iterating on a failure.) Eliminate suppress_tests shell function: we now have a more straightforward way of bypassing certain specific libraries or tests within libraries. Introduce sep shell function to produce a separator line within build log output to help find particular passages. Replace deprecated Boost.Coroutine with Boost.Coroutine2.
f0986966